Skip to content

Ruby 2.3 support #3479

@headius

Description

@headius

Here's the living checklist of changes needed to support Ruby 2.3.

These changes will go on the 2.3 branch at https://github.com/jruby/jruby/tree/ruby-2.3 and then we will merge to master when we're ready to release 2.3 support in JRuby 9.1.0.0.

Pull requests should be made against the ruby-2.3 branch please!

This list is currently based on https://github.com/ruby/ruby/blob/v2_3_0_preview2/NEWS.

Language changes

Core classes updates (outstanding ones only)

Core classes compatibility issues (excluding feature bug fixes)

Stdlib updates (outstanding ones only)

Only items relevant to JRuby

  • Update .rb parts of stdlib to 2.3 (delay until 2.3.0 final, probably) 66570f0
  • Bundle did_you_mean gem Bundle did_you_mean gem #3480
  • Socket
    • Socket#connect_nonblock, Socket#accept_nonblock,
      TCPServer#accept_nonblock, UNIXServer#accept_nonblock,
      BasicSocket#recv_nonblock, BasicSocket#recvmsg_nonblock,
      BasicSocket#sendmsg_nonblock all support exception: false to return
      :wait_readable or :wait_writable symbols instead of raising
      IO::WaitReadable or IO::WaitWritable exceptions (b27a2b0)
    • BasicSocket#recv and BasicSocket#recv_nonblock allow an output
      String buffer argument like IO#read and IO#read_nonblock to reduce
      GC overhead
  • OpenSSL
    • OpenSSL::SSL::SSLSocket#accept_nonblock and
      OpenSSL::SSL::SSLSocket#connect_nonblock supports exception: false.
    • update OpenSSL's .rb parts to match changes in 2.3
    • test & update jruby-openssl to be >= 0.9.13 (to incorporate above updates)
  • Pathname
  • io/wait
    • IO#wait_readable no longer checks FIONREAD, it may be used for
      non-bytestream IO such as listen sockets. (975dcc7 and 64638d0)
  • timeout
    • Object#timeout is now warned as deprecated when called. (a042a39)

Stdlib compatibility issues (excluding feature bug fixes)

Only items relevant to JRuby

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions