Feature #20309
Updated by hsbt (Hiroshi SHIBATA) 9 months ago
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.
* ostruct
* I make ostruct as optional on json at https://github.com/flori/json/pull/565
* irb
* reline
* readline (wrapper file for readline-ext and reline)
* io-console
* logger
* fiddle
* pstore
* open-uri
* yaml (wrapper file for psych)
* syck is retired today. I'm not sure what people uses `psych` directly, not `yaml`.
* win32ole
I have a plan to migrate the following default gems too. But I need to more feedback from other committers about them.
* rdoc
* We need to change build task like download rdoc gem before document generation.
* or We make document generation is optional from Ruby 3.5
* We explicitly separate `make install` and `make install-doc`
* un
* `ruby -run` is one of cool feature of Ruby. Should we avoid uninstalling `un` gem?
* singleton
* This is famous design pattern. Should we enforce users add them to their Gemfile?
* forwadable
* `reline` needs to add forwardable their `runtime_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.