-
-
Notifications
You must be signed in to change notification settings - Fork 942
Description
We have many side projects in flight and no place to track them. I'm creating this list so we remember all the things we hope to ship in 9.2.
-
Ruby 2.5 support: largely complete, see Unimplemented Ruby 2.5 Features #5118 and Ruby 2.5 Gemification #4875.
-
New block dispatch, optimization: https://github.com/jruby/jruby/tree/block_dispatch
-
Encoding work for identifiers, symbols: (see Properly represent all encodings in methods/constants/variables/symbols #4965)
-
Finish native process, IO logic for Windows: Improve Open3 on Windows #4964, File.open() on Windows without binary flag reading 0x0A (newline) instead of 0x0D (return) #5100, Open3.capture3 error on Windows #1187, Implement io/console for windows #3705, Implement native Kernel#spawn on Windows #4076, Implement Kernel/Process spawn on Windows #3116 and others
-
Proper AOT support: currently AOT just compiles to IR and serializes it into a .class. We can produce actually-compiled .class that jlink, jaotc, appcds can do a lot with.
-
Profiling and inlining of IR: https://github.com/jruby/jruby/tree/profiler
-
Full refinements support: partial and spotty right now
-
CRuby look-alike API: see org.jruby.api.API. Most of what would live here already exists, and just needs a stub.
-
Pure-Ruby Enumerable: Enumerator's Yielder does not pass through one-elt array properly #4108, lazy map adds extra array layer to single-element array output #5044
-
Reimplement Enumerator#next with Fiber: Lazy enumerable select eagerly evaluates next item #4212, Enumerator out of memory error #2577
-
Reimplement Set/SortedSet (set.rb) in native with JI support: native implementation of set.rb #4690
-
Reimplement Date/DateTime (date.rb library) in native: redo date.rb (most) parts in native #5076
-
support Java 8 date-time APIs (
to_java) with Ruby types - Time/Date/DateTime
From #4293:
-
String
- String#upcase, String#downcase, String#capitalize, String#swapcase and their bang variants work for all of Unicode, and are no longer limited to ASCII. Supported encodings are UTF-8, UTF-16BE/LE, UTF-32BE/LE, and ISO-8859-1~16. Variations are available with options. See the documentation of String#downcase for details. Feature #10085
-
Symbol
- Symbol#upcase, Symbol#downcase, Symbol#capitalize, and Symbol#swapcase now work for all of Unicode. See the documentation of String#downcase for details. Feature #10085