PackageTrack
Sign in Get early access

oxc-miette-derive

Derive macros for miette. Like `thiserror` for Diagnostics.

3.0.1 5.3M downloads/mo #4407 most downloaded on crates.io oxc-project/oxc-miette

What this package is like to depend on

Last release 1 months ago

19 Jul 2026

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 15 of 16 stable releases

Nothing withdrawn

no release was ever pulled

2 years old

16 releases · first in 2024

7 releases in the last 12 months

see the full history below

Release timeline

16 releases · Oct 2024 to Jul 2026
2025 2026
Release Pre-release

Releases

latest 16
  1. 3.0.1 19 Jul 2026
    Release notes

    Performance

    • Reuse span contents in render_context instead of re-reading (#212)
    • Speed up read_span with bulk memchr line scanning (#211)

    Documentation

    • Normalize README sponsor section (#204)
    • Update sponsor section (#213)

    Refactor

    • Move long std/core paths to top-level imports (#196)

    Chore

    • Bump cargo-shear to 1.13.1 (#200)
    • Configure clippy exported api lint (#203)
    • Standardize rustfmt config (#205)
    • (deps) Update dependency rust to v1.96.1 (#207)
    • (deps) Update oxc-project/security-action action to v1.0.8 (#201)
    • (deps) Update rust crates (#199)
    • (deps) Update rust crates (#209)
    • (deps) Update rust to v1.97.0 (#210)
    • (deps) Update dependency rust to v1.97.1 (#208)

    CI

    • Use latest rust toolchain, drop stale 1.70.0 matrix (#198)
    • Add crates environment to release workflow
    Open source →
  2. 3.0.0 08 Jun 2026
    Release notes

    Performance

    • [breaking] Store source spans as u32 to shrink LabeledSpan (#180)
    • Store diagnostic labels inline to avoid allocations (#182)
    • Return Cow<str> from code/help/note/url instead of boxing (#183)
    • Return concrete MietteSpanContents from SourceCode::read_span (#184)
    • Return inline Related from Diagnostic::related (#185)
    • Avoid allocating a styled label just to test its presence (#186)
    • Write styled gutter/underline glyphs directly instead of allocating (#187)
    • Avoid an intermediate String when building FancySpan labels (#188)
    • Borrow name/language in MietteSpanContents instead of cloning (#190)
    • Style FancySpan label parts once at construction (#191)
    • Revert LabeledSpan.label to String to avoid a realloc per label (#192)
    • Borrow source lines in the renderer instead of allocating a String each (#193)
    • Avoid cloning LabeledSpans when building snippet contexts (#194)

    Refactor

    • Import Cow at the top instead of fully-qualifying inline (#195)

    Chore

    • (deps) Update github-actions (#164)
    • (deps) Update rust crates (#165)
    • (deps) Update taiki-e/install-action action to v2.75.7 (#166)
    • (deps) Update dependency rust to v1.95.0 (#168)
    • (deps) Update github-actions (#170)
    • (deps) Update oxc-project/security-action action to v1.0.2 (#171)
    • (deps) Update oxc-project/security-action action to v1.0.3 (#172)
    • (deps) Update oxc-project/security-action action to v1.0.5 (#173)
    • Use ubuntu-latest for security workflow (#175)
    • (deps) Update actions/create-github-app-token action to v3.2.0 (#176)
    • (deps) Update rust crate serde_json to v1.0.150 (#177)
    • (deps) Update dependency rust to v1.96.0 (#178)
    • (deps) Update github actions (#179)
    • (deps) Update rust crates to v1.13.3 (#181)

    CI

    • Replace OXC_BOT_PAT with GitHub App tokens (#167)
    • Add security analysis workflow (#169)
    Open source →
  3. 2.7.1 30 Mar 2026
    Release notes

    Bug Fixes

    • Forward SourceCode::name through Arc and Cow (#162)

    Testing

    • Implement insta for snapshot testing (#138)

    Chore

    • (deps) Update taiki-e/install-action action to v2.65.13 (#128)
    • (deps) Update github-actions (#130)
    • (deps) Update rust crates (#131)
    • (deps) Update github-actions (#133)
    • (deps) Update rust crate thiserror to v2.0.18 (#134)
    • (deps) Update dependency rust to v1.93.0 (#135)
    • (deps) Update github-actions (#136)
    • (deps) Update rust crates to v1.0.106 (#137)
    • (deps) Update rust crates (#139)
    • (deps) Update github-actions (#140)
    • (deps) Update github-actions (#142)
    • (deps) Update rust crates (#143)
    • (deps) Update dependency rust to v1.93.1 (#144)
    • (deps) Update github-actions (#145)
    • (deps) Update rust crates (#146)
    • (deps) Update rust crate syn to v2.0.116 (#147)
    • (deps) Update github-actions (#148)
    • (deps) Update rust crate syn to v2.0.117 (#149)
    • (deps) Update rust crate owo-colors to v4.3.0 (#150)
    • (deps) Update github-actions (#151)
    • (deps) Update dependency rust to v1.94.0 (#152)
    • (deps) Update github-actions (#153)
    • (deps) Update rust crate quote to v1.0.45 (#154)
    • (deps) Update taiki-e/install-action action to v2.68.25 (#155)
    • (deps) Update github-actions (#156)
    • Apply cargo shear --fix (#157)
    • (deps) Update github-actions (#158)
    • (deps) Update dependency rust to v1.94.1 (#159)
    • (deps) Update github-actions (#160)
    • (deps) Update rust crates (#161)
    Open source →
  4. 2.7.0 04 Jan 2026
    Release notes

    Features

    • Support notes for diagnostics (#124)

    Chore

    • (deps) Update dependency rust to v1.91.0 (#104)
    • (deps) Update github-actions (#106)
    • (deps) Lock file maintenance rust crates (#107)
    • (deps) Update taiki-e/install-action action to v2.62.49 (#109)
    • (deps) Lock file maintenance (#110)
    • (deps) Update dependency rust to v1.91.1 (#111)
    • (deps) Update github-actions (#112)
    • (deps) Update rust crate syn to v2.0.110 (#108)
    • (deps) Update github-actions (#113)
    • (deps) Update rust crate syn to v2.0.111 (#114)
    • (deps) Update actions/checkout action to v6 (#115)
    • (deps) Update github-actions (#116)
    • (deps) Update github-actions (#117)
    • (deps) Update dependency rust to v1.92.0 (#118)
    • (deps) Update github-actions (#119)
    • (deps) Update github-actions (#120)
    • (deps) Update rust crate supports-hyperlinks to v3.2.0 (#121)
    • (deps) Update github-actions (#122)
    • (deps) Update rust crates (#123)
    • (deps) Update rust crate syn to v2.0.113 (#126)
    • (deps) Update taiki-e/install-action action to v2.65.12 (#127)
    Open source →
  5. 2.6.0 30 Oct 2025
    Release notes

    Features

    • Expose name method on SourceCode for getting the file name (#103)

    Chore

    • (deps) Update github-actions (#93)
    • (deps) Update github/codeql-action action to v4 (#96)
    • (deps) Lock file maintenance rust crates (#97)
    • (deps) Update taiki-e/install-action action to v2.62.28 (#95)
    • (deps) Update github-actions (#99)
    • (deps) Lock file maintenance rust crates (#100)
    • (deps) Update github-actions (#101)
    • (deps) Lock file maintenance rust crates (#102)
    Open source →
  6. 2.5.1 29 Sep 2025
    Release notes

    Chore

    • (deps) Update github-actions (#88)
    • (deps) Update dependency rust to v1.90.0 (#87)
    • (deps) Update taiki-e/install-action action to v2.62.0 (#90)
    • (deps) Lock file maintenance rust crates (#91)
    • (deps) Update github-actions (#92)
    Open source →
  7. 2.5.0 16 Sep 2025
    Release notes

    Features

    • Correctly calculate emoji sequences width (#85)

    Chore

    • (deps) Update taiki-e/install-action action to v2.57.5 (#67)
    • (deps) Update dependency rust to v1.89.0 (#69)
    • (deps) Lock file maintenance rust crates (#71)
    • (deps) Update github-actions (#70)
    • (deps) Lock file maintenance rust crates (#72)
    • (deps) Lock file maintenance rust crates (#75)
    • (deps) Update github-actions (#73)
    • (deps) Update actions/checkout action to v5 (#74)
    • (deps) Lock file maintenance rust crates (#77)
    • (deps) Update github-actions (#76)
    • (deps) Update taiki-e/install-action action to v2.58.29 (#78)
    • (deps) Update github-actions (#79)
    • (deps) Lock file maintenance (#80)
    • (deps) Update github-actions (#82)
    • (deps) Lock file maintenance rust crates (#83)
    • (deps) Lock file maintenance rust crates (#84)

    CI

    • Update

    <!-- generated by git-cliff -->

    Open source →
  8. 2.4.0 30 Jul 2025
    Release notes

    Features

    • Add mut LabelSpan.set_span_offset (#62)

    <!-- generated by git-cliff -->

    Open source →
  9. 2.3.2 28 Jul 2025
    Release notes

    Chore

    • (deps) Update github-actions (#52)
    • (deps) Update github-actions (#54)
    • (deps) Lock file maintenance rust crates (#56)
    • (deps) Update taiki-e/install-action action to v2.56.13 (#55)
    • (deps) Lock file maintenance rust crates (#59)
    • (deps) Update github-actions (#58)
    • (deps) Lock file maintenance (#61)
    • (deps) Update github-actions (#60)

    CI

    • (release) Enable trusted publishing

    <!-- generated by git-cliff --> The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

    Open source →
  10. 2.3.1 27 Jun 2025
    Release notes

    <!-- 7 -->Chore

    • (deps) update dependency rust to v1.88.0 (#51)
    • (deps) update github-actions (#49)
    • (deps) lock file maintenance rust crates (#50)
    • (deps) update github-actions (#47)
    • (deps) lock file maintenance rust crates (#48)
    • (deps) update github-actions (#44)
    • (deps) lock file maintenance rust crates (#45)
    • (deps) update taiki-e/install-action action to v2.52.4 (#43)
    Open source →
  11. 2.3.0 26 May 2025
    Release notes

    <!-- 0 -->Features

    • (formatter) output lint/col in json formatter (#42)

    <!-- 7 -->Chore

    • (release-plz) group version
    • (deps) update taiki-e/install-action action to v2.52.1 (#40)
    • (deps) lock file maintenance rust crates (#41)
    • (deps) update github-actions (#38)
    • (deps) lock file maintenance rust crates (#39)
    • (deps) update dependency rust to v1.87.0 (#37)
    • (deps) lock file maintenance rust crates (#36)
    • (deps) update github-actions (#34)
    • (deps) lock file maintenance rust crates (#35)
    • (deps) update github-actions (#33)
    • (deps) lock file maintenance rust crates (#32)
    • (deps) update github-actions (#31)
    • (deps) update github-actions (#30)
    • (deps) update github-actions (#28)
    • (deps) lock file maintenance (#29)
    • (deps) update dependency rust to v1.86.0 (#27)
    • (deps) update github-actions (#26)
    • (deps) update github-actions (#24)
    • (deps) lock file maintenance (#25)
    • (deps) update dependency rust to v1.85.1 (#22)

    <!-- 8 -->CI

    • fix permissions
    • add zizmor
    Open source →
  12. 2.1.2 14 Mar 2025
    Release notes

    So it turns out I forgot to make snippets and other stuff forward through when you use .context() &co. This should be fixed now 😅

    Bug Fixes

    • context: pass on diagnostic metadata when wrapping with Report (e4fdac38)

    <a name="2.1.1"></a>

    Open source →
  13. 2.1.1 14 Mar 2025
    Release notes

    This is a small, but visually-noticeable bug fix. I spent some time playing with colors and styling and made some fixes that will improve where people's eyes are drawn to, and also take into account color visibility issues a bit more.

    Bug Fixes

    • report: don't color error message text to draw eyes back to it (6422f821)
    • reporter: improve color situation and style things a little nicer (533ff5f3)

    <a name="2.1.0"></a>

    Open source →
  14. 1.0.2 03 Nov 2024

    Nothing published for this version

  15. 1.0.1 27 Oct 2024
    Release notes

    This is a (literally) small release. I noticed that the crate's size had increased significantly before I realized cargo was including the images/ folder. This is not needed, as these images are just hosted on GitHub.

    miette should be smaller now, I hope :)

    Bug Fixes

    • crate: reduce crate size by removing images (5f74da67)

    <a name="1.0.0"></a>

    Open source →
  16. 1.0.0 27 Oct 2024
    Release notes

    ...you know what? I'm just gonna tag 1.0.0, because I don't want sub-1.0 versions anymore, but the Cargo ecosystem buries pre-releases pretty thoroughly. Integers are cheap!

    So here we are! We made it to 1.0, and with some really nice goodies to boot.

    Most fun is the fact that the default printer now has clickabble url linking support. A new Diagnostic::url() method has been added to the protocol that, is used to figure out what URL to send folks to! This should work on most "modern" terminals, but more thorough support checking will be done in the future. And of course, the narrated reporter prints them out too.

    I also took the time to completely redo how messages, labels, and filenames are handled in the system, and this is a pretty big change you might run into. Godspeed!

    Last but not least, we got our first external contribution! Thank you to @martica for the bug fix!

    Anyway, here's to 1.0, and to many more after that. Enjoy! :)

    Breaking Changes

    • snippets: Overhauled how snippets handle labels, sources, and messages, including the derive macro (61283e9e

    Features

    • links: added URL linking support and automatic docs.rs link generation (7e76e2de)
    • theme: Add an initial rgb style with nicer colors (3546dcec) - @martica

    Bug Fixes

    • printer: clamp highlight length to at least 1 (#32) (9d601599)

    <a name="1.0.0-beta.1"></a>

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive