NEWS for Ruby 3.2.0

This document is a list of user-visible feature changes since the 3.1.0 release, except for bug fixes.

Note that each entry is kept to a minimum, see links for details.

Language changes

ruby proc{|a, **k| a}.call([1, 2]) # Ruby 3.1 and before # => 1 # Ruby 3.2 and after # => [1, 2]

foo is now called before baz. Similarly, for multiple assignments to constants, left-to-right evaluation order is used. With this code:

```ruby
  foo1::BAR1, foo2::BAR2 = baz1, baz2
```

The following evaluation order is now used:

  1. foo1

  2. foo2

  3. baz1

  4. baz2

[Bug #15928]

Command line options

Core classes updates

Note: We’re only listing outstanding class updates.

Stdlib updates

Compatibility issues

Note: Excluding feature bug fixes.

Removed constants

The following deprecated constants are removed.

Removed methods

The following deprecated methods are removed.

Stdlib compatibility issues

C API updates

Removed C APIs

The following deprecated APIs are removed.

Implementation improvements

JIT

MJIT

YJIT: New experimental in-process JIT compiler

Static analysis

RBS

TypeProf

Debugger

error_highlight

IRB Autocomplete and Document Display

Miscellaneous changes