Issue #21264 has been updated by jeremyevans0 (Jeremy Evans). My thoughts on these three issues: 1. DateTime: I think we don't need to optimize performance, but we should not accept known behavioral regressions. If @jinroq does not want to fix DateTime issues, I can look into doing so after Date itself is ready. 2. Fractional-day support: I am in favor of removing support for fractional days. 3. Minimum supported Ruby version: I am in favor of changing the required Ruby version to 3.3 and removing the C extension. The main reason to switch from the C extension to Ruby is to make maintenance easier, and maintaining multiple implementations is certainly not easier. Ruby versions older than 3.3 are out of support, and are likely to want to use the C extension anyway for performance (at least Ruby 3.1 and below). I think before we consider switching, the numerous issues I identified in the Ruby implementation need to be fixed in such a way as to not require rereviewing the entire change (no more rebasing). Links to my reviews: * https://github.com/ruby/date/pull/155#issuecomment-4286060068 * https://github.com/ruby/date/pull/155#issuecomment-4954516527 * https://github.com/ruby/date/pull/155#issuecomment-4986174939 * https://github.com/ruby/date/pull/155#issuecomment-5018954473 ---------------------------------------- Feature #21264: Extract Date library from Ruby repo in the future https://bugs.ruby-lang.org/issues/21264#change-118597 * Author: hsbt (Hiroshi SHIBATA) * Status: Open ---------------------------------------- Note: This is not for Ruby 3.5. `Date` and `DateTime` has no primary maintainer in 10+ years. I would like to deprecate `date` via bundled gems for reducing our maintenance time especially @nobu. But `Time.parse` and `Time.strptime` are widely used now. How do we deprecate `date` library? 1. Migrate `Date._strptime`, `Date.strptime` and `Date._parse` to `Time`. The current `Date` is migrated as bundled gems. 2. Migrate `Date` to the bundled gems. `Time.parse` and `Time.strptime` warns if `date` is not found. 3. Keep the current situation 4. ... Does anyone have another idea? -- https://bugs.ruby-lang.org/