Releases: fast/exn
Releases · fast/exn
v0.3.0
v0.3.0 (2026-01-31)
Breaking Changes
Exn::from_iterhas been renamed toExn::raise_allexn::Errortrait bound has been removed in favor of inlinedStdError + Send + Sync + 'staticbounds.err.raise()has been moved to theexn::ErrorExtextension trait.Exn::error(&self)has been replaced withimpl Deref<Target = E> for Exn<E>.
New Features
Exn<E>now implementsDeref<Target = E>, allowing for more ergonomic access to the inner error.- This crate is now
no_stdcompatible, while thealloccrate is still required for heap allocations. It is worth noting thatno_stdsupport is a nice-to-have feature, and can be dropped if it blocks other important features in the future. Before 1.0, onceexnAPIs settle down, the decision on whether to keepno_stdas a promise will be finalized. Framenow implementsstd::error::Error.- Support convert
Exn<E>intoBox<dyn std::error::Error>.
What's Changed (Detailed Pull Requests)
- chore: reorganize examples by @tisonkun in #19
- refactor!: remove exn::Error by @andylokandy in #23
- test: simplify test code by @tisonkun in #25
- fix: add Send + Sync bound for error by @andylokandy in #26
- refactor: add ErrorExt by @tisonkun in #27
- chore: add make_error example by @andylokandy in #28
- chore: explicitly add implicit 'static bound by @tisonkun in #30
- refactor: rename Exn::from_iter to raise_all by @andylokandy in #33
- feat: Support for #![no_std] by @AlisCode in #22
- docs: improve docs for Exn methods by @tisonkun in #36
- feat: impl Deref for Exn by @tisonkun in #37
- chore: add and guard MSRV by @tisonkun in #39
- feat: impl std::error::Error for Frame by @andylokandy in #29
New Contributors
Full Changelog: v0.2.1...v0.3.0