nio4r/CHANGES.md

7.6 KiB

2.5.8 (2021-08-03)

  • #276 Fix missing return statement in function returning non-void (issue #275) (@ioquatix)
  • Remove guard-rspec from development dependencies (@ioquatix)

2.5.7 (2021-03-04)

2.5.6 (2021-03-04)

2.5.5 (2021-02-05)

  • #256 Use libev 4.33, featuring experimental io_uring support. (@jcmfernandes)

  • #260 Workaround for ARM-based macOS Ruby: Use pure Ruby for M1, since the native extension is crashing on M1 (arm64). (@jasl)

  • #252 JRuby: Fix javac -Xlint warnings (@headius)

2.5.4 (2020-09-16)

2.5.3 (2020-09-07)

2.5.2 (2019-09-24)

2.4.0 (2019-07-07)

  • #211 Enable KQUEUE on macOS 10.14+. (@ioquatix)

  • Bump minimum supported Ruby to 2.3. (@ioquatix)

  • Assorted fixes for TruffleRuby & JRuby. (@eregon, @olleolleolle) Possible bug with Ruby >= 2.7.0 and GC.compact

  • Update libev to v4.25. (@ioquatix)

  • Bind to ephemeral (port 0) for more reliable specs. (@ioquatix)

  • Improve handling of SSL sockets and related specs. (@MSP-Greg)

2.3.1 (2018-05-03)

2.3.0 (2018-03-15)

2.2.0 (2017-12-27)

2.1.0 (2017-05-28)

2.0.0 (2016-12-28)

1.2.1 (2016-01-31)

  • Fix bug in the JRuby backend which cases indefinite blocking when small timeout values are passed to the selector

1.2.0 (2015-12-22)

  • Add NIO::Monitor#interests= API for changing interests. Contributed by Upekshe Jayasekera as a Google Summer of Code project.
  • Update to libev 4.22

1.1.1 (2015-07-17)

  • Update to libev 4.20
  • Fall back to io.h if unistd.h is not found
  • RSpec updates
  • RuboCop

1.1.0 (2015-01-10)

  • Update to libev 4.19
  • Do not call ev_io_stop on monitors if the loop is already closed

1.0.1 (2014-09-01)

  • Fix C compiler warnings
  • Eliminate Ruby warnings about @lock_holder
  • Windows improvements
  • Better support for Ruby 2.1
  • Automatically require 'set'
  • Update to RSpec 3

1.0.0 (2014-01-14)

  • Have Selector#register obtain the actual IO from a Monitor object because Monitor#initialize might convert it.
  • Drop 1.8 support

0.5.0 (2013-08-06)

  • Fix segv when attempting to register to a closed selector
  • Fix Windows support on Ruby 2.0.0
  • Upgrade to libev 4.15

0.4.6 (2013-05-27)

  • Fix for JRuby on Windows

0.4.5

  • Fix botched gem release

0.4.4

  • Fix return values for Selector_synchronize and Selector_unlock

0.4.3

  • REALLY have thread synchronization when closing selectors ;)

0.4.2

  • Attempt to work around packaging problems with bundler-api o_O

0.4.1

  • Thread synchronization when closing selectors

0.4.0

  • OpenSSL::SSL::SSLSocket support

0.3.3

  • NIO::Selector#select_each removed
  • Remove event buffer
  • Patch GIL unlock directly into libev
  • Re-release since 0.3.2 was botched :(

0.3.1

  • Prevent CancelledKeyExceptions on JRuby

0.3.0

  • NIO::Selector#select now takes a block and behaves like select_each
  • NIO::Selector#select_each is now deprecated and will be removed
  • Closing monitors detaches them from their selector
  • Java extension for JRuby
  • Upgrade to libev 4.11
  • Bugfixes for zero/negative select timeouts
  • Handle OP_CONNECT properly on JRuby

0.2.2

  • Raise IOError if asked to wake up a closed selector

0.2.1

  • Implement wakeup mechanism using raw pipes instead of ev_async, since ev_async likes to cause segvs when used across threads (despite claims in the documentation to the contrary)

0.2.0

  • NIO::Monitor#readiness API to query readiness, along with #readable? and #writable? helper methods
  • NIO::Selector#select_each API which avoids memory allocations if possible
  • Bugfixes for the JRuby implementation

0.1.0

  • Initial release. Merry Christmas!