Skip to content

Remaining 2.3 checklist items not in JRuby 9.1 #3816

Open
@headius

Description

Here's the remaining checklist of changes needed to support Ruby 2.3. The original bulk was implemented in JRuby 9.1 for #3479.

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

Language changes

Core classes updates (outstanding ones only)

  • Encoding
    • new Encoding::IBM037 (alias ebcdic-cp-us; dummy)
  • Enumerator::Lazy
  • IO
  • Proc
    • Testing of Proc#call optimizations
  • RubyVM::InstructionSequence (May or may not be supportable in JRuby; very specific to MRI)
    • add the following methods as a primitive tool of iseq loader.
      See sample/iseq_loader.rb for usage.
      Note that loader does not have verifier so it is easy to cause
      critical problem by loading modified/broken binary data.
      See https://bugs.ruby-lang.org/issues/11788 for more details. (experimental feature)
      • RubyVM::InstructionSequence#to_binary(extra_data = nil)
      • RubyVM::InstructionSequence.load_from_binary(binary)
      • RubyVM::InstructionSequence.load_from_binary_extra_data(binary)

Core classes compatibility issues (excluding feature bug fixes)

  • File::Stat
    • On Windows File::Stat#ino always returned 0, but now returns
      BY_HANDLE_FILE_INFORMATION.nFileIndexHigh/Low.
  • pack/unpack (Array/String)

Stdlib updates (outstanding ones only)

Only items relevant to JRuby

  • Bundle did_you_mean gem Bundle did_you_mean gem #3480
  • ObjectSpace (objspace) (Most of these are specific to MRI and not relevant to JRuby)
    • ObjectSpace.count_symbols is added.
    • ObjectSpace.count_imemo_objects is added.
    • ObjectSpace.internal_class_of is added.
    • ObjectSpace.internal_super_of is added.
  • StringIO
    • In read-only mode, StringIO#set_encoding no longer sets the encoding
      of its buffer string. Setting the encoding of the string directly
      without StringIO#set_encoding may cause unpredictable behavior now.
      (https://bugs.ruby-lang.org/issues/11827)

Implementation improvements

Only items relevant to JRuby

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions