Skip to content

Tags: ffi/ffi

Tags

v1.17.4

Toggle v1.17.4's commit message
1.17.4 / 2026-03-26

-------------------

Fixed:
* Fix union by-value ABI mismatch with float and double types on ARM64 and X86_64.
  See #1177 and #1178 for details.
* Exclude libffi files, which are unnecessary. #1176

v1.17.3

Toggle v1.17.3's commit message
1.17.3 / 2025-12-29

-------------------

Fixed:
* Opt-in for MFA requirement explicitly. #1159
* Fix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . #1158
* Fix function signature of function_call in FFI trampoline. #1154
  It failed on `aarch64-mingw-ucrt`.
* Add workaround for segmentation faults on `aarch64-mingw-ucrt`. #1154
* Call super in `Library#freeze` . #1154
* Deny duplication of AutoPointer per #dup and #clone . #1173
  They led to double free before.

Added:
* Add binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.
* Add msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. #1143
* Mark callback dispatcher thread as fork safe for Puma. #1156
* Add missing FFI::Platform module and LastError signatures. #1169

Removed:
* Drop fat binary gems for Ruby-2.7
* Remove `FFI::TypesGenerator` from distributed gems. #1164
* Remove libffi build dir after install, safing some install space. #1157

v1.17.2

Toggle v1.17.2's commit message
1.17.2 / 2025-04-14

-------------------

Fixed:
* #1144, #1145 Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64
* Various adjustments to run the specs cleanly on Ruby-3.5 master branch

v1.17.1

Toggle v1.17.1's commit message
1.17.1 / 2024-12-30

-------------------

Fixed:
* #1117 Restart async callback dispatcher thread after fork.
* #1133 Add ruby-3.4 native gem.
* #1134 Fix FFI::DataConverter non-generic usage in RBS files

v1.17.0

Toggle v1.17.0's commit message
1.17.0 / 2024-06-02

-------------------

Fixed:
* Add FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. #1070

v1.17.0.rc2

Toggle v1.17.0.rc2's commit message
1.17.0.rc2 / 2024-04-22

-------------------

Fixed:
* Add missing write barriers to StructLayout#initialize causing a segfault with GC.stress. #1079

v1.17.0.rc1

Toggle v1.17.0.rc1's commit message
1.17.0.rc1 / 2024-04-07

-------------------

Fixed:
* Fix type definitions on `aarch64-linux`. #1067, #1066
* Use RB_TEST for `Pointer.autorelease=` . #1065
  So that `false` and `nil` are treated as falsey and anything else as truthy.
* Replace Fixnum by Integer. #1064
  Fixnum is no longer present in the ruby language.
* Update `FFI::NativeType` doc. #1061
* Store FFI::Type::Mapped of FFI::StrPtrConverter in global instead of custom type map
* Various documentation fixes. #1042
* Update `FFI::Pointer#==` to return `false` if a pointer is compared to a non-pointer object, which is the expected behavior. #1083
* Avoid warning about undefined wariable `@ffi_functions` #1085
* Fix a very unlikely GC bug when using a callback block. # 1089

Added:
* Provide binary gems for many platforms. #990
* Add Windows fat binary gem for Ruby-3.3
* Add RBS type definitions for many user facing parts of the FFI API. #1042
* Improve fallback search path logic. #1088
  Respect LD_LIBRARY_PATH and DYLD_LIBRARY_PATH on Macos.
* Update libffi to current git master branch.

Removed:
* Remove `enum CHAR_ARRAY` which is no longer used. #1063

v1.16.3

Toggle v1.16.3's commit message
1.16.3 / 2023-10-04

-------------------

Fixed:
* Fix gcc error when building on CentOS 7. #1052
* Avoid trying to store new DataConverter type in frozen TypeDefs hash. #1057

v1.16.2

Toggle v1.16.2's commit message
1.16.2 / 2023-09-25

-------------------

Fixed:
* Handle null pointer crash after fork. #1051

v1.16.1

Toggle v1.16.1's commit message
1.16.1 / 2023-09-24

-------------------

Fixed:
* Fix compiling the builtin libffi. #1049