Releases: ruby/ruby
3.1.1
What's Changed
- Bug #18434: error_highlight does not work for -e option
- Bug #18453: YJIT breaks Rails collection caching
- Bug #18458: Segmentation fault when missing Warning#warn method
- Bug #18436: Fix Pathname dot directory globbing
- Bug #18469: Backport c764e368bd9c0487e6cc97f8a62e0e0e99a0d7c5
- Bug #18292: 3.1.0-dev
include
cause Module to be marked as initialized - Bug #18468: Tutorial Link for Optionparser is broken
- Bug #18475: Yielding an element for Enumerator in another thread dumps core
- Bug #18489: Segmentation fault with ruby 3.1.0 in
active_decorator
- Bug #18497: Fiber内でProcess.daemonをするとSegmentation faultが起こる
- Bug #18517: 0 << (240) is NoMemoryError but 0 << (280) is 0
- Bug #18443: IO read/write/wait hook bug fixes.
- Bug #18516: Memory leak on aliasing method to itself
- Bug #18556: error: use of undeclared identifier 'MAP_ANONYMOUS'
- Bug #18501: [BUG] try to mark T_NONE object in RubyVM::InstructionSequence. load_from_binary
- Bug #18562: throw_data passed to rescue through require
- Bug #18570: Please Backport 77fe1fca0abb56f7f07725c0a3803d53a315c853 from the ipaddr gem to Ruby 3.1
- Fixed path for ipaddr.rb by hsbt · Pull Request #5533
- Merge RubyGems-3.3.7 and Bundler-2.3.7 by hsbt · Pull Request #5543
- Bug #18578: Hash#shift を繰り返していると ruby が無応答になる。
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
3.1.0
What's Changed
- Some codes replace to
RBOOL
macro by S-H-GAMELINKS · Pull Request #5023 - Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting
Class#descendants
- Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
- Bundle RBS 1.7.0 by soutaro · Pull Request #5105
- Bug #18329: Calling super to non-existent method dumps core
- Enhanced RDoc for Integer by BurdetteLamar · Pull Request #5099
- Add Aaron Patterson (@tenderlove) to YJIT code owners by maximecb · Pull Request #5119
- Enhanced RDoc for Integer by BurdetteLamar · Pull Request #5118
- Bug #18076: ext/digest/md5/md5.c:
-Wnull-pointer-subtraction
warning by Clang 13 - Enhanced RDoc for Integer by BurdetteLamar · Pull Request #5120
- Enhanced RDoc for Integer by BurdetteLamar · Pull Request #5134
- Enhanced RDoc for Integer by BurdetteLamar · Pull Request #5138
- Feature #18344: Improve performance Kernel#Float with using Primitive.mandatory_only? method
- Feature #6210: load should provide a way to specify the top-level module
- Feature #18287: Support nil value for sort in Dir.glob
- Enhanced RDoc for Integer by BurdetteLamar · Pull Request #5139
- Add --yjit-no-type-prop so we can test YJIT without type propagation by maximecb · Pull Request #5135
- Refactor getclassvariable by eileencodes · Pull Request #5137
- Feature #12495: Make "private" return the arguments again, for chaining
- Refactor setclassvariable by eileencodes · Pull Request #5143
- Feature #11256: anonymous block forwarding
- Feature #13715: [PATCH] avoid garbage from Symbol#to_s in interpolation
- Enhanced RDoc for Float by BurdetteLamar · Pull Request #5144
- YJIT: Add YJIT codegen for objtostring by HParker · Pull Request #5149
- Enhanced RDoc for Float by BurdetteLamar · Pull Request #5150
- Enhanced RDoc for Float by BurdetteLamar · Pull Request #5153
- Bug #17573: Crashes in profiling tools when signals arrive in non-Ruby threads
- What's Here section for Integer by BurdetteLamar · Pull Request #5155
- Feature #18273: Class#subclasses
- Bug #18250: Anonymous variables seem to break
Ractor.make_shareable
- Add setclassvariable to yjit by eileencodes · Pull Request #5127
- Enhanced RDoc for Float#next_float by BurdetteLamar · Pull Request #5160
- Bug #18358: zlib crashes when in progress
- Enhanced RDoc for Float#prev_float by BurdetteLamar · Pull Request #5162
- Enhanced RDoc for Float#floor by BurdetteLamar · Pull Request #5167
- Whats here for float by BurdetteLamar · Pull Request #5170
- Bug #18363:
make clean
should consistently handle generated files otherwise it can break the build. - Correct indentation error in numeric.c by BurdetteLamar · Pull Request #5178
- YJIT: Implement new struct accessors by jhawthorn · Pull Request #5161
- YJIT: Introduce jit_putobject by jhawthorn · Pull Request #5179
- Enhanced RDoc for numeric.c by BurdetteLamar · Pull Request #5184
- Feature #12913: A way to configure the default maximum width of pp
- Bug #18353: Czech keyboard input encoding on czech Windows
- Bug #13392: TracePoint return event location is incorrect for methods defined with define_method
- Bug #18377: Integer#times has different behavior depending on the size of the integer
- Bug #18382: Crash in compaction for ObjectSpace.trace_object_allocations
- Lazily create singletons on instance_{exec,eval} by jhawthorn · Pull Request #5146
- Adding links to literals and Kernel by BurdetteLamar · Pull Request #5192
- Fix broken link in string.c by BurdetteLamar · Pull Request #5208
- NEWS for [GH-#5146] [ci skip] by jhawthorn · Pull Request #5210
- Bug #18374: make: Circular spec/ruby/optional/capi/ext/array_spec.c <- spec/ruby/optional/capi/ext/array_spec.c dependency dropped.
- Bug #18388: IO.copy_stream incompatibility between Ruby 2 and Ruby 3
- Bug #18385: Refinement#import_methods(Enumerable) doesn't work
- Enhanced RDoc for literals.rdoc by BurdetteLamar · Pull Request #5213
- Bug #18391: Error building gems with binary extensions on Ruby 3.1
- Bug #18392: ObjectSpace::WeakMap#inspect causes BUG
- Avoid Array allocation when appending to args array by jhawthorn · Pull Request #5211
- Enhanced RDoc for String by BurdetteLamar · Pull Request #5227
- Bug #18243: Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
- Feature #18190: Split
Random::Formatter
from securerandom - Feature #15912: Allow some reentrancy during TracePoint events
- Feature #18397: Remove documentation that Qfalse == 0 in
extension.rdoc
, instead encourage use of RTEST - Feature #11689: Add methods allow us to get visibility from Method and UnboundMethod object.
- Enhanced RDoc for String by BurdetteLamar · Pull Request #5234
- Bug #18405: Regression in Struct member setter method parameters
- Feature #18406: Remove
NODE_DASGN_CURR
- Feature #13125: MRI has too much Qtrue : Qfalse;
- Feature #18176: Make Coverage suspendable
- Feature #17398: SyntaxError in endless method
- Feature #17684: Remove
--disable-gems
from release version of Ruby - Feature #17485: Keyword argument for timezone in Time.new
- Feature #17544:
Time#strftime
supports RFC 3339 UTC for unknown offset local time - Feature #17847:
ruby -run -e httpd
displays URL - Feature #18349: Let --jit enable YJIT on supported platforms
- Prepare for removing RubyVM::JIT by k0kubun · Pull Request #5262
- Bug #18120: Deadlock and segfault when using autoload in Ractor
- Bug #18267: Argument forwarding requires parenthesis on method definitions
- Enhanced RDoc for case mapping by BurdetteLamar · Pull Request #5245
- What's Here for Symbol by BurdetteLamar · Pull Request #5289
- [DOC] What's Here for ENV by BurdetteLamar · Pull Request #5292
- Bug #18415: String#rpartition is not sufficiently greedy compared to String#partition
- [DOC] Addition to IO introduction by BurdetteLamar · Pull Request #5299
- [DOC] Enhanced RDoc for IO by BurdetteLamar · Pull Request #5304
- [DOC] Enhanced RDoc for IO by BurdetteLamar · Pull Request #5307
- Bug #18414: win32ole.gemspec installed on Linux?
- Bug #17866: Incompatible changes with Psych 4.0.0
- Bug #18421:
IO#readpartial
andIO#read_nonblock
return non-empty string on empty file - [[DOC] Enhanced RDoc for IO by BurdetteLamar · Pull Request #5321](https://github.com/ruby/ruby/pu...
3.0.3
What's Changed
- Bug #18030: Backport 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4
- Bug #12052: String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
- Bug #18016: fiddle\types.rb typealias maybe wrong
- Bug #18014: Memory leak in GC when using Ractors
- Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
- Bug #15856: Performance of redundant
Kernel.require
is slow when many gems are activated - Bug #10902: require("enumerator") scans LOAD_PATH 2x on every invocation
- Bug #18065: 3.0.2 - possible memory leak in Hash#transform_keys!
- Bug #18053: Crashes and infinite loops when generating partial backtraces in Ruby 3.0+
- Bundle RBS 1.4.0 & typeprof 0.15.2 by soutaro · Pull Request #4753
- Bug #18138: Array#slice! invalid memory access
- Backport mutexes for socket and connection lists on win32 #4212 by andrew-aladev · Pull Request #4218
- Bug #18140: GC prematurely frees objects from implicit #to_ary conversion, leading to segfault
- Bug #18117: Segmentation fault when yielding values from Ractors during GC sweeping
- Bug #18007: Help developers of C extensions meet requirements in "doc/extension.rdoc"
- Bug #17609: addr2line.c: wrong operand size of DW_LNS_fixed_advance_pc
- Bug #17794: addr2line.c can free(3) an invalid pointer without zlib
- Bug #18126: Process termination three seconds after thread termination dumps core
- Bug #18154: String#initialize leaks memory for STR_NOFREE strings
- Bug #17661: IO#each will segfault when if file is closed inside an
each_byte
block - Bug #17756: StringScanner#charpos makes segmentation fault when target.byteslice returns non string value
- Bug #18160: IndexError raised from MatchData#{offset,begin,end} does not keep the encoding of the argument
- Bug #17735:
Hash#transform_keys!
drops non evaluated keys - Wake up join list within thread EC context. by ioquatix · Pull Request #4471
- Bug #18166: Windows Ripper test-all failures? bison package?
- Bug #18173: The feature in
$LOADED_FEATURES
is loaded again - Bug #18184: Wrong key for
ruby2_keywords_hash
flag - Bug #18141: Marshal load with proc yield objects before they are fully initialized
- Bug #18191: All loaded feature filenames should be in the file system encoding
- Bug #17507: Regexp capture groups ignored sometimes in some multithreaded environments (possible race condition)
- Bug #18232: Ractor.make_shareable is broken in code loaded with RubyVM::InstructionSequence.load_from_binary
- Bug #18023: Ractor#make_shareable changes the values of closured shareable objects
- Bug #18264: TracePoint leaks memory
- Bug #18329: Calling super to non-existent method dumps core
- Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
- Bug #17573: Crashes in profiling tools when signals arrive in non-Ruby threads
- Enable VM_ASSERT in --jit CIs by k0kubun · Pull Request #4543
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
2.7.5
What's Changed
- Bug #17841: The first instance of SortedSet doesn't sort when rbtree is present
- Bug #18161: [BACKPORT] b8386f7f7f6d7a7d76481e02d389d0f5211f0f2c
- Bug #7844: include/prepend satisfiable module dependencies are not satisfied
- Bug #16787: [patch] allow Dir.home to work for non-login procs when $HOME not set
- Bug #18016: fiddle\types.rb typealias maybe wrong
- Bug #15856: Performance of redundant
Kernel.require
is slow when many gems are activated - Bug #10902: require("enumerator") scans LOAD_PATH 2x on every invocation
- Bug #17794: addr2line.c can free(3) an invalid pointer without zlib
- Bug #18154: String#initialize leaks memory for STR_NOFREE strings
- Bug #18160: IndexError raised from MatchData#{offset,begin,end} does not keep the encoding of the argument
- Bug #18173: The feature in
$LOADED_FEATURES
is loaded again - Bug #18141: Marshal load with proc yield objects before they are fully initialized
- Bug #18264: TracePoint leaks memory
- Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
2.6.9
What's Changed
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
3.1.0.preview1
What's Changed
- Disable DTrace in FreeBSD by takano32 · Pull Request #3999
- test/test_trick.rb: Add a test file for TRICK entries by mame · Pull Request #3988
- IMAP: Multiple bugs by tonyarkles · Pull Request #196
- Bug #17481: Keyword arguments change value after calling super without arguments in Ruby 3.0
- Feature #17187: Add connect_timeout to TCPSocket
- irb: add more syntax errors colorizing support by no6v · Pull Request #3967
- Bug #17488: Regression in Ruby 3: Hash#key? is non-deterministic when argument uses DelegateClass
- Bug #17495: Make args info for RubyVM::AST to available on endless method without parens
- Feature #17498: Improve performance some Float methods
- Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
- Feature #10499: Eliminate implicit magic in Proc.new and Kernel#proc
- Bug #17510: enable constant cache on Ractors
- Bug #17491: `./configure' unsuccessful on Android NDK cross-build
- RDoc: Enhanced introduction for Enumerable by BurdetteLamar · Pull Request #4004
- Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
- Allow ostruct to return a value on super by HParker · Pull Request #4028
- Bug #17466: Inconsistent backtrace order in Ruby 3.0
- Bug #17522: A typo in
include/ruby/internal/stdalign.h
- Adds RDoc summary of Hash methods by BurdetteLamar · Pull Request #4045
- Fix Ractor Doc Typo by thomascchen · Pull Request #4048
- Bug #17521: [Matrix stdlib] Zero matrix to the power of zero
- Bug #17280: Dir.glob with FNM_DOTMATCH matches ".." and "." and results in duplicated entries
- Bug #17162: Dir['**/*'] : stack smashing detected when listing big amount of directories
- Bug #17532: Remove
"
fromregstr
arguments invm_dump.c
- Update wording in ractor.md by adam-pog · Pull Request #4056
- Bug #17504: Allow UTC offset without colons per ISO-8601
- Bug #11213: defined?(super) ignores respond_to_missing?
- Bug #17523: Inconsistent Warning[] values in scripts loaded by -r option
- Feature #17485: Keyword argument for timezone in Time.new
- Bug #17533: Named capture is not assigned to the same variable as reserved words.
- Feature #17407: Fiber.current and require 'fiber'
- Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- Bug #17423:
Prepend
should prepend a module before the class - Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
- Add What's Here to Array RDoc by BurdetteLamar · Pull Request #4062
- Additions to method_documentation.rdoc by BurdetteLamar · Pull Request #4065
- Bug #17536: Segfault in
CFUNC :define_method
- Feature #16806: Struct#initialize accepts keyword arguments too by default
- Skip updating exts in also test-spec to reduce the turnaround time by k0kubun · Pull Request #4089
- Bug #17558: ruby2_keywords ignores arguments after a block defined method
- Bug #17563: FrozenError raised from Module#const_set when receiver is not frozen
- What's Here for String RDoc by BurdetteLamar · Pull Request #4093
- Bug #17572: coerceで作成した(0.0/1)を計算に用いるとコアダンプする
- Bug #17575: deprecated style
respond_to?
warning with-W:no-deprecated
- Bug #17582: Build failure with bison-3.7.5
- Fix broken link in RDoc for String by BurdetteLamar · Pull Request #4123
- Bug #17564: Source command in irb exits after reading and evaluating the file
- Bug #17589: Pathname#each_line with chomp option raises TypeError
- Bug #17497: Ractor performance issue
- Bundle RBS 1.0.4 by soutaro · Pull Request #4136
- Update TypeProf to 0.12.0 by mame · Pull Request #4132
- Bug #17603:
rb_bug
prints incorrect values - Bug #17602: MinGW builds failing - binutils-2.36 ?
- NetBSD build update. by devnexen · Pull Request #4079
- Bug #17482: Ractor.receive doesnt accept Ctrl+C under some condition
- Bug #17609: addr2line.c: wrong operand size of DW_LNS_fixed_advance_pc
- Feature #17601: lib/benchmark: adding
Benchmark::Tms#to_h
- Feature #17614: Improve performance Float#negative? and Float#positive?
- Expose scheduler as public interface & bug fixes. by ioquatix · Pull Request #3945
- Feature #17615: Dump machine registers on RISC-V Linux
- Bug #17560: Does
Module#ruby2_keywords
returnnil
orself
? - Bug #17612: ractor crash with some simple codes
- Bug #17505: Can
Thread#group
actually benil
? - Bug #17620: doc: StringScanner: incorrect rendering
- Add a benchmark-driver runner for Ractor by k0kubun · Pull Request #4172
- Feature #17327: The Queue constructor should take an initial set of items
- Bug #17626: FileUtils.cp may cause utime_failed
- Feature #17479: Enable to get "--backtrace-limit" value by "$-B"
- Feature #16043:
$LOAD_PATH.resolve_feature_path
should not raise - Feature #17544:
Time#strftime
supports RFC 3339 UTC for unknown offset local time - Feature #17613: Eliminate useless catch tables and nops from lambdas
- Bug #17599: [BUG] try to mark T_NONE object when object allocation tracing is enabled
- Bug #17636: Race condition in check_rvalue_consistency_force when using ractors
- Bug #17642: Ractor should not allow "allocate" ("dup")
- Bug #17644: Ripper.lex fails with syntax error and heredoc
- Bug #17553: Rails CI shows infinite loop of method_missing since f4ce78d5c139a8825ee2d09f39aef03ef762dfc6
- Bug #17639: TYPO in define constant
- Bug #17581: Ruby 3.0 backtrace sometimes returns empty array
- Fix link msdn.microsoft.com by S-H-GAMELINKS · Pull Request #4202
- Feature #17632: Improve performance some Numeric methods
- Bug #17467: What makes strip() and lstrip() not stripping \u0000 from beginning of the string?
- Send :fiber_switch event for almost every fiber_switch by nevans · Pull Request #4207
- Bug #17590:
M.prepend M
has hidden side effect - Bug #17600: lib/benchmark should use
$stdout
instead ofSTDOUT
- Bug #17540: A segfault due to Clang/LLVM optimization on 32-bit ARM Linux
- Bug #14824: Endless Range Support in irb
- Bug #13654: irb save-history extension is not concurrency-safe
- Bug #16784: Compiling with --enable-load-relative and "musl-gcc -static" yields "negative string size (or size too big) (ArgumentError)"
- [Bug #17672: Ractor stdio...
3.0.2
What's Changed
- Bug #17802: backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
- Bug #17735:
Hash#transform_keys!
drops non evaluated keys - Bug #17723: autoconf 2.70+ is not working with master branch
- Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
- Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
- Bug #17877: Backport a fix of RDoc for CVE-2021-31799
- Bug #17874: Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 into ruby_3_0
- Bug #17781: Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
- Bug #17868: Strange result of Coverage for while-in-while
- Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- Bug #17861: Also
\U
after control/meta should be invalid as well as\u
- Bug #17854: Crash with certain "case" expressions on FreeBSD
- Bug #17827: Monitor is not fiber safe
- Bug #17625: OpenSSL::Timestamp::Response#failure_info does not work as documented
- Bug #17780: Backport for super_method aliases in ruby 2.7.3 causes Segfault
- Bug #17736: Destructive methods inconsistently handle
receiver frozen state
in given block - Bug #17467: What makes strip() and lstrip() not stripping \u0000 from beginning of the string?
- Bug #17761: Install location of header files in extension libraries
- Bug #17889: Enumerator::Lazy#with_index should return size
- Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- Bug #17806: Bad interaction between method cache, prepend, and refinements
- Bug #17822: Inconsistent visibility behavior with refinements
- Bug #17928: Backport 1aac0e88193a82ed36b43e852c46414181b66455 to Ruby 3.0
- Bug #17935: Backport 86c262541ad07528842d76dab4b9b34bd888d5f4 and 7e14762159643b4415e094f9d2a90afaf7994588 to Ruby 3.0
- Bug #17941: POSIX timers are not fork-safe on 2.7.x
- Bug #17948: Backport d74e5d5b4fba41a9120b3ed2762cf765478605ad (Crash more nicely when the VM isn't fully set up)
- Bug #17476: 3.0/specifications/default/net-*.gemspec repeats the same files
- Bug #16376: Stack-buffer-overflow in renumber_by_map in regcomp.c
- Bug #1205: SET_STACK_END crashes due to uninitialized ruby_current_thread
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
2.7.4
What's Changed
- Bug #17802: backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
- Bug #17780: Backport for super_method aliases in ruby 2.7.3 causes Segfault
- Fix 2.7 build by nobu · Pull Request #4359
- Bug #17781: Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
2.6.8
What's Changed
- Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
- Bug #15593: The nightly snapshot has not been updated since 2019-01-17
- Bug #17780: Backport for super_method aliases in ruby 2.7.3 causes Segfault
- Bug #17781: Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
- Bug #17877: Backport a fix of RDoc for CVE-2021-31799
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.