You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 .
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.
The text was updated successfully, but these errors were encountered:
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
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.
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.
@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.
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.
The text was updated successfully, but these errors were encountered: