Actions
Feature #20309
openBundled gems for Ruby 3.5
Description
I propose migrate the following default gems to bundled gems at Ruby 3.5. So, It means users will get warnings if users try to load them.
(Update with 2024/03/14)
- ostruct
- I make ostruct as optional on json at https://github.com/flori/json/pull/565
- logger
- activesupport needs to add logger to its dependency same as bigdecimal, drb or etc.
- fiddle
- pstore
- win32ole
I have a plan to migrate the following default gems too. But I need to more feedback from other committers about them.
- irb
- We need to consider how works
binding.irb
after Ruby 3.5. - I consider to use
irb
without Gemfile.
- We need to consider how works
- reline
- readline (wrapper file for readline-ext and reline)
- io-console
- rubygems uses that. Should we make optional that?
- open-uri
- yaml (wrapper file for psych)
- syck is retired today. I'm not sure what people uses
psych
directly, notyaml
.
- syck is retired today. I'm not sure what people uses
- rdoc
- We need to change build task like download rdoc gem before document generation.
- extract
make doc
frommake all
and invokemake doc
beforemake install
.
- extract
- or We make document generation is optional from Ruby 3.5
- We explicitly separate
make install
andmake install-doc
- We explicitly separate
- We need to change build task like download rdoc gem before document generation.
- un
-
ruby -run
is one of cool feature of Ruby. Should we avoid uninstallingun
gem? - mkmf uses
ruby -run
for that. I need to investigate that.
-
- singleton
- This is famous design pattern. Should we enforce users add them to their Gemfile?
- forwadable
-
reline
needs to add forwardable theirruntime_dependency
after migration.
-
- weakref
- I'm not sure how impact after migrating bundled gems.
- fcntl
- Should we integrate these constants into ruby core?
I would like to migrate ipaddr
and uri
too. But these are used by webrick that is mock server for our test suite. We need to rewrite webrick
with TCPSocker
or extract ipaddr
and uri
dependency from webrick
Other default gems depend on our build process or other libraries deeply. I will update this proposal if I could extract them from default gems.
Actions
Like2
Like0Like0Like0Like0Like1Like2Like1Like0Like0Like1Like0Like0Like0Like0Like0Like0Like0Like0Like0