ruby / stringio

Pseudo `IO` class from/to `String`.
BSD 2-Clause "Simplified" License
33 stars 26 forks source link

Migrate away from cat19 method in JRuby #83

Closed headius closed 6 months ago

headius commented 6 months ago

JRuby versions prior to 10 shipped with RubyString encoding- and coderange-aware concatenation logic in the unfortunately named cat19 method. We are deprecating that method in JRuby 10 to be removed in a subsequent version, replacing it with more descriptive names that do not reference a specific version of Ruby.

StringIO will need to migrate to the newer versions. We will be applying some of the same renaming to JRuby 9.4 releases soon, to allow migrating before JRuby 10, but it's likely that at least one full major-release cycle will have to pass before we can remove the methods.

I will coordinate making appropriate changes here and in the 9.4 and 10.x branches of JRuby.

See jruby/jruby#8149 for the removal PR.

headius commented 6 months ago

I have pushed #84 but it will not pass except for against jruby-head and should not be released until we are comfortable that the new names have been in the wild long enough (or we must modify the logic to try both names via some reflection check or error fallback).

headius commented 6 months ago

I modified #84 to use a MethodHandle to indirect access to the replacement method, so it will work on both old and new JRuby. This can be released any time.

kou commented 6 months ago

This can be released any time.

OK!