NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1267 most downloaded on crates.io
Format diagnostic reports, including highlighting snippets of text
Last release 5 months ago
06 May 2026
Ships unpredictably
gaps range from 8 days to 9 months
Most releases are documented
notes for 33 of 42 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
42 releases · first in 2018
chore: Release annotate-snippets version 0.12.16
chore: Release annotate-snippets version 0.12.15
chore: Release annotate-snippets version 0.12.15
One column per quarter.
chore: Release annotate-snippets version 0.12.14
chore: Release annotate-snippets version 0.12.14
chore: Release annotate-snippets version 0.12.13
chore: Release annotate-snippets version 0.12.12
chore: Release annotate-snippets version 0.12.12
no_std support #365chore: Release annotate-snippets version 0.12.11
chore: Release annotate-snippets version 0.12.11
chore: Release annotate-snippets version 0.12.10
chore: Release annotate-snippets version 0.12.10
chore: Release annotate-snippets version 0.12.9
chore: Release annotate-snippets version 0.12.9
chore: Release annotate-snippets version 0.12.8
chore: Release annotate-snippets version 0.12.8
chore: Release annotate-snippets version 0.12.7
chore: Release annotate-snippets version 0.12.7
Upgraded unicode-width to 0.2.2 #326
Highlight the correct span for duplicated diff lines #318
Removed implicit padding with report starting with secondary title #310
Add Title::element for less boilerplate
Title::element for less boilerplaterenderer::DEFAULT_*_STYLE to expose default stylesRenderer::<style> methodsDuplicate multi-line annotations get treated like the are distinct #293
0 to Snippet::line_start #294Correctly calculate line number width when feature simd is enabled #286
simd is enabled #286Snippet has no annotations and nothing comes after it #288Note that the top-level type changed from Message to Report. Message is now a single block of text within a Report.
Note that the top-level type changed from Message to Report.
Message is now a single block of text within a Report.
Message::footer with either
Message to a GroupGroupLevel::<Variant> with Level::<VARIANT>, e.g. Level::Error -> Level::ERRORSnippets on a Message (the type returned by Level::title), add them to the Group that is created with the TitleSnippet::origin has been renamed to Snippet::pathAnnotation from a Level, create them from an AnnotationKind
AnnotationKind::Primary will automatically match the Level of the GroupAnnotationKind::ContextLevel::title has been replaced with Level::primary_level (for first Group) and Level::secondary_level (subsequent Groups)Message::id has moved to Title::idRenderer::line_no to Renderer::line_numsnippet.fold(false) if unspecified, removing snippet.fold(true) if specifiedrenderer::DecorStyleGroup] to indicate what all is included between the unicode begin and end decorLevel::secondary_title to allow for custom ANSI escape code styling to be applied to those TitlesAnnotationKind::Visible to force spans to be visible within a Snippet, despite code folding, without any visible markerOrigin for referencing code without the sourceGroup::with_level to allow Snippets without a TitleLevel::no_name to hide the level nameLevel::with_name to override what is rendered for that levelTitle::id_url to turn Title::id into a linkPatch for displaying changes to codeCow<str> to allow for easier management of owned dataSnippet::path now accepts NoneAnnotation::label now accepts Nonerustc's multiline annotation special case #133
rustc's multiline annotation special case #133
simd feature for faster folding #146Annotations for \r\n are now correctly handled #131
\r\n are now correctly handled #131### Fixes - Dropped MSRV to 1.65
All public types now implement Debug #119
Debug #119Switch fold to use rustc's logic: always show first and last line of folded section and detect if its worth folding
fold to use rustc's logic: always show first and last line of folded section and detect if its worth foldingfolding the start of a source, don't show anything, like we do for the end of the sourceAnnotationsSwitched from char spans to byte spans #90
AnnotationType to Level #94SourceAnnotation to Annotation #94Snippet to Message #94Slice to Snippet #94Message, Snippet, Annotation and Level can only be built with a builder pattern #91 and #94Annotation labels are now optional #94Annotation now takes in Range<usize> instead of (usize, usize) #90Margin is now an internal detail, only term_width is exposed #105footer was generalized to be a Message #98term_width was added to Renderer to control the rendering width #105
Margins are now calculated per Snippet, rather than for the entire Message #105Annotations can be created without labelsfooter was expanded to allow annotating sources by accepting Message #98Added testing-colors feature to remove platform-specific colors when testing #82
testing-colors feature to remove platform-specific colors when testing
#82Allow highlighting one past the end of source #74
Renderer is now used for displaying a Snippet #67
Renderer is now used for displaying a Snippet #67
Renderer also controls the color scheme and formatting of the snippetsnippet to be in the crate root #67Renderer now controls the color scheme and formatting of Snippets #67Style and Stylesheet traits, as color is controlled by Renderer #67yansi-term with anstyle #67
anstyle is designed primarily to exist in public APIs for interoperabilityanstyle is re-exported under annotate_snippets::renderercolor feature in favor of Renderer::plain() #67Margin to renderer module #67display_list module private #67Remove parsing of __ in title strings, fixes
Fix character split when strip code.
Add strip code to the left and right of long lines.
Replace ansi_term with yansi-term for improved performance.
ansi_term with yansi-term for improved performance. (#30)Snippet and Slice to work on borrowed slices, rather than Strings. (#32)\r\n end of lines. (#29)Refactor API to use fmt::Display
fmt::Display (#27)PartialEq for AnnotationType (#19)ansi_term to 0.12.Fix too many anonymized line numbers
Add an option to anonymize line numbers
<!-- next-url --> [Unreleased]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.16...HEAD [0.12.16]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.15...0.12.16 [0.12.15]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.14...0.12.15 [0.12.14]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.13...0.12.14 [0.12.13]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.12...0.12.13 [0.12.12]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.11...0.12.12 [0.12.11]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.10..0.12.11 [0.12.10]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.9...0.12.10 [0.12.9]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.8...0.12.9 [0.12.8]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.7...0.12.8 [0.12.7]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.6...0.12.7 [0.12.6]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.5...0.12.6 [0.12.5]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.4...0.12.5 [0.12.4]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.3...0.12.4 [0.12.3]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.2...0.12.3 [0.12.2]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.1...0.12.2 [0.12.1]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.12.0...0.12.1 [0.12.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.11.5...0.12.0 [0.11.5]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.11.4...0.11.5 [0.11.4]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.11.3...0.11.4 [0.11.3]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.11.2...0.11.3 [0.11.2]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.11.1...0.11.2 [0.11.1]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.11.0...0.11.1 [0.11.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.10.2...0.11.0 [0.10.2]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.10.1...0.10.2 [0.10.1]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.10.0...0.10.1 [0.10.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.9.2...0.10.0 [0.9.2]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.9.1...0.9.2 [0.9.1]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.9.0...0.9.1 [0.9.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.8.0...0.9.0 [0.8.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.7.0...0.8.0 [0.7.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.6.1...0.7.0 [0.6.1]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.6.0...0.6.1 [0.6.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.5.0...0.6.0 [0.5.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/0.1.0...0.5.0 [0.1.0]: https://github.com/rust-lang/annotate-snippets-rs/compare/6015d08d7d10151c126c6a70c14f234c0c01b50e...0.1.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →