Releases: RAprogramm/masterror
Releases · RAprogramm/masterror
v0.11.1
Documentation
- Added a multi-page error-handling wiki (
docs/wiki) with beginner-friendly
walkthroughs, framework patterns, and comparisons againstthiserrorand
anyhow. - Linked the wiki from the README template so crate consumers can discover it
directly on crates.io and docs.rs. - Highlighted the native derive macros, typed telemetry, browser logging, and
Turnkey taxonomy across the README template and regenerated README. - Refreshed the Russian README with the same capability summary and updated the
installation snippets to0.11.1. - Expanded the crate-level documentation to cover
#[app_error]/#[provide]
usage and link tostd::error::Requesttelemetry extraction.
v0.11.0
Changed
- Updated
AppError::databaseto acceptOption<Cow<'static, str>>, allowing
bareNonecalls without type annotations, and added the helper
AppError::database_with_messagefor the common message-bearing path.
Documentation
- Refreshed the
AppError::databasedocs to illustrate the new constructor
behavior and helper usage.
Tests
- Expanded database constructor tests to cover both the helper and bare
None
scenario.
v0.10.9
Fixed
- Tightened Turnkey rate-limit heuristics to require explicit phrases while
preserving stack-backed searches for short ASCII patterns, preventing matches
on unrelated words such as "corporate".
Tests
- Added regression coverage to ensure corporate network outages and operational
failure rates classify as network/service issues rather than rate limits.
Changed
- Raised the documented MSRV to Rust 1.90 to match the
rust-version
requirement.
Documentation
- Regenerated the README from the template so installation snippets reflect the
new crate version and MSRV statement.
v0.10.8
Fixed
- Updated the release workflow to publish
masterror-templatebefore
masterror-derive, ensuring crates.io recognises the shared dependency during
release automation.
v0.10.7
Fixed
- Published the shared template parser crate so
masterror-deriveno longer
depends on a workspace-only package when uploaded to crates.io.
Documentation
- Added a dedicated README for
masterror-templatedescribing installation,
parsing examples and formatter metadata for crates.io readers.
Tests
- Added regression coverage for long classifier needles to exercise the
heap-allocation fallback.
Changed
- Added an owning
From<AppError>conversion forErrorResponseand updated the
Axum adapter to use it, eliminating redundant clones when building HTTP error
bodies. - Precomputed lowercase Turnkey classifier needles with a stack-backed buffer
to remove repeated transformations while keeping the common zero-allocation
path for short patterns. - Bumped
masterror-deriveto0.6.6andmasterror-templateto0.3.6so
downstream users rely on the newly published parser crate.
v0.10.6
Fixed
- Added a crate-local README for
masterror-derivesocargo publishpasses
when crates.io validates thereadmemanifest key.
Changed
- Bumped
masterror-deriveto0.6.2to capture the packaging fix.
Documentation
- Documented the derive macros and supported attributes in
masterror-derive/README.mdfor crates.io readers.
v0.10.5
Added
- Re-exported
masterror-derivemacros frommasterrorso consumers only depend on a single crate while deriving application errors.
Changed
- Published
masterror-deriveas a standalone crate (0.6.1) and configured the release workflow to publish it beforemasterrorwith retries and tag/MSRV validation.
Documentation
v0.10.4
Fixed
- Ensured
cargo package --lockedpasses by switching workspace dependencies on
masterror-derive/masterror-templateto registry entries and overriding
them locally through.cargo/config, keeping CI dry runs green without
breaking local development.
v0.10.2
Added
- Forward dynamic width and precision specifiers by emitting every declared
format argument into the generatedwrite!call, so placeholders like
{value:>width$}and{value:.precision$}remain valid when deriving
Display.
Changed
FormatArgumentsEnvnow surfaces tokens for all named, positional and
implicit bindings—even when they are only referenced from format specs—so
width/precision values reach the formatting engine.render_template/build_template_argumentscombine the resolved
placeholders with the full format argument list, ensuring the macro invocation
always receives the required bindings.
Tests
- Added UI fixtures and integration assertions covering dynamic width and
precision formatting to guard against regressions.
Documentation
- Documented the dynamic width/precision support alongside the formatting
guidance (including the Russian translation).
v0.10.1
Changed
- Relaxed template formatter parsing so only typed formatters treat
#as the
alternate flag, allowing display placeholders such as{value:#>4}to round-
trip without spuriousTemplateError::InvalidFormattererrors.
Tests
- Extended formatter unit tests and UI derive coverage to exercise hash-filled
display specs and ensure they parse correctly.
Documentation
- Documented the broader display formatter support (including
#as a fill
character) in the templating README section.