Skip to content

Migrate away from cat19 method in JRuby #83

Closed

Description

@headius

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.

Activity

  1. changed the title [-]Migrate way from cat19 method in JRuby[/-] [+]Migrate away from cat19 method in JRuby[/+] on Mar 12, 2024
  2. added a commit that references this issue on Mar 12, 2024
  3. headius commented on Mar 12, 2024

    @headius
    ContributorAuthor

    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).

  4. headius commented on Mar 12, 2024

    @headius
    ContributorAuthor

    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.

  5. kou commented on Mar 13, 2024

    @kou
    Member

    This can be released any time.

    OK!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions