-
-
Notifications
You must be signed in to change notification settings - Fork 925
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ruby 2.4 support #4293
Comments
Which of these should be implemented in ruby? |
@ianks Any that make sense! Obviously some things, like potential Hash optimizations, would have to be in Java, but many of these features would be just fine in Ruby. See https://github.com/jruby/jruby/tree/master/core/src/main/ruby/jruby/kernel. |
Note that for |
This is a partial impl since we do not have the actual original call type available when the exception is created.
* coerceBin should not recursion check * RubyFixnum's old override of quo is deleted For #4293.
Unless there are late-breaking additions, I think this is what we're settling on for 2.4 support in the initial JRuby 9.2 release. We'll continue to track missing 2.4 features at #4687 and related issues. |
* coerceBin should not recursion check * RubyFixnum's old override of quo is deleted For #4293.
This pull request addresses these warnings. https://travis-ci.com/github/rsim/ruby-plsql/jobs/483335621 ``` /home/travis/build/rsim/ruby-plsql/lib/plsql/jdbc_connection.rb:225: warning: constant ::Fixnum is deprecated /home/travis/build/rsim/ruby-plsql/lib/plsql/jdbc_connection.rb:226: warning: constant ::Bignum is deprecated ``` jruby/jruby#4293
This pull request addresses these warnings. https://travis-ci.com/github/rsim/ruby-plsql/jobs/483335621 ``` /home/travis/build/rsim/ruby-plsql/lib/plsql/jdbc_connection.rb:225: warning: constant ::Fixnum is deprecated /home/travis/build/rsim/ruby-plsql/lib/plsql/jdbc_connection.rb:226: warning: constant ::Bignum is deprecated ``` jruby/jruby#4293
This pull request addresses these warnings. https://travis-ci.com/github/rsim/ruby-plsql/jobs/483335621 ``` /home/travis/build/rsim/ruby-plsql/lib/plsql/jdbc_connection.rb:225: warning: constant ::Fixnum is deprecated /home/travis/build/rsim/ruby-plsql/lib/plsql/jdbc_connection.rb:226: warning: constant ::Bignum is deprecated ``` jruby/jruby#4293
This bug will track all NEWS items new in Ruby 2.4. This list is based off https://github.com/ruby/ruby/blob/trunk/NEWS.
Only changes relevant to JRuby are listed here. MRI-specific internal changes and features are not included.
NOTE: Pull requests should be done against the
ruby-2.4
branch.Language changes
Multiple assignment in conditional expression is now allowed. Feature #10617
Refinements is enabled at method by Symbol#to_proc. Feature #9451
Refinements is enabled with Kernel#send and BasicObject#__send__. Feature #11476
Rescue modifier now applicable to method arguments. Feature #12686
Toplevel return is now allowed. Feature #4840
Core classes updates (outstanding ones only)
Array
Array#max and Array#min. Feature #12172
Array#sum Feature #12217
Array#concat Feature #12333
Array#pack now takes optional argument
buffer:
to reuse an already-allocated buffer. Feature #12217Comparable
Dir
Enumerable
Enumerator::Lazy
File
Float
Float#ceil, Float#floor, and Float#truncate now take an optional digits, as well as Float#round. Feature #12245
Float#round now takes an optional keyword argument, half option, and
the default behavior is round-up. Bug #12548 Bug #12958
half option can be one of :even, :up, and :down. Feature #12953
Hash
Integer
Integer#ceil, Integer#floor, and Integer#truncate now take an optional digits, as well as Integer#round. Feature #12245
Fixnum and Bignum are unified into Integer Feature #12005
Integer#digits for extracting columns of place-value notation Feature #12447
Integer#round now takes an optional keyword argument, half option, and
the default behavior is round-up. Bug #12548 Bug #12958
half option can be one of :even, :up, and :down. Feature #12953
IO
Kernel
MatchData
Module
Numeric
Process
Rational
the default behavior is round-up. Bug #12548 Bug #12958
half option can be one of :even, :up, and :down. Feature #12953
Regexp
Regexp/String: Updated Unicode version from 8.0.0 to 9.0.0 Feature #12513
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
String.new(capacity: size) Feature #12024
String#concat, String#prepend Feature #12333 Now takes multiple arguments.
String#unpack1 Feature #12752
String#match? Feature #12898
String#each_line, String#lines now takes an optional keyword argument, chomp flag. Feature #12553
String#concat, String#prepend now take multiple arguments Feature #12333
String#casecmp? Feature #12786
StringIO
Symbol
Symbol#match now returns MatchData. Bug #11991
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
Symbol#match? Feature #12898
Symbol#casecmp? Feature #12786
Thread
TracePoint
Warning
Stdlib updates (only items that need specific attention in JRuby)
pathname
Readline
Compatibility issues (excluding feature bug fixes)
Array#sum and Enumerable#sum are implemented. Feature #12217
Fixnum and Bignum are unified into Integer Feature #12005
String/Symbol#upcase/downcase/swapcase/capitalize(!) now work for all of Unicode, not only for ASCII. Feature #10085
TRUE / FALSE / NIL These constants are now obsoleted. Feature #12574
Stdlib compatibility issues (excluding feature bug fixes)
DateTime
Psych
RDoc
RubyGems
Time
thread
Zlib
Implementation improvements
In some condition,
[x, y].max
and[x, y].min
are optimized so that a temporal array is not created. The concrete condition is an implementation detail: currently, the array literal must have no splat, must have at least one expression but literal, the length must be <= 0x100, and Array#max and min must not be redefined. It will work in most casual and real-life use case where it is written with intent toMath.max(x, y)
.Thread deadlock detection now shows their backtrace and dependency. Feature #8214
st_table (st.c) internal data structure is improved. Feature #12142
Rational is extensively optimized. Feature #12484
The text was updated successfully, but these errors were encountered: