Skip to content

Latest commit

 

History

History
129 lines (80 loc) · 7.99 KB

CHANGELOG.md

File metadata and controls

129 lines (80 loc) · 7.99 KB

Change Log

All notable changes to error-stack will be documented in this file.

Planned

  • Support for defmt
  • Better support for serialization and deserialization of Report

Unreleased

Features

  • Report has been split into Report<C> and Report<[C]> to distinguish between a group of related errors and a single error. These errors can still be nested. (#5047)
  • Introduce a new 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)

Breaking Changes

  • Set the MSRV to 1.83 (#5333)
  • 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)

Deprecations

  • Context: Use core::error::Error instead (#5533)
  • Result<T, C>: Use core::result::Result<T, Report<C>> instead (#5533)

0.5.0 - 2024-07-12

Features

  • Capture source() errors when converting Error to Report (#4678)

Breaking Changes

  • Backtraces are not included in the std feature anymore. Instead, the backtrace feature is used which is enabled by default (#4685)
  • Remove deprecated IntoReport (#4706)

0.4.1 - 2023-09-04

Fixes

  • Fix deprecation warning typo for IntoReport (#3088)

0.4.0 - 2023-08-23

Breaking Changes

  • Add ResultExt::Context as associated type (#2883)

Features

  • Implement ResultExt for Result even if the Err-variant is not Report<C> but only C: Context (#2883)

Deprecations

  • IntoReport: Use ReportExt or From via Result::map_err(Report::from) instead (#2883)

0.3.1 - 2023-02-08

  • Fix multiline attachments not being aligned (#2022)

0.3.0 - 2023-02-01

Breaking Changes

  • Remove all previously deprecated methods (#1485)
  • Remove pretty-print feature (#1800)

Features

  • Add initial serializing support using serde (#1290)
  • Support Debug hooks on no-std platforms via the hooks feature (#1556)
  • Support converting Report into Error via Report::as_error and Report::into_error (#1749)
  • Support converting Report into Box<dyn Error> via the From trait (#1749)
  • Programmatic selection of color mode and charset used for Debug output (#1800)

0.2.4 - 2022-11-04

  • The output of Location is no longer hard-coded and can now be adjusted through hooks. (#1237)
  • The TypeId of a value contained in a Frame can now be accessed via Frame::type_id (#1289)
  • Deprecate Frame::location in favor of an additional attachment on context change/creation (#1311)

0.2.3 - 2022-10-12

  • Add Apache 2.0 as an additional license option (#1172)

0.2.2 - 2022-10-07

  • Add a space before attachment formatting (#1174)

0.2.0 - 2022-10-03

Breaking Changes

  • Set the MSRV to 1.63 (#944)
  • Use Provider API from core::any (#697)
  • Remove the unused features hooks, futures, and futures-core (#695, #1138)

Features

  • Support backtraces on non-nightly channels starting with 1.65.0-beta (#1098)
  • Add support for core::error::Error on nightly (#1038)
  • Add support for Error::provide() (#904)
  • New output for Debug (#794)
  • New hook interface for Debug (#794)
  • Add support for related errors and multiple error sources (#747)
  • Add compatibility for anyhow and eyre to convert their types into Report (#763)
  • Implement Termination for Report (#671)
  • Report::set_debug_hook and Report::set_display_hook no longer return an error (#794)

Deprecations

  • 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)

Internal improvements

  • Greatly reduce the amount of unsafe code (#774)

0.1.0 - 2022-06-10

  • Initial release