Releases: Voultapher/self_cell
Version 1.0.4
Improvements to the documentation that help users discover the generated API. Thanks @hniksic for reporting the issue.
Version 1.0.3
This release contains fixes that avoid name collision with functions and structs named Ok
, Err
, FnOnce
and collisions with the core
namespace. Thank you @dcecile for reporting the issue.
Version 1.0.2
This release contains an important soundness fix see https://rustsec.org/advisories/RUSTSEC-2023-0070.html for more details, thank you @steffahn for reporting and fixing the problem.
Version 1.0.1
- The generated functions now have doc comments, thanks to @link2xt
Version 1.0
It has been over a year without any API changes. I'm happy with the API and think it's mature enough. Nothing changed in this release.
Version 0.10.2
Version 0.10.1
This version includes:
- Clear documentation what the minimum supported version is, currently rustc 1.51
- A new optional feature
old_rust
that drops minimum required version down to rustc 1.36 see #33 and the documentation for details. Thanks @mitsuhiko for the idea and @steffahn for the help. - A new example examples/owner_with_lifetime that showcases a self-referential struct with lifetime in the owner.
Version 0.10.0
This version includes:
-
This release fixes serious implementation bugs, the dependent was dropped after the owner, and panics in drop impl could lead to double free. As consequence I've yanked all previous versions. In addition a series of potential unsound usage bugs have been addressed. Please update to v0.10 as soon as possible. See #18 #20 #24 #26 and #28 and their associated PRs #21 #23 #25 #27 #29. Huge thanks to @steffahn for reporting and helping fix these issues.
-
An improved
Debug
implementation that usesfmt.debug_struct
and now correctly supports custom format strings such as{:#?}
. See #22
Version 0.9.2
Version 0.9.1
This release brings 2 core changes:
panic
inside a builder function no longer causes a memory leak.
This means that the previously documented workaround using try_new
and
catch_unwind
has become obsolete and the relevant example has been deleted.
- Limited support for owners with non static lifetimes. This mostly works with the exception of automatic derives, due to technical limitations (aka I can't figure out how to do it). See the documentation for details.
Bug fixes:
-
An esoteric edge case could cause UB, see bb2f502 for more details.
-
Defining your own Result could break the macro due to hygiene issues, see #16 (comment).
In addition a set of benchmarks comparing self_cell
to ouroboros
have been added, see the benchmarks
directory.