rubygem-ffi/rubygem-ffi.changes

686 lines
23 KiB
Plaintext

-------------------------------------------------------------------
Mon Feb 3 09:41:30 UTC 2025 - Dan Čermák <dan.cermak@posteo.net>
- 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.
-------------------------------------------------------------------
Fri Jun 21 09:51:52 UTC 2024 - Dan Čermák <dan.cermak@posteo.net>
- 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 `@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
-------------------------------------------------------------------
Fri Nov 3 07:35:38 UTC 2023 - Dan Čermák <dan.cermak@posteo.net>
- 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 06:55:18 UTC 2022 - Stephan Kulow <coolo@suse.com>
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 9 09:10:18 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
- 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 17:21:42 UTC 2021 - Stephan Kulow <coolo@suse.com>
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 1 03:38:16 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
- 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 04:35:12 UTC 2021 - Manuel Schnitzer <mschnitzer@suse.com>
- 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 19:33:41 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
- updated to version 1.14.2
Fixed:
* Fix builtin libffi on newer Ubuntu caused by an outdated Makefile.in . #863
-------------------------------------------------------------------
Sun Dec 20 09:22:59 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
- 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 10:13:27 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
- 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
-------------------------------------------------------------------
Mon Feb 10 14:34:08 UTC 2020 - Stephan Kulow <coolo@suse.com>
- updated to version 1.12.2
see installed CHANGELOG.md
1.12.2 / 2020-02-01
-------------------
* Fix possible segfault at FFI::Struct#[] and []= after GC.compact . #742
-------------------------------------------------------------------
Mon Jan 27 12:31:26 UTC 2020 - Manuel Schnitzer <mschnitzer@suse.com>
- updated to version 1.12.1
* Add binary gem support for ruby-2.7 on Windows
-------------------------------------------------------------------
Thu Nov 28 07:21:16 UTC 2019 - Manuel Schnitzer <mschnitzer@suse.com>
- updated to version 1.11.3
* Remove support for tainted objects which cause deprecation warnings in ruby-2.7. #730
-------------------------------------------------------------------
Tue Nov 12 15:33:08 UTC 2019 - Manuel Schnitzer <mschnitzer@suse.com>
- updated to version 1.11.2
Added:
* Add DragonFlyBSD as a platform. #724
Changed:
* Sort all types.conf files, so that files and changes are easier to compare.
* Regenerated type conf for freebsd12 and x86_64-linux targets. #722
* Remove MACOSX_DEPLOYMENT_TARGET that was targeting very old version 10.4. #647
* Fix library name mangling for non glibc Linux/UNIX. #727
* Fix compiler warnings raised by ruby-2.7
* Update libffi to latest master.
-------------------------------------------------------------------
Mon Jul 8 08:33:44 UTC 2019 - Manuel Schnitzer <mschnitzer@suse.com>
- updated to version 1.11.1
Changed:
* Raise required ruby version to >=2.0. #699, #700
* Fix a possible linker error on ruby < 2.3 on Linux.
-------------------------------------------------------------------
Mon May 20 12:26:14 UTC 2019 - Lukas Krause <lukas.krause@suse.com>
- updated to version 1.11.0
see installed CHANGELOG.md
# Added
* Add ability to disable or force use of system libffi.
#669 Use like gem inst ffi -- --enable-system-libffi
* Add ability to call FFI callbacks from outside of FFI call frame. #584
* Add proper documentation to FFI::Generator and ::Task
* Add gemspec metadata. #696, #698
# Changed
* Fix stdcall on Win32. #649, #669
* Fix load paths for FFI::Generator::Task
* Fix FFI::Pointer#read_string(0) to return a binary String. #692
* Fix benchmark suite so that it runs on ruby-2.x
* Move FFI::Platform::CPU from C to Ruby. #663
* Move FFI::StructByReference to Ruby. #681
* Move FFI::DataConverter to Ruby (#661)
* Various cleanups and improvements of specs and benchmarks
# Removed
* Remove ruby-1.8 and 1.9 compatibility code. #683
* Remove unused spec files. #684
-------------------------------------------------------------------
Mon Jan 14 08:00:29 UTC 2019 - mschnitzer@suse.com
- updated to version 1.10.0
Added:
* Add /opt/local/lib/ to ffi's fallback library search path. #638
* Add binary gem support for ruby-2.6 on Windows
* Add FreeBSD on AArch64 and ARM support. #644
* Add FFI::LastError.winapi_error on Windows native or Cygwin. #633
Changed:
* Update to rake-compiler-dock-0.7.0
* Use 64-bit inodes on FreeBSD >= 12. #644
* Switch time_t and suseconds_t types to long on FreeBSD. #627
* Make register_t long_long on 64-bit FreeBSD. #644
* Fix Pointer#write_array_of_type #637
Removed:
* Drop binary gem support for ruby-2.0 and 2.1 on Windows
-------------------------------------------------------------------
Sun Jun 3 23:06:36 UTC 2018 - factory-auto@kulow.org
- updated to version 1.9.25
see installed CHANGELOG.md
1.9.25 / 2018-06-03
-------------------
Changed:
* Revert closures via libffi.
This re-adds ClosurePool and fixes compat with SELinux enabled systems. #621
-------------------------------------------------------------------
Sat Jun 2 15:04:54 UTC 2018 - factory-auto@kulow.org
- updated to version 1.9.24
see installed ChangeLog.v1
-------------------------------------------------------------------
Mon Feb 26 05:29:11 UTC 2018 - factory-auto@kulow.org
- updated to version 1.9.23
see installed ChangeLog.libffi
-------------------------------------------------------------------
Fri Feb 23 05:29:26 UTC 2018 - factory-auto@kulow.org
- updated to version 1.9.22
see installed ChangeLog.libffi
-------------------------------------------------------------------
Tue Feb 6 12:48:02 UTC 2018 - bgeuken@suse.com
- Updated to version 1.9.21
No changelog found
-------------------------------------------------------------------
Sat Mar 4 05:42:10 UTC 2017 - coolo@suse.com
- updated to version 1.9.18
see installed ChangeLog
-------------------------------------------------------------------
Sat Jan 14 05:31:31 UTC 2017 - coolo@suse.com
- updated to version 1.9.17
see installed ChangeLog
-------------------------------------------------------------------
Tue Jul 12 04:28:48 UTC 2016 - coolo@suse.com
- updated to version 1.9.14
see installed ChangeLog
-------------------------------------------------------------------
Thu Jul 7 04:29:55 UTC 2016 - coolo@suse.com
- updated to version 1.9.13
see installed ChangeLog
-------------------------------------------------------------------
Wed Jul 6 04:30:36 UTC 2016 - coolo@suse.com
- updated to version 1.9.12
see installed ChangeLog
-------------------------------------------------------------------
Wed Jul 1 04:29:51 UTC 2015 - coolo@suse.com
- updated to version 1.9.10
see installed ChangeLog
-------------------------------------------------------------------
Sat Jun 27 04:30:12 UTC 2015 - coolo@suse.com
- updated to version 1.9.9
see installed ChangeLog
-------------------------------------------------------------------
Wed Mar 18 15:35:36 UTC 2015 - coolo@suse.com
- updated to version 1.9.8, no changelog
-------------------------------------------------------------------
Fri Nov 21 21:44:46 UTC 2014 - opensuse_buildservice@ojkastl.de
- manual dependency libffi-devel and rpmlintrc now in gem2rpm.yml
-------------------------------------------------------------------
Fri Nov 21 21:18:30 UTC 2014 - opensuse_buildservice@ojkastl.de
- adapted to new packaging scheme, regenerated spec with gem2rpm, readded libffi-devel
-------------------------------------------------------------------
Fri Nov 21 21:10:45 UTC 2014 - opensuse_buildservice@ojkastl.de
- update to version 1.9.6
-------------------------------------------------------------------
Tue Jul 22 08:52:18 UTC 2014 - dmacvicar@suse.de
- remove rdoc buildrequires to build with older
rubies including rdoc. It is still pulled otherwise
-------------------------------------------------------------------
Thu Feb 6 18:28:37 UTC 2014 - coolo@suse.com
- updated to version 1.9.3
-------------------------------------------------------------------
Thu Oct 31 05:54:34 UTC 2013 - coolo@suse.com
- updated to version 1.9.3, changed license to BSD
-------------------------------------------------------------------
Sat Jun 15 06:42:06 UTC 2013 - coolo@suse.com
- updated to version 1.9.0, no changelog
-------------------------------------------------------------------
Wed Apr 24 05:53:06 UTC 2013 - coolo@suse.com
- updated to version 1.8.1, no changelog
-------------------------------------------------------------------
Fri Apr 12 07:53:41 UTC 2013 - coolo@suse.com
- updated to version 1.7.0
-------------------------------------------------------------------
Tue Mar 26 06:03:20 UTC 2013 - coolo@suse.com
- remove rm, it's done by gem_cleanup now
-------------------------------------------------------------------
Sat Mar 23 08:03:31 UTC 2013 - coolo@suse.com
- updated to version 1.5.0, no changelog
-------------------------------------------------------------------
Sun Mar 3 19:15:38 UTC 2013 - coolo@suse.com
- updated to version 1.4.0
-------------------------------------------------------------------
Fri Jan 25 06:39:40 UTC 2013 - coolo@suse.com
- updated to version 1.3.1
-------------------------------------------------------------------
Tue Jan 8 20:21:08 UTC 2013 - coolo@suse.com
- updated to version 1.3.0
-------------------------------------------------------------------
Wed Nov 21 06:33:36 UTC 2012 - coolo@suse.com
- updated to version 1.2.0
-------------------------------------------------------------------
Thu Aug 9 14:52:14 UTC 2012 - coolo@suse.com
- updated to version 1.1.5
-------------------------------------------------------------------
Sat Aug 4 19:00:49 UTC 2012 - coolo@suse.com
- updated to version 1.1.4, more updates for libffi
-------------------------------------------------------------------
Fri Aug 3 13:57:50 UTC 2012 - coolo@suse.com
- updated to version 1.1.3, fix compilation
-------------------------------------------------------------------
Mon Jul 30 09:50:48 UTC 2012 - coolo@suse.com
- update to 1.1.2 - fixes for arm
-------------------------------------------------------------------
Sat Jul 28 16:23:24 UTC 2012 - coolo@suse.com
- updated to 1.1.1 - no changelog
-------------------------------------------------------------------
Sun Jul 22 15:15:19 UTC 2012 - coolo@suse.com
- update to 1.1.0 - no changelog
-------------------------------------------------------------------
Fri Jun 29 08:48:45 UTC 2012 - cfarrell@suse.com
- license update: LGPL-3.0
See https://github.com/ffi/ffi/blob/master/LICENSE
-------------------------------------------------------------------
Wed Apr 4 15:21:45 UTC 2012 - coolo@suse.com
- update to 1.0.11 - no changelog
-------------------------------------------------------------------
Wed Mar 28 13:30:52 UTC 2012 - saschpe@suse.de
- Spec file cleanup:
* Factory preparation
-------------------------------------------------------------------
Wed Aug 24 12:36:46 UTC 2011 - fcastelli@novell.com
- fix license
- add 'provides' macros
-------------------------------------------------------------------
Sun May 22 19:17:04 UTC 2011 - dmacvicar@suse.de
- update to 1.0.9
-------------------------------------------------------------------
Fri Jun 11 16:41:02 UTC 2010 - mrueckert@suse.de
- update to version 0.6.3
-------------------------------------------------------------------
Fri Jun 11 10:00:01 UTC 2010 - mrueckert@suse.de
- use rubygems_requires macro
-------------------------------------------------------------------
Sun Feb 14 17:52:07 UTC 2010 - dmacvicar@novell.com
- update to 0.6.0
-------------------------------------------------------------------
Thu Dec 17 10:14:01 UTC 2009 - dmacvicar@novell.com
- Update to 0.5.4
* bugfix in extconf.rb when appending to $CFLAGS
- from 0.5.3
* fixes powerpc, cywin and FreeBSD installation/build
problems
- from 0.5.2
* Fedora fixes
-------------------------------------------------------------------
Tue Nov 3 23:36:51 UTC 2009 - dmacvicar@novell.com
- Update to 0.5.1
* This is a bug fix release for variadic functions which return
structures by value
-------------------------------------------------------------------
Tue Oct 13 11:51:21 CEST 2009 - dmacvicar@novell.com
- Update to 0.5.0
* Major improvements
* New Function class
* Structs can be passed and returned by value
* Implement a custom trampoline for x86_64, resulting in roughly 30% speedup
* Improve dispatch of functions which take (0..6) char/short/int/long/pointer arguments by between 50% and 200% on x86_64
* Callbacks are now approximately 100% faster on x86_64
* Minor improvements
* Add support for MacOSX Snow Leopard
* Improve support for Windows releasing fat binaries on rubyforge
* Better introspection in structs:
* Add StructLayout::Field#type, size, offset, alignment and name
methods
* Add StructLayout#fields which returns an array of
StructLayout::Field objects
* Add automagic deducing of library name from module name.
Idea and prototype implementation from Matt Hulse
* Callback fields in structs can now be both read and written
* Add a bunch of new benchmarks
* Lots of refactoring
* Experimental features
* blocking functions (i.e. native code that blocks the thread) support
* Bug fixes
* Fix RUBY-FFI_43 (rake gem dependency)
-------------------------------------------------------------------
Wed Aug 12 20:38:01 UTC 2009 - dmacvicar@novell.com
- update to 0.4.0
* Add support for boolean types
* Add support for methods as callbacks
* Add FFI::IO.read as described in JRUBY-3636
* Add Pointer::NULL constant
* Add AbstractMemory#get_array_of_string()
* Implement Pointer.new(address) and Pointer.new(:type, address)
* Fix RUBY_FFI-38
* Fix build issues
-------------------------------------------------------------------
Mon Jul 27 01:35:38 CEST 2009 - dmacvicar@novell.com
- initial package for 0.3.5