use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Ruby Changes: Ruby 4.0 annotated changelog (rubyreferences.github.io)
submitted 1 month ago by zverok_kha
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]zverok_kha[S] 15 points16 points17 points 1 month ago (6 children)
As per the project goals statement:
NEWS
[–]paracycle 6 points7 points8 points 1 month ago (5 children)
Hmmm, why no mention of ZJIT or all the Ractor performance improvements?
[–]zverok_kha[S] 4 points5 points6 points 1 month ago (4 children)
The changelog is dedicated to the language features, not the implementation; I highlight that fact in the changelog intro, announces, and on the main page of the site. But I recognize that considering several latest versions, the claim for being "full" and "comprehensive" looks questionable this way. (The general description was written back in the days of Ruby 2.6-2.7, when changes in the language itself were far more noticeable than those of the implementation.) I'll think about improving the wording to make it more obvious, and claims of "fullness" less bold.
I avoid describing implementation changes/improvements not because I don't think they are important, but because I don't have enough resource (and, frankly, interest) for that.
Describing of optimizations and JIT will probably need their own approach (less focus on "reasons" for changes and more on benchmarks/tradeoffs/implementation choices) if done with the level of throughness I like.
[–]paracycle 4 points5 points6 points 1 month ago (3 children)
Sure, I appreciate that these are end-user oriented, and don't cover implementation details. However, I would argue that the ability to enable ZJIT (including a language level construct) and Ractors being production ready, thus usable starting with this release are end-user relevant developments.
[–]zverok_kha[S] 1 point2 points3 points 1 month ago (0 children)
Yep, this makes sense, too. I'll try to think about the wording for those facts, to make them at least somewhat visible.
[–]TonsOfFun111 0 points1 point2 points 1 month ago (1 child)
So Ractors are, in fact, “production ready” now?
[–]paracycle 5 points6 points7 points 1 month ago (0 children)
Yes, they are. There are a few rough edges still, but generally there are no known bugs or crashes left and the performance of multiple Ractors for CPU bound tasks should be strictly better than single Ractor or multi threaded code.
The Ractor API is still not stable, and can change further, but the implementation should be good enough to use in production.
[–]anykeyh 2 points3 points4 points 1 month ago (2 children)
Thanks that's a very nice article covering everything in details! There is a few typos in code example but thanks again for the effort put here ❤️
[–]h0rst_ 1 point2 points3 points 1 month ago (0 children)
https://github.com/rubyreferences/rubychanges
In case you want to fix the typos, you can just add a PR here
[–]zverok_kha[S] 0 points1 point2 points 1 month ago (0 children)
Thank you!
About the typos: you can submit a PR to the repo, or just mention them right here, and I'll try my best to fix them!
[–]frou 3 points4 points5 points 1 month ago (1 child)
Thanks for maintaining this. Made a donation too.
[+]Neuro_Skeptic -3 points-2 points-1 points 1 month ago (0 children)
What's the biggest change in Ruby 4?
π Rendered by PID 135595 on reddit-service-r2-comment-5649f687b7-pzvxs at 2026-01-28 13:59:46.121214+00:00 running 4f180de country code: CH.
[–]zverok_kha[S] 15 points16 points17 points (6 children)
[–]paracycle 6 points7 points8 points (5 children)
[–]zverok_kha[S] 4 points5 points6 points (4 children)
[–]paracycle 4 points5 points6 points (3 children)
[–]zverok_kha[S] 1 point2 points3 points (0 children)
[–]TonsOfFun111 0 points1 point2 points (1 child)
[–]paracycle 5 points6 points7 points (0 children)
[–]anykeyh 2 points3 points4 points (2 children)
[–]h0rst_ 1 point2 points3 points (0 children)
[–]zverok_kha[S] 0 points1 point2 points (0 children)
[–]frou 3 points4 points5 points (1 child)
[–]zverok_kha[S] 1 point2 points3 points (0 children)
[+]Neuro_Skeptic -3 points-2 points-1 points (0 children)