Skip to content

Releases: RAprogramm/masterror

v0.11.1

24 Sep 11:15

Choose a tag to compare

Documentation

  • Added a multi-page error-handling wiki (docs/wiki) with beginner-friendly
    walkthroughs, framework patterns, and comparisons against thiserror and
    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 to 0.11.1.
  • Expanded the crate-level documentation to cover #[app_error]/#[provide]
    usage and link to std::error::Request telemetry extraction.

v0.11.0

21 Sep 01:45
4927c94

Choose a tag to compare

Changed

  • Updated AppError::database to accept Option<Cow<'static, str>>, allowing
    bare None calls without type annotations, and added the helper
    AppError::database_with_message for the common message-bearing path.

Documentation

  • Refreshed the AppError::database docs 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

21 Sep 01:45

Choose a tag to compare

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

21 Sep 00:10
408c4ab

Choose a tag to compare

Fixed

  • Updated the release workflow to publish masterror-template before
    masterror-derive, ensuring crates.io recognises the shared dependency during
    release automation.

v0.10.7

21 Sep 00:10
0c5643b

Choose a tag to compare

Fixed

  • Published the shared template parser crate so masterror-derive no longer
    depends on a workspace-only package when uploaded to crates.io.

Documentation

  • Added a dedicated README for masterror-template describing 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 for ErrorResponse and 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-derive to 0.6.6 and masterror-template to 0.3.6 so
    downstream users rely on the newly published parser crate.

v0.10.6

21 Sep 00:10

Choose a tag to compare

Fixed

  • Added a crate-local README for masterror-derive so cargo publish passes
    when crates.io validates the readme manifest key.

Changed

  • Bumped masterror-derive to 0.6.2 to capture the packaging fix.

Documentation

  • Documented the derive macros and supported attributes in
    masterror-derive/README.md for crates.io readers.

v0.10.5

21 Sep 00:10

Choose a tag to compare

Added

  • Re-exported masterror-derive macros from masterror so consumers only depend on a single crate while deriving application errors.

Changed

  • Published masterror-derive as a standalone crate (0.6.1) and configured the release workflow to publish it before masterror with retries and tag/MSRV validation.

Documentation

  • Described #[provide] telemetry providers and #[app_error] conversions with
    end-to-end examples in the derive guide (README,
    README.ru).

v0.10.4

20 Sep 11:53

Choose a tag to compare

Fixed

  • Ensured cargo package --locked passes by switching workspace dependencies on
    masterror-derive / masterror-template to registry entries and overriding
    them locally through .cargo/config, keeping CI dry runs green without
    breaking local development.

v0.10.2

20 Sep 11:53

Choose a tag to compare

Added

  • Forward dynamic width and precision specifiers by emitting every declared
    format argument into the generated write! call, so placeholders like
    {value:>width$} and {value:.precision$} remain valid when deriving
    Display.

Changed

  • FormatArgumentsEnv now 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_arguments combine 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

20 Sep 11:52

Choose a tag to compare

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 spurious TemplateError::InvalidFormatter errors.

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.