This changelog documents only changes relevant to users, internal changes might be omitted.
- This CHANGELOG 🎉
- Explicit MSRV
- New
Image::add_files_cached()
API to simplify the creation of a cached image for simple use cases.
ConfigBuilder
andConfig
have been replaced byEncoderDecoderBuilder
- Decoders/Encoder
::new()
have been replaced byEncoderDecoderBuilder.build()
- Decoders/Encoder
.get_config()
have been replaced by.used_builder()
- Block/Insn decoders
.image()
now returns&mut Image
instead ofResult<Image,...>
- Block
raw()
now returns anOption::<&[u8]>
Image.copy()
has been replaced byImage.extend()
Image.add_cached()
now takes aRc<SectionCache>
instead of&mut SectionCache
to ensure that the cache outlives theImage
.- Many packet/event types methods now take a
&self
instead of consumingself
- Some simple methods are now
const
->Class:Error
Class::Unknown
From<&mut pt_image> for Image
- Decoders/Encoder callback due to UB issues (PRs are welcome)
- Some safety issues: do not cast raw pointers to references with
ptr.as_mut()
with FFI pointers.
as_mut()
requires the pointer to be convertible to a reference. This is not true in many cases for FFI pointers: when creating a mutable reference, the referenced memory must not get accessed (read or written) through any other pointer or reference not derived from this reference. In many cases, we cannot ensure thatlibipt
does not access the pointed data internally.
No changelog provided