ruby/ruby
The Ruby Programming Language
0
Ruby v3_3_0_preview1
Release date:
May 12, 2023
Previous version:
v3_2_4
(released April 23, 2024)
Magnitude:
4,028
Diff Delta
Contributors:
4 total committers
Commits:
5 Features Released with v3_3_0_preview1
Browse Other Releases
Latest Pending
Unreleased 😎
v3_3_1
Released June 5, 2024
112,912 Δ
v3_3_0
Released December 25, 2023
13,675 Δ
v3_3_0_rc1
Released December 11, 2023
32,584 Δ
v3_3_0_preview3
Released November 12, 2023
69,081 Δ
v3_3_0_preview2
Released September 14, 2023
67,249 Δ
v3_3_0_preview1
Released May 12, 2023
4,028 Δ
v3_2_5
Released July 26, 2024
0 Δ
v3_2_4
Released April 23, 2024
897 Δ
v3_2_3
Released January 18, 2024
40,705 Δ
v3_2_2
Released March 30, 2023
833 Δ
Top Contributors in v3_3_0_preview1
nurse
hsbt
nobu
peterzhu2118
Directory Browser for v3_3_0_preview1
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
- Rewrite Kernel#loop in Ruby by k0kubun · Pull Request #6983
- Bug #19263: MJIT fails to compile multiple values in a single case in Ruby 3.2.0
- Fix round_half_even by mrkn · Pull Request #7023
- Fix [Bug 19273], set correct value to
outer_repeat
onOP_REPEAT
by makenowjust · Pull Request #7035 - Coverage.supported? recognizes oneshot_lines mode by kevin-j-m · Pull Request #7040
- Bug #19284: Integer overflow when using RUBY_GC_HEAP_INIT_SLOTS environment variable
- Bug #19290: Documentation: "produces:" (introducing terminal output) is wrongly formatted in few places
- Bug #19292: Time object's wday, yday, and isdst returns broken value (and so does to_a) when kwarg in: 'UTC' was given
- Bug #18899: Inconsistent argument handling in IO#set_encoding
- Bug #19291: Ripper's on_parse_error token has wrong content
- Bug #19296: Time.new's argument check is incomplete
- Bug #19298:
lib/mjit/instruction.rb
was reintroduced by merge mistake - Bug #19299: YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting...
- Bug #19305: TracePoint#parameters segfaults when certain method creation pattern is used
- Bug #19271: irb ignores rbs and debug
- Bug #19150: pack/unpack silently ignores unknown directives
- Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
- Skip reviews for cruby_bindings-only PRs [ci skip] by k0kubun · Pull Request #7004
- Bug #19262: Segmentation fault on RubyVM::AbstractSyntaxTree.node_id_for_backtrace_location
- Bug #19312: SEGV during test_ast.rb: <internal:ast>:76: [BUG] parser_token2id: unknown token -1
- Bug #19319: Crash in rb_str_casemap
- YJIT: Colorize outlined code differently on --yjit-dump-disasm by k0kubun · Pull Request #7073
- YJIT: Make iseq_get_location consistent with iseq.c by k0kubun · Pull Request #7074
- Bug #19323: Integer overflow in
Integer#<<
- YJIT: Remove old comments for regenerated branches by k0kubun · Pull Request #7083
- Bug #19320: Crash during compaction while traversing the stack
- YJIT: Fix a compilation warning with release build by k0kubun · Pull Request #7092
- Bug #19316: YJIT crash in 3.2.0
- Differentiate T_ARRAY and array subclasses by tenderlove · Pull Request #7091
- YJIT: Add a few asm comments by k0kubun · Pull Request #7105
- Assert possible hash functions in RHASH_ST_TABLE by k0kubun · Pull Request #7107
- Enable
clippy
checks for yjit in CI by ianks · Pull Request #7093 - YJIT: Do not refer to an undefined constant by k0kubun · Pull Request #7112
- Bug #4040: SystemStackError with Hash[*a] for Large a
- Bug #19335: Integer#remainder and Numeric#remainder should respect #coerce
- [DOC] Correction to RDoc for Regexp.new by BurdetteLamar · Pull Request #7130
- Bug #19339: Defining ivar on special constants with @ syntax causes segv
- Bug #19348: GVL being released earlier than expected when loading iseqs
- Update RBS commit hash by soutaro · Pull Request #7143
- Add stats so we can keep track of x86 rel32 vs register calls by maximecb · Pull Request #7142
- YJIT: implement codegen for
String#empty?
by maximecb · Pull Request #7148 - Test some missing coverage too. by ioquatix · Pull Request #7041
- YJIT: Set RUST_BACKTRACE=1 on YJIT GitHub Actions by k0kubun · Pull Request #7152
- Bug #19289: RbConfig::CONFIG["STRIP"] should keep
ruby_abi_version
andruby_abi_version
should always be part of Ruby - Implement splat for cfuncs. Split exit exit cases to better capture where we are exiting by jimmyhmiller · Pull Request #6929
- YJIT: Remove duplicated information in BranchTarget by k0kubun · Pull Request #7151
- Bug #19341: Write cache issue with class variables
- Bundle RBS 2.8.4 by soutaro · Pull Request #7159
- Feature #19314: String#bytesplice should support partial copy
- Bug #19237: Hash default_proc is not thread-safe to lazy-initialize value for a given key
- YJIT: Avoid BorrowError on GC.compact by k0kubun · Pull Request #7164
- Add
doc/distribution.md
to help reduce some of the confusion. by ioquatix · Pull Request #6856 - Windows build instructions documentation. by ioquatix · Pull Request #6956
- Ensure main file has default coverage if required. by ioquatix · Pull Request #7169
- More coverage tests & specs. by ioquatix · Pull Request #7171
- Bug #19343: Integer#ceildiv should respect #coerce
- Bug #19340: Ruby master 'make install' not installing rbs gem
- Pass through
line_offset
argument correctly (but it was always 0). by ioquatix · Pull Request #7177 - Bug #19255: YJIT: global symbol leakage
- Bug #19389: StringIO gets(..., chomp: true) behaves differently to File/IO.
- [DOC] Make changes to docs in ractor.rb by luke-gru · Pull Request #7180
- Bug #19390: Time.new: Assertion Failed: bignum.c:4187:rb_int_parse_cstr:len != 0
- Bug #19379: Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation
- YJIT: Inline return address callback by XrXr · Pull Request #7198
- YJIT: Skip defer_compilation for fixnums if possible by k0kubun · Pull Request #7168
- YJIT: Fix BorrowMutError on GC.compact by k0kubun · Pull Request #7176
- YJIT: Initial implementation of splat with optional params by jimmyhmiller · Pull Request #7166
- YJIT: Add splat optimized_send by jimmyhmiller · Pull Request #7167
- Use matrix.entry for the Ubuntu workflow by k0kubun · Pull Request #7205
- Fix a broken matrix by k0kubun · Pull Request #7207
- Test VM_CHECK_MODE on GitHub Actions by k0kubun · Pull Request #7204
- YJIT: Implement codegen for Kernel#block_given? by k0kubun · Pull Request #7202
- Make sure RUBY_YJIT_ENABLE only enables YJIT for truthy values by maximecb · Pull Request #7208
- YJIT: Fix BorrowMutError on BOP invalidation by k0kubun · Pull Request #7212
- YJIT: Handle splat with opt more fully by jimmyhmiller · Pull Request #7209
- Bug #19398: Memory leak in WeakMap
- use correct svar by ko1 · Pull Request #7225
- Bug #19399: Ripper::Lexer.parse throws NoMethodError error for some input
- Add a test for svar #7225 by k0kubun · Pull Request #7228
- Bug #19385: YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting.
- YJIT: log the names of methods we call to in disasm by maximecb · Pull Request #7231
- YJIT: Support ifunc on invokeblock by k0kubun · Pull Request #7233
- [DOC] Fix call-seq of Struct.new by kyanagi · Pull Request #7246
- YJIT: Check interrupts on frame pop by k0kubun · Pull Request #7248
- Bug #19415: Incorrect circularity warning for concurrent requires
- YJIT: Support arg0 splat on invokeblock by k0kubun · Pull Request #7234
- Bug #19426: Endless
Range#step
of object with#succ
method does not work - YJIT: Add counters for ivar exits by k0kubun · Pull Request #7266
- Bug #19425: Merge the internal only "private" GC headers together
- Bug #19400: YJIT fails to boot on ARM64 systems with 64 KiB pages
- YJIT: Add counter for megamorphic send by k0kubun · Pull Request #7274
- YJIT: Support invokesuper in a block by wildmaples · Pull Request #7264
- YJIT: optimized codegen for
rb_ary_empty_p
by maximecb · Pull Request #7242 - YJIT: format numbers in stats printouts with comma separators by maximecb · Pull Request #7281
- YJIT: add counters for polymorphic send and send with known class by maximecb · Pull Request #7288
- Convert doc/maintainers.rdoc to .md by k0kubun · Pull Request #7291
- Fix minor issues in doc/maintainers.md by jeremyevans · Pull Request #7292
- [DOC] Move old ChangeLog files to doc/ChangeLog by k0kubun · Pull Request #7293
- Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- Bug #19419: [BUG] try to mark T_NONE object in
ibf_dump_mark
- Bug #19259:
Data#with
doesn't callinitialize
norinitialize_copy
- YJIT: Don't side-exit on too-complex shapes by k0kubun · Pull Request #7298
- YJIT: Pad more spaces to accommodate delimiters by k0kubun · Pull Request #7302
- YJIT: Check correct BOP on gen_fixnum_cmp by k0kubun · Pull Request #7303
- YJIT: Optimize != for Integers and Strings by k0kubun · Pull Request #7301
- Refactor dir.rb sample by TomK32 · Pull Request #6977
- [DOC] Add an example of the splat operator with a non-array object by kyanagi · Pull Request #7098
- [DOC] remove redundant paragraph at set.rb by 4096void · Pull Request #6472
- Auto-merge feature for dependabot PRs by hsbt · Pull Request #7300
- YJIT: Initial support for rest args by jimmyhmiller · Pull Request #7311
- YJIT: Refactor getlocal and setlocal insns by k0kubun · Pull Request #7320
- YJIT: Show Context stats on exit by k0kubun · Pull Request #7327
- Bug #19444: YJIT String#+@ miscompilations
- YJIT: Use rb_ivar_get at the end of ivar chains by k0kubun · Pull Request #7334
- YJIT: Consolidate jit methods in JITState impl by jimmyhmiller · Pull Request #7336
- Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- [DOC] Change to handling of aliases by BurdetteLamar · Pull Request #7340
- Bug #19439: Marshal.load doesn't load Regexp instance variables
- Feature #19437: Add marking and sweeping time to GC.stat
- Bump SHAPE_MAX_NUM_IVS to 80 by k0kubun · Pull Request #7344
- YJIT: Fix clippy issues and remove unused params by jimmyhmiller · Pull Request #7348
- YJIT: Avoid checking symbol ID twice on send by k0kubun · Pull Request #7350
- YJIT: Fastpath for Module#=== by XrXr · Pull Request #7351
- Add support for LoongArch by zangruochen · Pull Request #7343
- [lldb] Add a print_flags command by eightbitraptor · Pull Request #7358
- YJIT: Introduce Opnd::Stack by k0kubun · Pull Request #7352
- Bug #19459: Is
length
ofIO::Buffer#read
required or optional? - Feature #18498: Introduce a public WeakKeysMap that compares by equality
- YJIT: Skip type checks on splat args and expandarray if possible by k0kubun · Pull Request #7363
- YJIT: Compress TempMapping by k0kubun · Pull Request #7368
- YJIT: Use enum for expressing type diff by k0kubun · Pull Request #7370
- Bug #19456: Incorrect line numbers in GC hook
- Bug #19463: YJIT
[BUG] Stack consistency error
under certain invalidation scenarios - Add
IO::Buffer.string
for efficient string creation. by ioquatix · Pull Request #7364 - Assigning
nil
to fiber storage deletes the association. by ioquatix · Pull Request #7378 - Prefer RB_NUM2LONG for string length. by ioquatix · Pull Request #7379
- Bug #19464: YJIT miscompiles
BasicObject#__send__
to alias methods ofsend
- Fix spelling by jbampton · Pull Request #7389
- YJIT: Use a boxed slice for gc_obj_offsets by k0kubun · Pull Request #7397
- YJIT: Compress BranchGenFn and BranchShape by k0kubun · Pull Request #7401
- Fix spelling by jbampton · Pull Request #7405
- YJIT: Use a boxed slice for outgoing branches and cme dependencies by k0kubun · Pull Request #7409
- Test with unreleased RBS by soutaro · Pull Request #7411
- YJIT: reject large stacks so we can use i8/u8 stack_size and stack_offset by maximecb · Pull Request #7412
- YJIT: Properly deal with cfunc splat when no args needed by jimmyhmiller · Pull Request #7413
- Fix rbs by soutaro · Pull Request #7415
- Bug #18797: Third argument to Regexp.new is a bit broken
- Increase timeout for ruby/debug tests by k0kubun · Pull Request #7421
- YJIT: Fix default call threshold in help by k0kubun · Pull Request #7424
- YJIT: Delete stale
frozen_bytes
related code by XrXr · Pull Request #7423 - YJIT: shrink stack_size/sp_offet to u8/i8 by maximecb · Pull Request #7426
- Bug #19471: Regexp::compile does not handle :timeout argument
- Bug #19468: Ruby 3.2: net/http sets UTF-8 encoding for binary responses
- YJIT: Fix a cargo test warning on x86_64 by k0kubun · Pull Request #7428
- Bug #19469: Crash when resizing generic iv list
- YJIT: fix CI issue reported by Koichi caused by small stack patch by maximecb · Pull Request #7442
- Expose the address of MJIT Pointers by tenderlove · Pull Request #7446
- Split a workflow for annocheck by k0kubun · Pull Request #7450
- Feature #19420: Simplify MJIT implementation
- Drop obsoleted MJIT header by k0kubun · Pull Request #7458
- Improve robustness of
io_wait
implementation. by ioquatix · Pull Request #7456 - Correctly clean up
keeping_mutexes
before resuming any other threads. by ioquatix · Pull Request #7460 - YJIT: Bump SEND_MAX_DEPTH to 10 by k0kubun · Pull Request #7452
- YJIT: Handle special case of splat and rest lining up by jimmyhmiller · Pull Request #7422
- Bug #19483: rubyzip not behaving well with YJIT
- YJIT: Handle splat+rest for args pass greater than required by jimmyhmiller · Pull Request #7468
- Allow enabling YJIT and RJIT independently by k0kubun · Pull Request #7474
- Bug #19482: Fix crash when allocating classes with newobj hook
- Remove SIGCHLD
waidpid
. by ioquatix · Pull Request #7476 - Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
- Remove special handling of
SIGCHLD
. by ioquatix · Pull Request #7482 - YJIT: Optimize
cmp REG, 0
intotest REG, REG
by k0kubun · Pull Request #7471 - YJIT: Merge x86_merge into x86_split by k0kubun · Pull Request #7487
- YJIT: upgrade type in
guard_object_is_string
by maximecb · Pull Request #7489 - Accept
sleep(nil)
as sleep forever. by ioquatix · Pull Request #7484 - Remove prototypes for functions that are no longer used. by ioquatix · Pull Request #7497
- RJIT: Break up and enable test_version by k0kubun · Pull Request #7495
- YJIT: Bump SEND_MAX_DEPTH to 20 by k0kubun · Pull Request #7469
- Bump the required BASERUBY version to 2.5 by k0kubun · Pull Request #7504
- Change the syntax of Primitive.attr! to Symbol by k0kubun · Pull Request #7501
- Update ruby/action-slack v3.1.1 by hsbt · Pull Request #7505
- Bug #19467: Some linear_time regexp does not match in linear time
- Bug #19476: Regexp unexpected partial match
- YJIT: Handle rest+splat where non-splat < required by jimmyhmiller · Pull Request #7499
- [DOC] Enhanced RDoc for NilClass by BurdetteLamar · Pull Request #7500
- YJIT: Merge add/sub/and/or/xor and mov on x86_64 by k0kubun · Pull Request #7492
- Revert sigchld changes by ioquatix · Pull Request #7517
- Bug #19529: [BUG] ObjectSpace::WeakMap can segfault after compaction
- YJIT: Allow testing assembler with disasm by k0kubun · Pull Request #7470
- YJIT: Implement throw instruction by k0kubun · Pull Request #7491
- YJIT: Introduce no_gc attribute by k0kubun · Pull Request #7511
- Remove SIGCHLD
waidpid
. by ioquatix · Pull Request #7527 - Bug #19530:
Array#sum
andEnumerable#sum
sometimes show different behaviours - Make EC required on JIT state by tenderlove · Pull Request #7520
- YJIT: use u16 for insn_idx instead of u32 by maximecb · Pull Request #7534
- YJIT: Eliminate unnecessary mov for trampolines by k0kubun · Pull Request #7537
- Bug #19442: Remove USE_RINCGC flag
- [DOC] Enhanced RDoc for TrueClass by BurdetteLamar · Pull Request #7521
- YJIT: add stats to keep track of when branch direction is known by maximecb · Pull Request #7544
- YJIT: Remove exit for rest and send combo by jimmyhmiller · Pull Request #7546
- YJIT: skip intermediate arrays in print_sorted_exit_counts by Maumagnaguagno · Pull Request #7547
- Bug #19531: ObjectSpace::WeakMap: replaced values still clear the key they were assigned to
- Feature #19406: Allow declarative reference definition for rb_typed_data_struct
- YJIT: Rest and block_arg support by jimmyhmiller · Pull Request #7557
- YJIT: Delete --yjit-global-constant-state by XrXr · Pull Request #7559
- YJIT: make type info more specific in gen_fixnum_cmp and gen_opt_mod by maximecb · Pull Request #7555
- Bug #19536: Frozen status loss when moving objects
- Bug #19539: Heredocs with leading spaces inconsistency
- Bug #19485: Unexpected behavior in squiggly heredocs
- Add explanation to rbs_skip_tests by soutaro · Pull Request #7525
- Feature #19443: Cache
Process.pid
- YJIT: tag output type as UnknownHeap in
toregexp
by maximecb · Pull Request #7562 - YJIT: Make dev_nodebug closer to dev by k0kubun · Pull Request #7570
- Bug #19535: Instance variables order is unpredictable on objects with
OBJ_TOO_COMPLEX_SHAPE_ID
- YJIT: Fix incorrect exit in splat by jimmyhmiller · Pull Request #7575
- YJIT: Fix large ISeq rejection by XrXr · Pull Request #7576
- Use shape information in YJIT's definedivar implementation by olefriis · Pull Request #7579
- YJIT: Use starting context for status === CantCompile by jimmyhmiller · Pull Request #7583
- YJIT: Constify EC to avoid an
as
pointer cast by XrXr · Pull Request #7591 - Bug #19113: Inconsistency in retention of compare_by_identity flag in Hash methods
- Feature #19347: Add Dir.fchdir
- Bug #19380: IO.read doesn't validate the offset argument
- YJIT: Rest and block_arg support by jimmyhmiller · Pull Request #7584
- IO::Buffer#resize: Free internal buffer if new size is zero by hanazuki · Pull Request #7569
- Fix incorrect usage of
rb_fiber_scheduler_io_(p)(read|write)
. by ioquatix · Pull Request #7593 - Bug #19175: Ripper does not recognize some pattern matching defining local variable
- Update rbs's commit hash to avoid test failure on pathname by pocke · Pull Request #7596
- Bug #19550: Memory leak in iclass for 32 bit systems
- YJIT: Stop using the starting_context pattern by k0kubun · Pull Request #7610
- YJIT: Add
--yjit-pause
andRubyVM::YJIT.resume
by maximecb · Pull Request #7609 - YJIT: Rest and keyword (non-supplying) by jimmyhmiller · Pull Request #7608
- Bug #19547:
RubyVM::AST.parse("\\", keep_tokens: true)
dumps core - Support
IO#pread
/IO#pwrite
using fiber scheduler. by ioquatix · Pull Request #7594 - YJIT: Generate side exits as late as possible by k0kubun · Pull Request #7612
- YJIT: Suppress unnecessary
unsafe
block by nobu · Pull Request #7634 - YJIT: Add codegen for Array#<< by k0kubun · Pull Request #7645
- Bug #19575: Crash in Time on 32-bit systems
- Feature #18885: End of boot advisory API for RubyVM
- YJIT: Stack temp register allocation by k0kubun · Pull Request #7651
- YJIT: add stats for ratio of versions per block by maximecb · Pull Request #7653
- Feature #19579: Remove !USE_RVARGC code
- Bug #19566: OptionParser::on raises unsupported argument type: URI (ArgumentError) but shouldn't
- Add example for Dir.pwd in Dir.getwd doc by jasonrclark · Pull Request #504
- YJIT: Count the number of actually written bytes by k0kubun · Pull Request #7658
- Bug #19578: abort() shows stack trace when run within rescue clause
- Bug #19580: Ensure ruby_xfree won't segfault if called after ruby_vm_destruct
- YJIT: Add codegen for Integer methods by k0kubun · Pull Request #7665
- Add BIN as an entry in the glossary by HParker · Pull Request #7667
- Feature #19474: Reduce the number of NEWOBJ macros
- YJIT: Stack temp register allocation for arm64 by k0kubun · Pull Request #7659
- Bug #19584: Crash in rb_gc_register_address
- Bug #19563: Ripper.tokenize(code).join != code when heredoc and multiline %w[] literal is on the same line
- Bug #19570:
Exception#full_message
raises anEncodingError
if the exception contains UTF8 characters after a newline andException#cause
contains UTF8 characters - Bug #19586: Rails CI fails since 89bdf6e94cb36567478c509722fe98069402fb8e and RUBY_YJIT_ENABLE=1
- Bug #19589: Expecting system stack error but crashing
- YJIT: Reduce paddings if --yjit-exec-mem-size <= 128 on arm64 by k0kubun · Pull Request #7671
- Bug #19587: Segmentation fault with ruby 3.2.0 - when running rspec suit.
- YJIT: Let Assembler own Context by k0kubun · Pull Request #7691
- Bug #19595: YJIT: Crash from missing argc check in known cfuncs
- Feature #19590: Include the invalid argument in error messages from
Process.clock_gettime
andProcess.clock_getres
- Bug #19593: Crash due to throw data set as cause
- YJIT: Add a sampling option to exit tracing by HParker · Pull Request #7693
- Feature #19538: Performance warnings
- YJIT: Move stack_opnd from Context to Assembler by k0kubun · Pull Request #7700
- YJIT: Use an enum to represent counters by k0kubun · Pull Request #7701
- YJIT: Fix edge and total counts in exit_locations by jhawthorn · Pull Request #7702
- YJIT: Add support for rest with option and splat args by jimmyhmiller · Pull Request #7698
- Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
- Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
- YJIT: Change to Option<CodegenStatus> by jimmyhmiller · Pull Request #7717
- YJIT: Introduce Target::SideExit by k0kubun · Pull Request #7712
- Bug #19601: YJIT
try to mark T_NONE object
stemming from object shape transition onself
- YJIT: Add a counter to all side exits by k0kubun · Pull Request #7720
- Feature #19561: ObjectSpace::WeakMap#delete and ObjectSpace::WeakKeyMap#delete
- YJIT: Spill a caller stack as late as possible by k0kubun · Pull Request #7726
- YJIT: Fixes failure reported by rails for opt+splat+rest by jimmyhmiller · Pull Request #7727
- YJIT: Fix raw sample stack lengths in exit traces by jhawthorn · Pull Request #7728
- MatchData#named_captures: add optional symbolize_names keyword by palkan · Pull Request #6952
- Feature #18897: Add a new instruction for sending messages to ephemeral stack arrays
- Refactor
Regexp#match
cache implementation by makenowjust · Pull Request #7724 - YJIT: Remove Insn::RegTemps by k0kubun · Pull Request #7741
- YJIT: Tweak asm comments by k0kubun · Pull Request #7743
- YJIT: Replace Mov with LoadInto on arm64 by k0kubun · Pull Request #7744
- YJIT: Avoid splitting mov for small values on arm64 by k0kubun · Pull Request #7745
- YJIT: Merge csel and mov on arm64 by k0kubun · Pull Request #7747
- YJIT: Merge lower_stack into the split pass by k0kubun · Pull Request #7748
- Remove unused opt_call_c_function insn by k0kubun · Pull Request #7750
- Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
- Bug #19416: Inconsistent behaviour for Struct.new without any member_names
- YJIT: Show definedivar exit reasons by k0kubun · Pull Request #7755
- YJIT: Use general definedivar at the end of chains by k0kubun · Pull Request #7756
- Bug #19592: Unable to statically link a single extension in 3.2.x and >=3.1.4
- Bug #19611: Ruby hangs up with
while true && true
- Bundle rbs-3.1.0 by soutaro · Pull Request #7766
- Bug #19624: Backticks - IO object leakage
- YJIT: Move exits in gen_send_iseq to functions and use ? by jimmyhmiller · Pull Request #7725
- Bug #19619: Numbered parameters don't work with method definition with parameters
- Delay start of the match cache optimization by makenowjust · Pull Request #7738
- Feature #19627: Ensure the VM is alive before accessing objspace in C API
- Bug #19622: Undocumented behavior of Array#& and similar methods
- For YJIT stats, set avg_len_in_yjit to 0 if denominator would be 0 by noahgibbs · Pull Request #7793
- Bug #19597: Process.argv0 returns the same mutable String
- Misc #19353: Drop gcc <= 6 and clang <= 9
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_2_0...v3_3_0_preview1