|
|
|
|
Changelog for ruby3.3-rubygem-ffi-1.17.0-100.10.x86_64.rpm :
* Fri Jun 21 2024 Dan Čermák - 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 1.17.0.rc2 / 2024-04-22 Fixed: * Add missing write barriers to StructLayout#initialize causing a segfault with GC.stress. #1079 1.17.0.rc1 / 2024-04-08 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 `AATTffi_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 * Fri Nov 03 2023 Dan Čermák - 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 1.16.2 / 2023-09-25 Fixed: * Handle null pointer crash after fork. #1051 1.16.1 / 2023-09-24 Fixed: * Fix compiling the builtin libffi. #1049 1.16.0 / 2023-09-23 Fixed: * Fix an issue with signed bitmasks when using flags on the most significant bit. #949 * Fix FFI::Pointer#initialize using NUM2LL instead of NUM2ULL. * Fix FFI::Type#inspect to properly display the constant name. #1002 * Use libffi closure allocations on hppa-Linux. #1017 Previously they would segfault. * Fix class name of Symbol#inspect. * Fix MSVC support of libtest. #1028 * Fix attach_function of functions ending in ? or ! #971 Added: * Convert all C-based classes to TypedData and use write barriers. #994, #995, #996, #997, #998, #999, #1000, #1001, #1003, #1004, #1005, #1006, #1007, #1008, #1009, #1010, #1011, #1012 This results in less pressure on the garbage collector, since the objects can be promoted to the old generation, which means they only get marked on major GC. * Implement `ObjectSpace.memsize_of()` of all C-based classes. * Make FFI Ractor compatible. #1023 Modules extended per `extend FFI::Library` need to be frozen in order to be used by non-main Ractors. This can be done by calling `freeze` below of all C interface definitions. * In a Ractor it\'s possible to: * load DLLs and call its functions, access its global variables * use builtin typedefs * use and modify ractor local typedefs * define callbacks * receive async callbacks from non-ruby threads * use frozen FFI::Library based modules with all attributes (enums, structs, typedefs, functions, callbacks) * invoke frozen functions and callbacks defined in the main Ractor * use FFI::Struct definitions from the main Ractor * In a Ractor it\'s impossible to: * create new FFI::Library based modules * create new FFI::Struct definitions * use custom global typedefs * use non-frozen FFI::Library based modules * Allow type retrieval of attached functions+variables. #1023 * Make FFI classes `GC.compact` friendly. #1021 * Update libffi and disable custom trampoline when using libffi closure allocation. #1020 This is because libffi changed the way how closures are allocated to static trampolines. * Add types.conf for loongarch64-linux. #943 * Add types.conf for sw_64-linux (Shen Wei 64-bit, based on Alpha). #1018 * Add support for aarch64-windows. #1035 * Windows: Update LoadLibrary error message to include error code. #1026 * Allow private release method for FFI::ManagedStruct and FFI::AutoPointer. #1029 * Add support for passing ABI version to FFI.map_library_name. #963 This adds the new class FFI::LibraryPath . * Add support for ruby-3.2 to windows binary gem. #1047 * Enable debug symbols for `rake compile` builds to ease debugging. #1048 Removed: * Remove allocator of AbstractMemory. #1013 This disables AbstractMemory.new, which has no practical use. * Remove unused FFI::SizeTypes. #1022 * Tue Jan 25 2022 Stephan Kulow updated to version 1.15.5 see installed CHANGELOG.md 1.15.5 / 2022-01-10 - ------------------ Fixed: * Fix long double argument or return values on 32bit i686. #849 * FFI::ConstGenerator: avoid usage of the same binary file simultaneously. #929 Added: * Add Windows fat binary gem for Ruby-3.1 Removed: * Remove Windows fat binary gem for Ruby < 2.4 * Sat Oct 09 2021 Manuel Schnitzer - updated to version 1.15.4 Fixed: * Fix build for uClibc. #913 * Correct module lookup when including `ffi-module` gem. #912 Changed: * Use ruby code of the ffi gem in JRuby-9.2.20+. #915 * Thu Jun 24 2021 Stephan Kulow updated to version 1.15.3 see installed CHANGELOG.md 1.15.3 / 2021-06-16 - ------------------ Fixed: * Fix temporary packaging issue with libffi. #904 1.15.2 / 2021-06-16 - ------------------ Added: * Add support for Windows MINGW-UCRT build. #903 * Add `/opt/homebrew/lib/` to fallback search paths to improve homebrew support. #880 #882 Changed: * Regenerate `types.conf` for FreeBSD12 aarch64. #902 * Tue Jun 01 2021 Manuel Schnitzer - updated to version 1.15.1 Fixed: * Append -pthread to linker options. #893 * Use arm or aarch64 to identify Apple ARM CPU arch. #899 * Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and `struct_generator.rb`. #897 * Mon Mar 15 2021 Manuel Schnitzer - updated to version 1.15.0 Fixed: * Fix MSVC build * Fix async callbacks in conjunction with fork(). #884 Added: * Allow to pass callbacks in varargs. #885 * Name the threads for FFI callback dispatcher and async thread calls for easier debugging. #883 The name can be retrieved by Thread.name and is shown by Thread.list.inspect etc. Even gdb shows the thread name on supported operating systems. * Add types.conf for powerpc64le-linux * Add types.conf for riscv64-linux * More release automation of ffi gems Changed: * Switch from rubygems-tasks to bundler/gem_helper Removed: * Remove unused VariadicInvoker#init * Fri Dec 25 2020 Manuel Schnitzer - updated to version 1.14.2 Fixed: * Fix builtin libffi on newer Ubuntu caused by an outdated Makefile.in . #863 * Sun Dec 20 2020 Manuel Schnitzer - updated to version 1.14.1 Changed: * Revert changes to FFI::Pointer#write_string made in ffi-1.14.0. It breaks compatibilty in a way that can cause hard to find errors. #857 * Thu Jun 25 2020 Manuel Schnitzer - updated to version 1.13.1 1.13.1 / 2020-06-09 - ------------------ Changed: * Revert use of `ucrtbase.dll` as default C library on Windows-MINGW. `ucrtbase.dll` is still used on MSWIN target. #790 * Test for `ffi_prep_closure_loc()` to make sure we can use this function. This fixes incorrect use of system libffi on MacOS Mojave (10.14). #787 * Update types.conf on x86_64-dragonflybsd 1.13.0 / 2020-06-01 - ------------------ Added: * Add TruffleRuby support. Almost all specs are running on TruffleRuby and succeed. #768 * Add ruby source files to the java gem. This allows to ship the Ruby library code per platform java gem and add it as a default gem to JRuby. #763 * Add FFI::Platform::LONG_DOUBLE_SIZE * Add bounds checks for writing to an inline char[] . #756 * Add long double as callback return value. #771 * Update type definitions and add types from stdint.h and stddef.h on i386-windows, x86_64-windows, x86_64-darwin, x86_64-linux, arm-linux, powerpc-linux. #749 * Add new type definitions for powerpc-openbsd and sparcv9-openbsd. #775, #778 Changed: * Raise required ruby version to >= 2.3. * Lots of cleanups and improvements in library, specs and benchmarks. * Fix a lot of compiler warnings at the C-extension * Fix several install issues on MacOS: * Look for libffi in SDK paths, since recent versions of macOS removed it from `/usr/include` . #757 * Fix error `ld: library not found for -lgcc_s.10.4` * Don\'t built for i386 architecture as it is deprecated * Several fixes for MSVC build on Windows. #779 * Use `ucrtbase.dll` as default C library on Windows instead of old `msvcrt.dll`. #779 * Update builtin libffi to fix a Powerpc issue with parameters of type long * Allow unmodified sourcing of (the ruby code of) this gem in JRuby and TruffleRuby as a default gem. #747 * Improve check to detect if a module has a #find_type method suitable for FFI. This fixes compatibility with stdlib `mkmf` . #776 Removed: * Reject callback with `:string` return type at definition, because it didn\'t work so far and is not save to use. #751, #782
|
|
|