1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
== 1.0.3 / 2010-12-28
* Re-add support for ruby 1.8.x
== 1.0.0 / 2010-11-30
* Major improvements
* Better handling of non-ruby thread callbacks
* Support for releasing the GIL during C function calls
* Minor improvements
* code cleanups
== 0.5.0 / 2009-10-06
* 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)
== 0.4.0 / 2009-08-05
* Major improvements
* Add support for boolean types
* Add support for methods as callbacks
* Add FFI::IO.read as described in JRUBY-3636
* Minor improvements
* Add Pointer::NULL constant
* Add AbstractMemory#get_array_of_string()
* Implement Pointer.new(address) and Pointer.new(:type, address)
* Bug fixes
* Fix RUBY_FFI-38
* Fix issues related to 1.9.1 build
* Fix issues related to OSX build
* Fix issues related to FreeBSD build
* Fix issues related to OpenSolaris build
== 0.3.5 / 2009-05-08
* Bug fixes
* Fix RUBY_FFI-17
* Fix RUBY_FFI-21
== 0.3.4 / 2009-05-01
* Minor improvements
* Add return statements to functions that call rb_raise(), in case
rb_raise is not declared noreturn, to avoid gcc warnings.
== 0.3.3 / 2009-04-27
* Minor improvements
* Implement RUBY_FFI-16 - Add support for anonymous callbacks
* Add support for callback parameters in callbacks
* Add support for function pointer return values
* Callbacks can now coerce proc objects into function pointers for
return values.
* Implement FFI::Type and FFI::Type::Builtin
* Add support for enumerations
* Bug fixes
* Fix RUBY_FFI-19
* Fix RUBY_FFI-15
== 0.3.2 / 2009-05-01
* Bug fixes
* Fix JRUBY-3527 by passing RTLD_GLOBAL instead of RTLD_LOCAL
== 0.3.1 / 2009-03-23
* Bug fixes
* Correctly save errno/GetLastError after each call.
== 0.3.0 / 2009-03-19
* Switch compilation to rake-compiler
* Makes cross-compilation from linux -> win32 super easy
* win32 support is available now, but highly experimental
* Performance improvements
* struct field access approx 3x faster than 0.2.0
* function invocation approx 20% faster than 0.2.0
* A bunch of minor improvements
* Struct instances can now be passed as :pointer parameters without calling
Struct#pointer
* Support for array struct members
* Structs are now padded correctly to the alignment of the struct's
largest field
* Global library variables
* Callbacks in global library variables
* Strings passed in as :string arguments are scrubbed to avoid
poison-null-byte attacks.
* Union support
* nil can be passed as a :string argument (passed as NULL)
* Structs can now be fields inside another struct
* Lots of internal cleanups and refactorings.
|