ruby/ruby
The Ruby Programming Language
0
Ruby v3_4_0_preview2
Release date:
October 7, 2024
Previous version:
v3_4_0_preview1
(released May 16, 2024)
Magnitude:
0
Diff Delta
Contributors:
0 total committers
Commits:
0 Commits in this Release
Could not find any commits associated with this release.
Browse Other Releases
Latest Pending
Unreleased ๐
v3_4_0_rc1
Released December 12, 2024
0 ฮ
v3_4_0_preview2
Released October 7, 2024
0 ฮ
v3_4_0_preview1
Released May 16, 2024
801 ฮ
v3_3_6
Released November 6, 2024
13,943 ฮ
v3_3_5
Released September 2, 2024
780 ฮ
v3_3_4
Released July 8, 2024
255 ฮ
v3_3_3
Released June 11, 2024
879 ฮ
v3_3_2
Released May 30, 2024
2,637 ฮ
v3_3_1
Released June 5, 2024
112,852 ฮ
v3_3_0
Released December 25, 2023
13,675 ฮ
Top Contributors in v3_4_0_preview2
Could not determine top contributors for this release.
Directory Browser for v3_4_0_preview2
We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.
Release Notes Published
What's Changed
- Bug #20468: Segfault on safe navigation in for target
- Bug #20493: Segfault on rb_io_getline_fast
- Bug #20494: Non-default directories are not searched when checking for a gmp header
- Bug #20499: Ruby builds on macOS store absolute paths for AR and NM in rbconfig since Ruby 3.2.3/3.3.0
- Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building
enc
- Bug #20510: File.open mode argument inconsistency
- Bug #20314: Simultaneous Timeout expires may raise an exception after the block
- Feature #20205: Enable
frozen_string_literal
by default - Misc #20507: Allow C extensions to be compiled cleanly with the
-Wsign-conversion
warning option - Bug #20512: Order of magnitude performance differenfce in single character slicing UTF-8 strings before and after length method is executed
- Bug #20438: String format "%\n" and "%\0" does not raise format error
- YJIT: limit size of call count stats dict by maximecb ยท Pull Request #10858
- Bug #20515: --with-gmp is not working - GMP support won't be built
- Bug #20496: Segfault when enabling YJIT
- Feature #20497: Tempfile.create_io
- Bug #20517:
Ripper.tokenize('"\\M-ใ"')
separates encoding valid string to encoding invalid string. - YJIT: Fix getconstant exits after opt_ltlt fusion by k0kubun ยท Pull Request #10903
- Add/revise Errno descriptions by BurdetteLamar ยท Pull Request #10897
- Bug #20522: YJIT can panic if shape transition in
gen_setinstancevariable
emits a performance warning - [DOC] Exceptions doc by BurdetteLamar ยท Pull Request #10865
- Feature #20524: mswin and gmp
- [DOC] Doc for module Errno by BurdetteLamar ยท Pull Request #10913
- Feature #19998: Emit deprecation warnings when the old (non-Typed) Data_XXX API is used
- Bug #20521: Memory leak in Ripper parsing
- Bug #19749: Confirm correct behaviour when attaching private method with
#define_method
- Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
- Bundle rbs-3.5 by soutaro ยท Pull Request #10929
- Bug #20397: The nkf license in LEGAL file seems to be obsolete
- Bug #20518: Escaped-newline in %W
- YJIT: implement variable-length context encoding scheme by maximecb ยท Pull Request #10888
- YJIT: implement cache for recently encoded/decoded contexts by maximecb ยท Pull Request #10938
- Bug #20566: string << 0xC2 should raise a RangeError if the string encoding is Encoding::ASCII
- Bug #20569: Instruction sequence generated from
shareable_constant_value: literal
files may not be serialized to binary - Bug #20154: aarch64: configure overrides
-mbranch-protection
if it was set in CFLAGS via environment - Bug #20573: Warning.warn shouldn't be called for disabled warnings
- Bug #20562: Categorize
RUBY_FREE_AT_EXIT
warning - Bug #20572: Compilation hangs with nested until
- YJIT: add context cache hits stat by maximecb ยท Pull Request #10979
- Bug #20577: FREE_AT_EXIT segfaulting after 32683aa1
- RJIT: Fixed and/or reg+disp32 operations by ukolovda ยท Pull Request #10856
- Bug #20578: Tokenizing string literal that have newline and invalid escape is wrong
- Fixed indents in recently RJIT patch by ukolovda ยท Pull Request #11001
- Enable LeakChecker for RJIT previously disabled for MJIT by XrXr ยท Pull Request #10998
- Bug #20579:
Ripper.tokenize("1\n ")
does not include trailing spaces - Bug #20585: Size of memory allocated by String.new(:capacity) is different from the specified value
- Bug #20592: Interrupting Addrinfo causes Segmentation fault on alpine
- Bug #20043:
defined?
checks for method existence but only sometimes - Bug #20457: Final
return
is eliminated from the AST - Test rbs-gem with unreleased version by soutaro ยท Pull Request #11060
- Use
File.open
instead ofIO.sysopen
(backport to 3.5) by soutaro ยท Pull Request #11061 - [DOC] Doc for exceptions by BurdetteLamar ยท Pull Request #11008
- Bug #20595: Corruption of encoding name string
- Bug #20598: Corruption of internal encoding string
- Fix comment for VM_CALL_ARGS_SIMPLE by Gadiguibou ยท Pull Request #11067
- Synchronize Bundler & RubyGems by deivid-rodriguez ยท Pull Request #11071
- YJIT: Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping. by nirvdrum ยท Pull Request #11083
- Speed up chunkypng benchmark by tenderlove ยท Pull Request #11087
- Feature #20470: Extract Ruby's Garbage Collector
- Feature #20589: Resize array in
rb_ary_freeze
and userb_ary_freeze
internally for arrays - [DOC] Doc for Integer#floor by BurdetteLamar ยท Pull Request #11077
- Use
__CET__
macro to enable IBT support. by voxik ยท Pull Request #11081 - Bug #20606: Thread#thread_variable_get, Thread#thread_variable? and Thread#[] methods handle non-String/Symbol parameter values differently
- Bug #20601: Configuration flags are not properly propagated to assembler
- Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- Feature #19236: Allow to create hashes with a specific capacity from Ruby
- [DOC] Doc for Float#ceil by BurdetteLamar ยท Pull Request #11125
- YJIT: add comments and assertions to context cache code by maximecb ยท Pull Request #10983
- Bug #20593:
Kernel#format
emits atoo many arguments for format string
warning when called with a single hash and no key is used - IBM864 single-byte transcoding by jeremy ยท Pull Request #10518
- Update yjit.md, explain how to run a single test with test-all by maximecb ยท Pull Request #11151
- YJIT: increase context cache size to 1024 redux by maximecb ยท Pull Request #11140
- YJIT: remove doc/yjit/yjit_hacking.md by maximecb ยท Pull Request #11153
- Feature #20443: Allow Major GC's to be disabled
- Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
- YJIT: Local variable register allocation by k0kubun ยท Pull Request #11157
- YJIT: split chain_depth and flag booleans in context by maximecb ยท Pull Request #11169
- Feature #20576: Add MatchData#bytebegin and MatchData#byteend
- Bug #20587: dir.c calls blocking filesystem APIs/system calls while holding the GVL
- Feature #18776: Object Shapes
- Bugfix - Typos in comments by jutaz ยท Pull Request #1140
- YJIT: Allow dev_nodebug to disasm release-mode code by k0kubun ยท Pull Request #11198
- Bug #20632: madvise(MADV_FREE) failure should not crash the process
- Remove redundant :use_block with yield by k0kubun ยท Pull Request #11203
- Bug #20641:
lib/bundled_gems.rb
makesKernel.require
over 100x slower - Feature #20624: Enhance
RubyVM::AbstractSyntaxTree::Node#locations
method andRubyVM::AbstractSyntaxTree::Location
class - [DOC] Doc for BasicObject by BurdetteLamar ยท Pull Request #11139
- Bug #20647: Invalid return in class/module body from within singleton class
- Bug #20649: Ripper fails to tokenize
def f; (x)::A =
- Bug #20650: Memory leak in Regexp capture group when timeout
- Bug #20653: Memory leak in String#start_with? when regexp times out
- [DOC] rb_ary_s_create by BurdetteLamar ยท Pull Request #11256
- Feature #20646: Improve Socket.tcp
- Bug #20655: Calling continuation triggers ensure function of rb_ensure
- Bug #20654: Floor and ceil have unexpected behaviour when ndigits is large
- [DOC] Tweaks for Array.new by BurdetteLamar ยท Pull Request #11259
- [DOC] Tweaks to Array.try_convert by BurdetteLamar ยท Pull Request #11260
- Feature #20563: Drop support for old Windows
- YJIT: Decouple Context from encoding details by k0kubun ยท Pull Request #11283
- [DOC] Adds "Further Considerations" to documentation_guide.md by BurdetteLamar ยท Pull Request #11281
- YJIT: Enhance the
String#<<
method substitution to handle integer codepoint values. by nirvdrum ยท Pull Request #11032 - [DOC] Tweaks to Array#+ by BurdetteLamar ยท Pull Request #11302
- [DOC] Tweaks to Array#- by BurdetteLamar ยท Pull Request #11303
- Make YJIT a GC root rather than an object by peterzhu2118 ยท Pull Request #11343
- Sync rdoc to fix master doc's display issue by st0012 ยท Pull Request #11345
- [DOC] Tweaks for Array#[]= by BurdetteLamar ยท Pull Request #11329
- YJIT: Allow tracing fallback counters by k0kubun ยท Pull Request #11347
- Bug #20668: [3.3] shareable_constant_value: literal crash
- Bug #20344: argument stack underflow (-1)
- [DOC] Tweaks to Array#all? by BurdetteLamar ยท Pull Request #11365
- Improve base time of assert_linear_performance by tompng ยท Pull Request #11369
- [DOC] Tweaks to Array#assoc by BurdetteLamar ยท Pull Request #11384
- Feature #18368: Range#step semantics for non-Numeric ranges
- Bug #20679: Rails CI errors since abc04e898b627ab37fa9dd5e330f239768778d8b
- Decrease the timeout in assert_darwin_vm_dump_works by ono-max ยท Pull Request #11412
- Bug #20687: Does tarball require baseruby?
- [DOC] Include keywords.rdoc in doc/syntax/ by BurdetteLamar ยท Pull Request #11414
- Bug #20677: error: mach-o section specifier requires a segment whose length is between 1 and 16 characters
- Bug #20688: Use-after-free in WeakMap and WeakKeyMap
- [DOC] Tweaks for Array#collect! by BurdetteLamar ยท Pull Request #11434
- Bug #20691: Use-after-free in WeakKeyMap#clear
- Bug #20680: No "void context" warning for literals/etc. in ensure block
- [DOC] Tweaks to Array#combination by BurdetteLamar ยท Pull Request #11440
- Bug #20701: Hash argument passed as keyword splat can be mutated inside method
- [DOC] Tweaks for Array#cycle by BurdetteLamar ยท Pull Request #11459
- YJIT: Pass method arguments using registers by k0kubun ยท Pull Request #11280
- YJIT: Encode doubles to VALUE objects and move stat generation to rust by rwstauner ยท Pull Request #11388
- [DOC] Array comparing doc by BurdetteLamar ยท Pull Request #11486
- Bug #20704: Windows:
-C
option does not work for multibyte path name - [DOC] Relateds for combo methods by BurdetteLamar ยท Pull Request #11483
- [DOC] Related for Array#all? and Array#any? by BurdetteLamar ยท Pull Request #11495
- [DOC] Related for Array#[] by BurdetteLamar ยท Pull Request #11487
- Bug #20695: Elevated GC allocations in parse.y parser
- Bug #20708: EINTR while opening fifo isn't retried
- Feature #20590: Ensure
fork
isn't called whenraddrinfo
's background thread is ingetaddrinfo
- Feature #20684: Add optimized instructions for frozen literal Hash and Array
- Issue #11865, lib/csv.rb Added attribute @line. by donilan ยท Pull Request #1170
- Feature #20707: Move
Time#xmlschema
into core - YJIT: Speed up block_assumptions_free by k0kubun ยท Pull Request #11556
- Feature #20702: Add
Array#fetch_values
- Bug #20718: Objects created with Data_Make_Struct and the default free function are not freed
- Bug #20719:
Float
converts ASCII-incompatible string - Feature #20594: A new String method to append bytes while preserving encoding
- Bug #20710: Reducing Hash allocation introduces large performance degradation (probably related to VWA)
- [DOC] Rationalize aliases in "What's Here" by BurdetteLamar ยท Pull Request #11516
- [DOC] Rationalize aliases in "What's Here" by BurdetteLamar ยท Pull Request #11517
- [DOC] Tweaks for Array#difference by BurdetteLamar ยท Pull Request #11593
- Bug #20720: prism incorrectly marks SuperNode as forwarding in some cases
- Bug #20586: Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted
- Feature #20564: Switch default parser to Prism
- [DOC] Tweaks for Array#fetch by BurdetteLamar ยท Pull Request #11602
- [DOC] Tweaks for Array#fetch_values by BurdetteLamar ยท Pull Request #11603
- Bug #20725: Inconsistent handling of doubly-unbounded ranges in Range#overlap?
- Bug #20732: prism emits "mismatched indentations" warning in eval
- Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
- Bug #20730: LoadError if Rakefile has shebang
- Bug #20735: prism emits "ambiguous
&
" warning - Bug #20748: Issue with defined? given method call with block in prism compiler
- Bug #20741: RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
- Bug #20744: syntax error found (SyntaxError)
UTF-8 mixed within US-ASCII source
reported Ruby with Prism parser - Bug #20747: [prism] regression in retry precedence
- Bug #20723:
IO#close
is broken on Ruby 3.3+ when using the Fiber scheduler. - Bug #20736: prism emits wrong warnings in syntax-error code
- YJIT: Accept key for runtime_stats to return only that stat by rwstauner ยท Pull Request #11536
- Bug #20754: [doc]
Hash::new
is missing from rdoc for 3.4 - Bug #20740: prism_compile coding issue for PM_FORWARDING_SUPER_NODE
- Bug #20640: Evaluation Order Issue in f(**h, &h.delete(key))
- Bug #20597:
eval('break if false')
should raise SyntaxError but retuns nil - Bug #20607: Exception messages are inconsistent when thread-local variables are accessed
- Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
- Bug #18651: oob access in CP51932 -> CP50220 transcoder
- Bug #20337: Complex#inspect mutates the string returned by
real.inspect
- [DOC] More on Array#fill by BurdetteLamar ยท Pull Request #11610
- Bug #13831: error when try to install
- YJIT: Cache Context decoding by k0kubun ยท Pull Request #11680
- [DOC] Tweaks for Array#find_index by BurdetteLamar ยท Pull Request #11686
- Bug #20763: Stack consistency error with bare endless range
- [DOC] Tweaks for Array#flatten by BurdetteLamar ยท Pull Request #11688
- Bug #10555: '?' is not match to multibyte character at commandline globbing on Windows
- [DOC] Tweaks for Array#insert by BurdetteLamar ยท Pull Request #11709
- [DOC] Tweaks for Array#flatten! by BurdetteLamar ยท Pull Request #11689
- [DOC] Tweaks for Array#first by BurdetteLamar ยท Pull Request #11687
- [DOC] Tweaks for Array#hash by BurdetteLamar ยท Pull Request #11704
- Bug #20773: CI of RHEL8 and Amazon Linux 2 are failed from Sep 26th
- Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
- Bug #20501: ruby SEGV
- Return an Iterator Instead of a Vector in
addrs_to_pages
Method by whtsht ยท Pull Request #11725 - Bug #20755: IO::Buffer#transfer transfers mutable reference to String's memory but not lock ownership
- Bug #20764: Forwarding parameter
...
is wrongly allowed in lambda - [DOC] Tweaks for Array#inspect by BurdetteLamar ยท Pull Request #11743
- [DOC] Tweaks for Array#last by BurdetteLamar ยท Pull Request #11748
- [DOC] Tweaks for Array#intersection by BurdetteLamar ยท Pull Request #11745
- [DOC] Tweaks for Array.intersect? by BurdetteLamar ยท Pull Request #11744
- [DOC] Tweaks for Array#max by BurdetteLamar ยท Pull Request #11768
- Update
IO::Buffer
documentation. by ioquatix ยท Pull Request #11737 - Add
IO::Buffer
tests for read and write with length & offset. by ioquatix ยท Pull Request #11779 - Bug #20620: singleton_method undefined for module using "extend self"
- [DOC] Tweaks for Array#min by BurdetteLamar ยท Pull Request #11786
- Improve documentation for
IO#timeout
and related functions. by ioquatix ยท Pull Request #9527 - Better handling of timeout in
rb_io_maybe_wait_*
. by ioquatix ยท Pull Request #9531 - Update
io_spec.c
to userb_io_maybe_wait*
if possible. by ioquatix ยท Pull Request #11792 - Direct access to
fptr->fd
should prefer to use theinternal/io.h
. by ioquatix ยท Pull Request #11793 - Bug #20783: --enable-shared and the rpath/runpath are broken on Linux on CRuby master
- [DOC] Tweaks for Array#minmax by BurdetteLamar ยท Pull Request #11787
- [DOC] Tweaks for Array#one? by BurdetteLamar ยท Pull Request #11789
- [DOC] Tweaks for Array#none? by BurdetteLamar ยท Pull Request #11788
- Introduce
rb_io_blocking_region
which takesstruct rb_io
argument. by ioquatix ยท Pull Request #11795 - Bug #20784:
?\
followed by EOF is parsed wrong - Feature #20705: Should "0.E-9" be a valid float value?
- Bug #20433: Hash.inspect for some hash returns syntax invalid representation
- Bug #20787: IO#readline does not check its arguments like IO#gets and will read more data than limit
Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.
Full Changelog
https://github.com/ruby/ruby/compare/v3_4_0_preview1...v3_4_0_preview2