Skip to content
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

Minor Version of IRB introducing undisclosed psych breaking changes #703

Closed
broksonic21 opened this issue Aug 31, 2023 · 1 comment · Fixed by #704
Closed

Minor Version of IRB introducing undisclosed psych breaking changes #703

broksonic21 opened this issue Aug 31, 2023 · 1 comment · Fixed by #704
Assignees
Labels
bug Something isn't working

Comments

@broksonic21
Copy link

broksonic21 commented Aug 31, 2023

Description

For any of us using Ruby 3.0 or 2.7.8, both of which have psych 3 as a default gem, and having a working environment using irb 1.7.1, upgrading to irb 1.8.0 https://github.com/ruby/irb/releases/tag/v1.8.0 causes an undocumented breaking change.

This is because irb 1.8.0 now depends on rdoc because of #648 .

Rdoc has a dependency on psych 4 (see https://github.com/ruby/rdoc/blob/e3bd8698df51b413b0b203247edc160b876ac79a/rdoc.gemspec#L236 , which has significant breaking changes from the Ruby defaults of psych 3.

For more on the breaking changes, see the following:

Amongst other articles (Rails and Ruby have both had to make changes because of the safe_load change)

We are aware that psych 4 will be/is the default in Ruby 3.1 and Rails 7.1, but for those of us not there, this is an unexpected breaking change caused by a minor update to irb.

While I would love the rdoc dependency removed in lieu of Ruby defaults or per-application choice, if nothing else, the transitive upgrade to psych should be disclosed or documented as a breaking change in my opinion, with a major version bump for irb.

@broksonic21 broksonic21 changed the title Minor Version of IRB causing undisclosed psych breaking changes Minor Version of IRB introducing undisclosed psych breaking changes Aug 31, 2023
@st0012 st0012 added the bug Something isn't working label Aug 31, 2023
@st0012 st0012 self-assigned this Aug 31, 2023
st0012 added a commit that referenced this issue Aug 31, 2023
1. The newer versions of rdoc requires pysch 4.0+, which could break apps
   using Ruby 3.0 or 2.7. #703 has more detailed explanation on this.
2. We actually don't use any version-specific rdoc APIs. So having a version
    requirement is not necessary atm.
tompng pushed a commit that referenced this issue Aug 31, 2023
1. The newer versions of rdoc requires pysch 4.0+, which could break apps
   using Ruby 3.0 or 2.7. #703 has more detailed explanation on this.
2. We actually don't use any version-specific rdoc APIs. So having a version
    requirement is not necessary atm.
@st0012
Copy link
Member

st0012 commented Aug 31, 2023

@broksonic21 Thank you for explaining the problem in details. I've removed the version requirement on rdoc so ideally you can pin down the psych version and still be able to upgrade IRB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

Successfully merging a pull request may close this issue.

2 participants