[go: up one dir, main page]

libffi 4.1.0

Rust bindings for libffi
Documentation
# Changelog


All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog] and this project adheres to
[Semantic Versioning].

[Keep a Changelog]: http://keepachangelog.com/en/1.0.0/
[Semantic Versioning]: http://semver.org/spec/v2.0.0.html

## [4.1.0] - 2025-05-09


- Update to 2021 edition: https://github.com/tov/libffi-rs/pull/121
- Set rust-version to 1.78: https://github.com/tov/libffi-rs/pull/120
- Enable long double for all targets: https://github.com/tov/libffi-rs/pull/130
- Fixed out-of-bounds write in low::call: https://github.com/tov/libffi-rs/pull/108

## [4.0.0] - 2025-04-08


- Bump libffi-sys version requirement to 3.1
- Bump MSRV to 1.78: https://github.com/tov/libffi-rs/commit/10818e3b6e780c69177049599ba35037fa624ce5

## [3.2.0] - 2023-03-28


- Handle return type promotion in the high layer: https://github.com/tov/libffi-rs/pull/69
- Fix return type in call example code: https://github.com/tov/libffi-rs/pull/68

## [3.1.0] - 2023-01-02


- Bump version requirement of libffi-sys to 2.1.0
- Copy size and alignment of structures on clone: https://github.com/tov/libffi-rs/pull/62

## [3.0.1] - 2022-09-02


- Removed dependency on abort_on_panic: https://github.com/tov/libffi-rs/pull/58

## [3.0.0] - 2022-03-07


- Improve cross-compilation support: https://github.com/tov/libffi-rs/pull/53
- Rust 1.48 or newer is now required

## [2.0.1] - 2022-02-13


### Changed


- Fix linker errors for aarch64: https://github.com/tov/libffi-rs/pull/51

## [2.0.0] - 2021-08-17


### Fixed


- Fixed soundness issues with the "high" interface when using callbacks. See
  0a094088fde8f6e4e382c987ee189c58929a33d1 for more information.

### Changed


- Remove outdated documentation links

## [1.0.1] - 2021-05-06


- Fixed used after free bug in ffi_type_array_create

### Added

- Added support for ARMv7

## [1.0.0] - 2020-10-25


### Changed

- Use libffi-sys-rs 1.0.0
- Update libc dependency to a more recent version

## [0.9.0] - 2019-12-07


### Added

- Methods `middle::Closure::instantiate_code_ptr` and
  `middle::ClosureOnce::instantiate_code_ptr`.

### Changed

- Updated `libffi-sys` dependency version to `"0.9.0"` from `"0.8.0"`.
- Updated to Rust edition to 2018.
- Updated oldest supported rustc version to 1.36.0.

## [0.8.0] - 2019-10-24


### Added

- Added `system` Cargo feature, which passes the same feature to `libffi-sys`,
  which causes it to use the system C libffi instead of building its own.

### Changed

- Updated `libc` dependency version to `"0.2.65"` from
  `"0.2.11"`.
- Updated `libffi-sys` dependency version to `"0.8.0"` from
  `"0.7.0"`.

## [0.7.0] - 2019-05-12


### Removed

- Broken `"unique"` feature.

### Changed

- Updated `abort_on_panic` dependency version to `"2.0.0"` from
  `"1.0.0"`.
- Updated `libffi-sys` dependency version to `"0.7.0"` from
  `"0.6.0"`.

### Added

- Setting `doc(html_root_url)` for inter-crate docs linking.
- Testing on Rust 1.31.0 now, as oldest supported version.

## [0.6.3] - 2018-03-05


### Fixed

- Heading in docs.

## [0.6.2] - 2017-11-13


### Changed

- Upgraded to `libffi-sys` 0.6.0, which uses an upgraded bindgen.

## [0.6.0] - 2017-05-14


### Fixed

- Marked `Unique::new` as `unsafe`.

### Added

- Mentions dependencies in build instructions.

### Changed

- Constructors and factories that need sequences now take `IntoIterator`
instead of `Iterator` or `FixedSizeIterator`.

## [0.5.3] - 2017-04-15


### Fixed

- `Closure[0-9]` and `ClosureMut[0-9]` now abort on panic rather than
attempting to unwind past an FFI boundary. (Thanks, ngkz!)

## [0.5.2] - 2017-04-14


### Changed

- Now depends on `libffi-sys` 0.5.0.