---
title: "Examples of language changes in Ruby 4.0"
publication: "Ruby Weekly"
issue: 782
published_at: "2026-01-08"
canonical_url: "https://rubyweekly.com/issues/782"
---

Plus we learn more about ZJIT, Prism, and running PyTorch models from Ruby. |        

#​782 — January 8, 2026 

[Read on the Web](https://rubyweekly.com/issues/782)  

Together with [![FastRuby.io\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_467,h_106/e_make_transparent/co_white,e_outline:14/y65nyff19ylf5udphsq4.png)](http://go.fastruby.io/7ay)  

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qkgmj8aqtqhmq8txzcts.jpg)](https://rubyreferences.github.io/rubychanges/4.0.html)  

[Zverok's Guide to Language Changes in Ruby 4.0](https://rubyreferences.github.io/rubychanges/4.0.html) — Each year, Victor produces a mammoth roundup of changes introduced in the latest Ruby release ([Ruby 4.0](https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/), in this case). For a release that doesn’t have a huge amount of changes at the language level, he’s come up with some fantastic examples and this is a must-read, as always. 

Victor Shepelev   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/2a8a21c8.png)](http://go.fastruby.io/7ay) 

[😱 Rails 7.1 Security Support Ended in '25. Need to Upgrade?](http://go.fastruby.io/7ay) — [No more security updates for Rails 7.1](http://go.fastruby.io/eg2). Get a [free Automated Roadmap](http://go.fastruby.io/7ay) in minutes. Know what it takes before you start. Need help executing the plan? Our 🌳 Bonsai team can help: [Fixed-cost, monthly maintenance by our experts](http://go.fastruby.io/x39) starting at $2,000/month. 

FastRuby.io | Upgrade Experts sponsor   

[ZJIT is Now Available in Ruby 4.0](https://railsatscale.com/2025-12-24-launch-zjit/) — ZJIT is a new just-in-time (JIT) compiler built into the reference Ruby implementation and included as an _optional_ feature in 4.0. It’s not faster than YJIT yet, but its architecture gives it a higher potential performance ceiling and enables more developers to be able to work on it. 

Max Bernstein   

**⚡️ IN BRIEF:** 

- [We did a quick late December issue](https://rubyweekly.com/issues/781) focused solely on the release of Ruby 4.0 so if you missed it, check it out for a broad overview of Ruby 4.0's main changes and updates.
- Stan Lo shares some details about [the new look for Ruby's official documentation.](https://www.ruby-lang.org/en/news/2025/12/23/new-look-for-ruby-documentation/)
- Sam Ruby has been writing some interesting posts recently about [Ruby2JS](https://www.ruby2js.com/) (the Ruby to JavaScript transpiler) and the (in-progress) ability to use it to [take Rails to the 'edge'](https://intertwingly.net/blog/2026/01/02/Rails-to-the-Edge-and-Beyond.html) and even run Rails apps [in V8 isolates.](https://intertwingly.net/blog/2026/01/06/Rails-Apps-on-V8-Isolates.html)
- The Rails team did [a review of the most noteworthy commits to Rails](https://rubyonrails.org/2025/12/26/this-week-in-rails) in 2025.   

[A Ruby Regular Expression Engine](https://kddnewton.com/2026/01/06/exreg.html) — Kevin has been working on [exreg](https://github.com/kddnewton/exreg), a pure Ruby regular expression engine that implements _most_ of [Onigmo](https://github.com/k-takata/Onigmo)’s features. 

Kevin Newton   

[A Ruby YAML Parser](https://kddnewton.com/2025/12/25/psych-pure.html) — Not happy merely building a regular expression engine in pure Ruby (above), Kevin also turned his hand to creating a pure-Ruby implementation of a YAML 1.2 parser and emitter called [Psych::Pure.](https://github.com/kddnewton/psych-pure) 

Kevin Newton   

[An Introduction to Ruby Parsing with Prism](https://blog.appsignal.com/2026/01/07/an-introduction-to-ruby-parsing-with-prism.html) — Since Ruby 3.4, [Prism](https://github.com/ruby/prism) is Ruby’s default parser, and here Matheus explains its advantages before showing us how to use it to lex and parse code ourselves to surprisingly fun ends (including implementing a simple emoji-based representation of Ruby!) 

Matheus Richard   

[Ruby Errors? Fix ‘Em Fast for FREE with Honeybadger](https://www.honeybadger.io/for/ruby/?utm_source=rubyweekly&utm=email&utm_campaign=2026-01-08-rubyweekly-link) — Do you support web apps in production? We contextualize Ruby logs so you can fix errors fast. [Get your FREE account →](https://www.honeybadger.io/for/ruby/?utm_source=rubyweekly&utm=email&utm_campaign=2026-01-08-rubyweekly-link) 

Honeybadger sponsor   

📄 [Building an AI Agent Inside a 7-Year Old Rails App](https://catalinionescu.dev/ai-agent/building-ai-agent-part-1/) Catalin Ionescu 

📄 [Rails 7.2 Connection Pool Changes May Slow Down Your App](https://codewithrails.com/blog/rails-72-connection-pool-performance/) geetfun 

📄 [How to Create a Markdown Editor in a Rails App](https://blog.appsignal.com/2025/12/10/create-a-markdown-editor-in-ruby-on-rails.html) Hans-Jörg Schnedlitz  

🛠 Code & Tools  

[Charm Ruby: Glamorous Terminal Libraries for Ruby](https://charm-ruby.dev/) — If you’ve ever worked with Go, you’ll have encountered [Charm’s](https://charm.land/) fantastic libraries, including their [Bubble Tea](https://github.com/charmbracelet/bubbletea) TUI framework. This is an attempt to bring a little of that Go _charm_ to Ruby too. _Note: This is not from Charm themselves; it’s from Marco Roth, well known for his work on [Herb.](https://herb-tools.dev/)_ 

Marco Roth   

[Stepped: Rails Engine for Orchestrating Complex Workflows](https://github.com/envirobly/stepped) — A Rails engine, extracted from a production app, that orchestrates complex workflows as a tree of actions through Active Job. 

Robert Starsi   

[🧠 Smart Rails Applications Are Not the Future, They're the Present](https://sinaptia.dev/posts/building-intelligent-applications-with-rails?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=rubyweekly-2026q1&utm_content=sponsored) — We identify problems worth solving with AI and [implement cost-effective solutions](https://sinaptia.dev/blog/tags/ai/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=rubyweekly-2026q1&utm_content=sponsored) that save significant organizational time. 

SINAPTIA sponsor   

[Boxwerk: Experimental Box-Powered Ruby Package System](https://github.com/dtcristo/boxwerk) — Ruby 4.0 introduced an experimental [‘box’ feature](https://docs.ruby-lang.org/en/4.0/Ruby/Box.html) providing in-process separation of classes and modules. Boxwerk is the first attempt I’ve seen to put it to practical use. 

David Cristofaro   

[executorch-ruby: Run PyTorch Models in Ruby](https://github.com/benngarcia/executorch-ruby) — Provides bindings to [ExecuTorch](https://docs.pytorch.org/executorch/stable/index.html) enabling you to run exported PyTorch models (`.pte` files) directly from Ruby apps. 

Ben Garcia   

- [RBS 3.10](https://github.com/ruby/rbs/releases/tag/v3.10.0) – Ruby's type signature language. v3.10 ships with a pure C parser implementation and signature updates for Ruby 4.0.
- [Pry 0.16](https://github.com/pry/pry) – The popular runtime developer console and IRB alternative now supports Ruby 4.0.
- [sqlite3-ruby 2.9](https://github.com/sparklemotion/sqlite3-ruby) – Ruby bindings for SQLite 3. v2.9 introduces native gem packages for Ruby 4.0.
- [ruby.wasm 2.8](https://github.com/ruby/ruby.wasm) – WebAssembly ports of CRuby for edge/browser use cases. Now with Ruby 4.0 too.
- [ruby-pg 1.6.3](https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md#v163-2025-12-29-lars-kanis-larsgreiz-reinsdorfde) – The Postgres client library now has binary gems for Ruby 4.0, and more.
- [Bullet Train 1.38](https://github.com/bullet-train-co/bullet_train) – Open source Rails SaaS-app template. ([Docs and demo.](https://bullettrain.co/))
- [Maxitest 6.2 & 7.1](https://github.com/grosser/maxitest) – Minitest, but with lots of added features. [Changelog.](https://github.com/grosser/maxitest/blob/master/CHANGELOG.md)
- ⭐ [Bridgetown 2.1](https://www.bridgetownrb.com/release/bridgetown-2-1-has-come-to-town-happy-holidays/) – The modern site generation framework.
- [Delayed 2.0](https://github.com/Betterment/delayed/releases/tag/v2.0.0) – Multi-threaded, SQL-driven Active Job backend.
- [Single Cov 2.0](https://github.com/grosser/single_cov) – Check your code coverage on every test run.
- [httparty 0.24](https://github.com/jnunemaker/httparty) – The long-standing HTTP API client library.
- [Rouge 4.7](https://rouge.jneen.net/) – Pure Ruby code highlighting library.       

📰 Classifieds   

😴 Workers running 24/7? [Put them to sleep](https://judoscale.com?utm_source=ruby-weekly&utm_medium=newsletter&utm_campaign=put-them-to-sleep) and REDUCE YOUR COMPUTE by 35% or more! Judoscale autoscales Sidekiq, Solid Queue, etc.    

📢 Elsewhere in the ecosystem  

Some other interesting stories in the broader landscape: 

- TIL you can [get your GitHub profile pic by adding `.png`](https://bsky.app/profile/cassidoo.co/post/3mbs2sqipuc25) to your GitHub profile page's URL, i.e. `github․com/USERNAMEHERE.png` - you can also append `.keys` to get public keys and `.atom` to get a feed of public timeline activity.
- Andy Pavlo has put together a neat review of [what happened in the world of databases in 2025.](https://www.cs.cmu.edu/~pavlo/blog/2026/01/2025-databases-retrospective.html) Simon Willison has [a similar review of LLMs in 2025.](https://simonwillison.net/2025/Dec/31/the-year-in-llms/)
- Mozilla, Apple, and the CSS Working Group have been working for years to bring "masonry" layouts natively to CSS. The concept is now [called _CSS Grid Lanes_ and here's how it works.](https://webkit.org/blog/17660/introducing-css-grid-lanes/)         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
