-
-
Notifications
You must be signed in to change notification settings - Fork 924
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.5 Support #4876
Comments
@headius See https://gist.github.com/olleolleolle/10cdc1c94214d77d07e8bd56bd80af20 for a Ruby 2.5 sheet of issues - I believe you know best what to polish away from that, but the leg-work is done. |
@olleolleolle thanks for all that work. I added it to the original description! |
@olleolleolle Thank you! |
@olleolleolle I have updated the description by removing any stdlib that we use unmodified (or nearly unmodified). We will still need to toe the line on gemification of those libraries, but I don't consider them major items (a single pass after 2.5 is released to set up all our equivalent default gems will do it). |
to support Ruby 2.5, see https://bugs.ruby-lang.org/issues/12746. jruby#4876
to support Ruby 2.5, see https://bugs.ruby-lang.org/issues/12746. jruby#4876
for Ruby 2.5 support as in https://bugs.ruby-lang.org/issues/8499 stated. jruby#4876
to support Ruby 2.5 and stated in this feature https://bugs.ruby-lang.org/issues/13676. ruby/ruby@d893c12. jruby#4876.
for Ruby 2.5 support as in https://bugs.ruby-lang.org/issues/8499 stated. jruby#4876
tests cherry picked from ruby/ruby@2aee703. Feature https://bugs.ruby-lang.org/issues/13801. jruby#4876.
https://bugs.ruby-lang.org/issues/6589 Tests c&p from ruby/ruby@8c90432. Supports jruby#4876
https://bugs.ruby-lang.org/issues/6589 Tests c&p from ruby/ruby@8c90432. Supports jruby#4876
https://bugs.ruby-lang.org/issues/6589 Tests c&p from ruby/ruby@8c90432. Supports jruby#4876
https://bugs.ruby-lang.org/issues/6589 Tests c&p from ruby/ruby@8c90432. Supports jruby#4876
Encoding is ignored currently due to a lack of encoding support in the Dir.entries logic. This change is to allow find.rb to work without argument errors.
We are getting close to being "done enough" with this to merge to master and start tidying things up for release. For all those interested in helping, the next step is to review the failures in the MRI and ruby/spec suites and either fix them (adding or modifying features as appropriate) or exclude/tag them (for features we won't support or can't support). A recent build is here. Look at |
@nomadium Thanks! I've merged in the relevant ones. We're getting there! |
The vast bulk of this is now implemented, and I've merged the branch to master. We'll need to green up the builds this week, but we're not far off. I'll create a new issue for remaining unimplemented 2.5 items. |
This issue will track Ruby 2.5 support for JRuby. This will be released in JRuby 9.3.0.0 or JRuby 10.
As with previous releases, we will base our checklist on MRI's NEWS file: https://github.com/ruby/ruby/blob/trunk/NEWS
This bug will track all NEWS items new in Ruby 2.5. 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.5
branch.Language changes
Core classes updates (outstanding ones only)
Array
Array#append
Feature #12746Array#prepend
Feature #12746Data
Dir
Dir.glob
provides new optional keyword argument,:base
. Feature #13056Dir.children
Feature #11302Dir.each_child
Feature #11302File
File.open
implies text mode now. Bug #13350File#path
now raises an IOError for files opened withFile::Constants::TMPFILE
option. Feature #13568File.lutime
Feature #4052Hash
Hash#transform_keys
Feature #13583Hash#transform_keys!
Feature #13583Hash#slice
Feature #8499IO
IO#pread
Feature #4532IO#pwrite
Feature #4532IO#copy_stream
tries copy offload withcopy_file_range(2)
Feature #13867IO#write
accepts multiple arguments Feature #9323IOError
Integer
Integer.sqrt
Feature #13219Integer#step
does no longer rescue exceptions when given a step value which cannot be compared with#>
to 0. Feature #7688Integer#{round,floor,ceil,truncate}
now always return an Integer. Bug #13420Integer#pow
addedKernel
Kernel#yield_self
Feature #6721Kernel#pp
Feature #14123Module
Module#attr
,attr_accessor
,attr_reader
,attr_writer
are now public [Feature #14132]Module#define_method
,alias_method
,undef_method
,remove_method
are now public [Feature #14133]Numeric
<
,<=
,>=
,>
) no longer rescue exceptions of#coerce
. Return nil in#coerce
if the coercion is impossible. Feature #7688Process
Process.times
is improved ifgetrusage(2)
exists. Feature #11952Range
Range#initialize
no longer rescue exceptions when comparing begin andend with
#<=>
and raise a "bad value for range" ArgumentErrorbut instead let the exception from the
#<=>
call go through.Feature #7688
Regexp
String
String#-@
deduplicates unfrozen strings. Already-frozen strings remain unchanged for compatibility. Feature #13077String#-@
) optimized to return the same object (same as "literal".freeze in Ruby 2.1+) Feature #13295String#{casecmp,casecmp?}
now return nil for non-string arguments instead of raising a TypeError. Bug #13312String#delete_prefix
is added to remove prefix Feature #12694String#delete_prefix!
is added to remove prefix destructively Feature #12694String#delete_suffix
is added to remove suffix Feature #13665String#delete_suffix!
is added to remove suffix destructively Feature #13665String#each_grapheme_cluster
andString#grapheme_clusters
is added to enumerate grapheme clusters Feature #13780String#start_with?
supports regexp Feature #13712Regexp/String:
Thread
Thread#fetch
Feature #13009 (Implement fetch for Thread.current #5089)Thread#name=
is now visible on Windows 10.Time
Time#at
receives 3rd argument which specifies the unit of 2nd argument. Feature #13919KeyError
KeyError#receiver
Feature #12063KeyError#key
Feature #12063Stdlib updates (outstanding ones only)
Bundler
Pathname
Pathname#glob
Feature #7360 (Started in Pathname glob #5095)Psych
:symbolize_names
option toPsych.load
,Psych.safe_load
likeJSON.parse
Add :symbolize_names option to Psych.load like JSON.parse ruby/psych#333, Add :symbolize_names option to .safe_load too ruby/psych#337Psych::Handler#event_location
Add Psych::Handler#event_location ruby/psych#326frozen string literal = true
Make frozen string literal = true ruby/psych#320syck
gem Remove deprecated methods ruby/psych#312RbConfig
RbConfig::LIMITS
is added to provide the limits of C types. This is available when rbconfig/sizeof is required. (Partial support implemented, additional types can be added as needed)Ripper
Ripper#state
is added to tell the state of scanner. Feature #13686Ripper::EXPR_BEG
and so on forRipper#state
.SecureRandom
SecureRandom.alphanumeric
Set
Set#to_
as alias to#inspect
Feature #13676Set#===
as alias to#include?
Feature #13801Set#reset
Feature #6589StringIO
StringIO#write
accepts multiple argumentsStringScanner
StringScanner#size
Feature #836StringScanner#captures
Feature #836StringScanner#values_at
Feature #836Compatibility issues (excluding feature bug fixes)
BasicSocket
BasicSocket#read_nonblock
andBasicSocket#write_nonblock
no longer sets the O_NONBLOCK file description flag as side effect (on Linux only) Feature #13362Random
Random.raw_seed
renamed to becomeRandom.urandom
. It is now applicable to non-seeding purposes due to Bug #9569.Socket::Ifaddr
Socket::Ifaddr#vhid
is added Feature #13803ConditionVariable, Queue and SizedQueue reimplemented for speed.
Struct
. Feature #13552Stdlib compatibility issues (excluding feature bug fixes)
mathn.rb
Rubygems
C API updates
(Probably not JRuby-relevant.)
Supported platform changes
Implementation improvements
(Probably not JRuby-relevant.)
hash function is now SipHash13. Feature #13017
Miscellaneous changes
The text was updated successfully, but these errors were encountered: