Feature #17468


Deprecate RUBY_DEVEL

Added by naruse (Yui NARUSE) almost 2 years ago. Updated about 2 months ago.

Target version:


Some configuration of Ruby use RUBY_DEVEL, which depends PATCH_LEVEL.
But depending PATCH_LEVEL causes issues which will become revealed on the final release.
Though we release some previews and RCs, they don't contributes the quality around RUBY_DEVEL.

Therefore to ensure CI tests the quality of the final release, we need to deprecate RUBY_DEVEL.

Actions #1

Updated by naruse (Yui NARUSE) almost 2 years ago

  • Tracker changed from Bug to Feature
  • Backport deleted (2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN)

Updated by jeremyevans0 (Jeremy Evans) 12 months ago

I looked into this. If we removed RUBY_DEVEL, we would make it so ruby_debug_log was never defined, since it is only defined if RUBY_DEVEL is defined. Basically, removing RUBY_DEVEL is equivalent to removing the removing the entire debug logging feature.

I think a safer and less invasive change is to make RUBY_DEVEL not depend on PATCH_LEVEL. By doing so, Ruby developers that want to use debug logging can still manually use RUBY_DEVEL=yes when configuring, but it will never be enabled automatically. I submitted a pull request for this: One change it makes is to set USE_RUBY_DEBUG_LOG to 1 instead of 0 if RUBY_DEVEL is defined and USE_RUBY_DEBUG_LOG isn't. Since RUBY_DEVEL is no longer enabled automatically, the main reason to enable it would be to support debug logging, in which case I think 1 is a better default.

Updated by mame (Yusuke Endoh) 9 months ago

When packaging a new tarball, we faced this issue again. Building a tarball produces so many warnings:

./vm_debug.h:34:5: warning: "RUBY_DEVEL" is not defined, evaluates to 0 [-Wundef]
   34 | #if RUBY_DEVEL
      |     ^~~~~~~~~~
./vm_debug.h:100:5: warning: "USE_RUBY_DEBUG_LOG" is not defined, evaluates to 0 [-Wundef]
  100 | #if USE_RUBY_DEBUG_LOG
      |     ^~~~~~~~~~~~~~~~~~
In file included from ./vm.c:40:
./vm_sync.h:7:5: warning: "USE_RUBY_DEBUG_LOG" is not defined, evaluates to 0 [-Wundef]
    7 | #if USE_RUBY_DEBUG_LOG
      |     ^~~~~~~~~~~~~~~~~~
Actions #4

Updated by hsbt (Hiroshi SHIBATA) 4 months ago

  • Target version changed from 3.1 to 3.2
Actions #5

Updated by jeremyevans (Jeremy Evans) about 2 months ago

  • Status changed from Open to Closed

Applied in changeset git|357352af5ee37bf31ba4468ee242ea5a10158461.


This makes RUBY_DEVEL not enabled automatically. It still can be
enabled manually.

Test manually using RUBY_DEVEL in CI.

Implements [Feature #17468]


Also available in: Atom PDF