From: "Dan0042 (Daniel DeLorme) via ruby-core" Date: 2026-09-20T17:17:09+00:00 Subject: [ruby-core:126808] [Ruby Feature#22304] Add rb_warn_to_remove_at() for deprecation warnings shown by default Issue #22304 has been updated by Dan0042 (Daniel DeLorme). > A major version bump is a chance to introduce incompatibilities, so I think we should decide for each deprecation whether to keep the schedule or to remove it at the major version. Ok I see, that makes sense. It might also be useful to say "deprecate this at v5.0" no matter what year it turns out to be. So what do you think should happen to 2023-12-25 Ruby 3.3.0 new message: feature X will be deprecated in Ruby 3.6 2025-12-25 Ruby 4.0.0 changed to: feature X will be deprecated in Ruby 4.1 2026-03-26 Ruby 3.3.11 keep incorrect "3.6" message or update to "4.1" ? Does the updated target version need to be backported to every branch ? ---------------------------------------- Feature #22304: Add rb_warn_to_remove_at() for deprecation warnings shown by default https://bugs.ruby-lang.org/issues/22304#change-119119 * Author: shugo (Shugo Maeda) * Status: Open ---------------------------------------- Deprecations such as #22205 and #22276 are scheduled in phases: a warning shown only when `Warning[:deprecated]` is enabled, then a warning shown by default, then the removal. For the first phase, `rb_warn_deprecated_to_remove_at(X.Y, fmt, suggest, ...)` (#17432) prints "... is deprecated and will be removed in Ruby X.Y", and a RUBY_DEBUG build fails to compile when the version reaches X.Y. For the second phase, there is no equivalent API. A warning with the `:deprecated` category is suppressed by default by definition, so the warning must be emitted with `rb_warn` without a category, and the message and the version check have to be written by hand. I propose to add `rb_warn_to_remove_at(X.Y, fmt, suggest, ...)` to internal/error.h: the same message and compile-time check, emitted with `rb_warn`. The name does not contain "deprecated" because `rb_warn_deprecated*` means a warning gated by `Warning[:deprecated]`. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/