Project

General

Profile

Feature #20309

Updated by hsbt (Hiroshi SHIBATA) 2 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) 
 * 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.

Back