2023-12-25 12:42:07 +03:00
# NEWS for Ruby 3.4.0
2020-01-15 06:42:47 +03:00
2021-12-15 19:24:31 +03:00
This document is a list of user-visible feature changes
2023-12-25 12:42:07 +03:00
since the **3.3.0** release, except for bug fixes.
2020-01-15 06:42:47 +03:00
2020-12-22 22:27:38 +03:00
Note that each entry is kept to a minimum, see links for details.
2020-01-15 06:42:47 +03:00
2023-12-25 12:42:07 +03:00
## Language changes
2023-11-30 09:53:06 +03:00
2023-12-25 12:45:16 +03:00
* `it` is added to reference a block parameter. [[Feature #18980 ]]
2024-01-14 22:41:02 +03:00
* Keyword splatting `nil` when calling methods is now supported.
`**nil` is treated similar to `**{}` , passing no keywords,
and not calling any conversion methods.
[[Bug #20064 ]]
2020-03-03 11:37:51 +03:00
## Core classes updates
2021-12-15 19:24:31 +03:00
Note: We're only listing outstanding class updates.
2020-01-15 06:42:47 +03:00
2020-03-03 11:37:51 +03:00
## Stdlib updates
2023-12-25 12:46:15 +03:00
The following default gems are updated.
2023-12-25 15:13:38 +03:00
* RubyGems 3.6.0.dev
* bundler 2.6.0.dev
2024-01-05 01:35:45 +03:00
* erb 4.0.4
2023-12-25 15:13:38 +03:00
* fiddle 1.1.3
2024-01-18 04:37:52 +03:00
* io-console 0.7.2
2024-01-19 05:16:35 +03:00
* irb 1.11.1
2024-01-05 11:25:49 +03:00
* net-http 0.4.1
2024-02-01 20:53:16 +03:00
* prism 0.20.0
2024-01-05 17:33:04 +03:00
* reline 0.4.2
2023-12-25 15:13:38 +03:00
* stringio 3.1.1
2024-01-19 05:16:35 +03:00
* strscan 3.0.9
2023-12-25 13:30:22 +03:00
2023-12-25 13:28:45 +03:00
The following bundled gems are updated.
2023-10-20 02:33:23 +03:00
2024-01-19 09:35:57 +03:00
* minitest 5.21.2
2024-01-05 09:58:22 +03:00
* net-ftp 0.3.4
2024-01-05 12:14:02 +03:00
* net-imap 0.4.9.1
* net-smtp 0.4.0.1
2024-01-26 02:48:01 +03:00
* rbs 3.4.3
2023-12-26 09:58:09 +03:00
* typeprof 0.21.9
* debug 1.9.1
2024-01-16 11:07:41 +03:00
The following bundled gems are promoted from default gems.
2024-01-10 11:28:55 +03:00
* mutex_m 0.2.0
2024-01-16 11:07:41 +03:00
* getoptlong 0.2.1
2024-01-17 02:29:01 +03:00
* base64 0.2.0
2024-01-18 10:23:49 +03:00
* bigdecimal 3.1.6
2024-01-19 09:35:57 +03:00
* observer 0.1.2
2024-01-19 10:28:30 +03:00
* abbrev 0.1.2
2024-01-19 11:57:54 +03:00
* resolv-replace 0.1.1
2024-01-19 14:02:59 +03:00
* rinda 0.2.0
2024-01-22 05:09:35 +03:00
* drb 2.2.0
2024-01-22 08:18:23 +03:00
* nkf 0.2.0
2024-01-22 10:00:13 +03:00
* syslog 0.1.2
2024-01-22 12:23:58 +03:00
* csv 3.2.8
2024-01-10 11:28:55 +03:00
2023-12-25 12:42:07 +03:00
See GitHub releases like [GitHub Releases of Logger ](https://github.com/ruby/logger/releases ) or changelog for details of the default gems or bundled gems.
2022-11-26 06:53:10 +03:00
2023-12-25 12:42:07 +03:00
## Supported platforms
2023-12-18 22:36:54 +03:00
2020-03-03 11:37:51 +03:00
## Compatibility issues
2020-08-24 09:38:03 +03:00
## Stdlib compatibility issues
2020-06-18 15:11:19 +03:00
2020-01-18 11:46:52 +03:00
## C API updates
2020-01-15 06:42:47 +03:00
2020-01-18 11:46:52 +03:00
## Implementation improvements
2020-01-15 06:42:47 +03:00
2024-01-30 20:54:04 +03:00
* `Array#each` is rewritten in Ruby for better performance [[Feature #20182 ]].
2024-01-30 20:49:25 +03:00
2023-12-25 12:42:07 +03:00
## JIT
2023-12-25 12:45:16 +03:00
[Feature #18980 ]: https://bugs.ruby-lang.org/issues/18980
2024-01-30 20:54:04 +03:00
[Feature #20182 ]: https://bugs.ruby-lang.org/issues/20182
2024-01-14 22:41:02 +03:00
[Bug #20064 ]: https://bugs.ruby-lang.org/issues/20064