NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4852 most downloaded on crates.io
A context-aware error-handling library that supports arbitrary attached user data
Last release 3 months ago
03 Jul 2026
Release timing varies
gaps range from 9 days to 1.1 years
Nearly every release is documented
notes for 15 of 16 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
16 releases · first in 2022
One column per quarter.
Fix a soundness hole in Report::frames_mut : the returned iterator handed out &mut Frame s with independent lifetimes, so a frame and one of its sourc
Report::frames_mut: the returned iterator handed out &mut Frames with independent lifetimes, so a frame and one of its sources (via Frame::sources_mut) could be borrowed mutably at the same time — undefined behavior triggerable from safe code, up to segfaults. frames_mut now takes a visitor closure (FnMut(&mut Frame) -> ControlFlow<()>) instead of returning an iterator, and the FramesMut type has been removed. Report::downcast_mut is unaffected. (#8946)Gate sink imports behind cfg(nightly) so error-stack compiles on stable Rust with the unstable feature enabled.
sink imports behind cfg(nightly) so error-stack compiles on stable Rust with the unstable feature enabled. (#8768)Full Changelog: https://github.com/hashintel/hash/compare/error-stack@0.7.0...error-stack@0.7.1
Remove deprecated Report::{attach_lazy, attach_printable, attach_printable_lazy}
Report has been split into Report and Report<[C]> to distinguish between a group of related errors and a single error. These errors can still be neste
Report<C> and Report<[C]> to distinguish between a group of related errors and a single error. These errors can still be nested. (#5047)unstable flag, which is used to enable unstable features, these features are not covered by semver and may be modified or removed at any time. (#5181)IntoReport trait, which is used to determine when a type can be converted to a Report. This allows the usage of errors more idiomatically in traits, such as type Error: IntoReport. (#6738)attach[_lazy] to attach_opaque[_with] and attach_printable[_lazy] to attach[_with]. (#7753)Extend is no longer implemented by Report<C>, instead it is implemented on Report<[C]>, either use From or Report::expand to convert between Report<C> into Report<[C]>. (#5047)extend_one has been renamed to push and is only implemented on Report<[C]>. (#5047)bail!(report,) has been removed, one must now use bail!(report). This is in preparation for the unstable bail! macro that allows to construct Report<[C]>. (#5047)Capture source() errors when converting Error to Report
Fix deprecation warning typo for IntoReport
IntoReport (#3088)Add ResultExt::Context as associated type
Fix multiline attachments not being aligned
Remove all previously deprecated methods
serde (#1290)Debug hooks on no-std platforms via the hooks feature (#1556)Report into Error via Report::as_error and Report::into_error (#1749)Report into Box<dyn Error> via the From trait (#1749)Debug output (#1800)Deprecate Frame::location in favor of an additional attachment on context change/creation
Add Apache 2.0 as an additional license option
Patch Changes #8818 0e52504 Thanks @CiaranMn ! - update uuid dependency
Patch Changes #8732 c0c9498 Thanks @lunelson ! - Publish the generated styled-system files in the package tarball.
#8727 834cbee Thanks @alex-e-leon! - Add NumberInput component
Updated dependencies [c0c9498]:
Minor Changes #8670 891f36f Thanks @lunelson ! - Expose preset-owned tokens and semanticTokens from @hashintel/ds-components/tokens in place of the ol
Provider API from core::any (#697)hooks, futures, and futures-core (#695, #1138)core::error::Error on nightly (#1038)Error::provide() (#904)anyhow and eyre to convert their types into Report (#763)Termination for Report (#671)Report::set_debug_hook and Report::set_display_hook no longer return an error (#794)IntoReport::report: Use IntoReport::into_report instead (#698)Report::backtrace: Use Report::downcast_ref::<Backtrace> (non-nightly), Report::request_ref::<Backtrace> (nightly) instead (#747)Report::span_trace: Use Report::downcast_ref::<SpanTrace> (non-nightly), Report::request_ref::<SpanTrace> (nightly) instead (#747)Frame::source: Use Frame::sources instead (#747)Frame::source_mut: Use Frame::sources_mut instead (#747)Report::set_debug_hook: Use Report::install_debug_hook instead (#794)Report::set_display_hook(#794)unsafe code (#774)Nothing published for this version
- Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →