- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 132
Short Ruby Newsletter - edition 132
The one with several Ruby releases: 3.4.3, 3.5.0-preview1, and JRuby 10, where Marco Roth announces herb tools and Matz suggests that Ruby 4.0 may be released this Christmas.

Table of Contents
Find out why 1M+ professionals read Superhuman AI daily.
AI won't take over the world. People who know how to use AI will.
Here's how to stay ahead with AI:
Sign up for Superhuman AI. The AI newsletter read by 1M+ pros.
Master AI tools, tutorials, and news in just 3 minutes a day.
Become 10X more productive using AI.
π Launches and discounts
π Rails Designer launched a new book about JavaScript for Rails Developers is out now. As a ShortRuby newsletter subscriber, you can get 10% off with code SHORTRUBY-FRIEND
(valid until April 25).

Source: https://javascriptforrails.com
π Matt Solt announced the launch of a new AI newsletter - RoboRuby - Ruby AI News. You can subscribe and check out the first three editions at Ruby AI news

Source: @mattsolt
π Marco Roth launched a new project β herb - βπΏ Powerful and seamless HTML-aware ERB parsing and toolingβ. For more details, check out the blog post for this announcement - Introducing Herb: A new HTML-Aware ERB Parser for smarting developer tooling and visit herb-tools.dev or the Github repo

Source: https://herb-tools.dev
π Events
π Friendly.rb announced that their CFP is open until July 1st, and they hint that early submissions have better chances of acceptance. Submit at friendlyrb.com/cfp πDonβt forget to buy your ticket π the conference has limited seats.

Source: @friendlyrb.com
π Irina Nazarova invited Ruby developers to join the SF Ruby meetup on Wednesday, April 23, at Sentry HQ

Source: @inazarova
π Javi Ramirez announced he's organizing a Ruby on Rails meetup near the beach in Lisbon in two weeks. If youβre interested, here is his group where you can keep in touch for more details β Ruby on Waves π

Source: @rameerez
π Vienna.Rb announced their upcoming meetup on June 5th, promising an exciting event with great speakers and a mysterious surprise, with more details to be revealed soon

Source: @viennarb
π All about Code and Ruby
π οΈTakashi Kokubun announced an update for Ruby 3.4.3 - Read the full details on Github
οΈπ Yui Naruse announced a new release of Ruby 3.5.0 preview1
οΈπ J Ruby Dev Team announced the release of a new version of JRuby 10.0.0.0
π Nate Berkopec shared reported exciting news from RubyKaigi: Matz confirmed that Ruby 4.0 is likely coming this Christmas

Source: @nateberkopec

Source: @nateberkopec
π» Code Samples
οΈοΈπ» Hans Schnedlitz shared a tip about using HTTParty to create custom HTTP clients

Source: @hansschnedlitz.com
οΈοΈπ» Jamie Schembri shared a quick Ruby trick to serve files using just one line of code: βruby -run -e httpdβ. This simple command comes from Ruby's standard library β ruby/un - βUtilities to replace common UNIX commandsβ

Source: @jamie.schembri.me
π» Brad Gessler proposed a more intuitive Email API for Rails, showcasing a simplified approach to email composition that consolidates everything into a single file

Source: @bradgessler.com
π» Gregory Brown shared Conway's Game of Life code with a bug, asking readers to spot what would go wrong. The issue is the code doesn't handle dead cells with numbers of neighbors other than exactly 3, causing pattern matching to fail in those cases. Check the full thread on Bluesky for more insights

Source: @skillstopractice.com
And someone replied:

Source: @bipo1aro4ka.ukr.monsterβ¬
LοΈater on Gregory said:

Source: @skillstopractice.com
π» Hans Schnedlitz showcased how to shuffle arrays randomly but consistently in Ruby by using a seed value, allowing randomized content to appear the same for all users

Source: @hansschnedlitz.com
οΈπ» Ruby Cademy revealed a neat ActiveRecord trick: when a βRecordInvalidβ exception is raised, you can access the invalid record using βexception.recordβ

Source: @RubyCademy
οΈπ» Igor Alexandrov shared his Kamal commands cheat sheet, covering essential deployment tasks for Ruby apps

Source: @igor_alexandrov

Source: @igor_alexandrov
οΈπ» Hans Schnedlitz shared a tip for Ruby developers: use circuit breakers to prevent your app from breaking when external services go down. He used for this β circuitbox - βCircuit breaker built with large Ruby apps in mindβ

Source: @hschnedlitz
οΈοΈπ» Bhumi shared a handy Rails CLI tip: Running βbin/rails" shows available commands and aliases. Add β--helpβ to any command for detailed usage instructions, like βbin/rails generate --helpβ

Source: @bhumi1102
οΈπ» Ruby Cademy shared a pro tip about enhancing Rake tasks in Ruby, showing how to hook into existing tasks for additional actions like logging or notifications before or after task execution

Source: @RubyCademy
οΈπ» Jamie Schembri highlighted Ruby's Etc module, a standard library feature that provides easy access to system data like user information, groups, and architecture.

Source: @jamie.schembri.me
οΈπ» Nidhi Sarvaiya explored the new βparams.expectβ feature in Rails 8, finding it offers more robust error handling by providing consistent and clear validation of parameter structures

Source: @sarvaiya_nidhi

Source: @sarvaiya_nidhi
π Thinking about Code Design
οΈποΈ Nate Berkopec highlights a common Cumulative Layout Shift (CLS) problem in Rails apps: missing image dimensions. He suggests storing image height and width with ActiveStorage to improve page stability and user experience. The reference for this statement here β How to store image width & height in Rails ActiveStorage

Source: @nateberkopec
Rob replied:

Source: @robzolkos
οΈπ Jose Farias shared a Ruby coding style tip: Indenting private methods makes it easy to quickly see access restrictions when reviewing code, especially in diffs with limited context

Source: @jose.omg.lol
and Joel replied:

Source: @joel.drapper.meβ¬

Source: @joel.drapper.meβ¬
οΈπ Adam McCrea explained how job queues with different Service Level Objectives (SLOs) can dynamically scale worker processes. An urgent queue with a 5-second SLO scales down to 1 worker when idle, while a default queue with a 30-second SLO scales to zero workers when empty, helping optimize computational resources and costs

Source: @adamlogic.com
οΈπ Nate Berkopec shared his take on web application performance π

Source: @nateberkopec

Source: @nateberkopec
οΈπ Steven R. Baker suggested cleaning up old Rails migrations after they've been applied in production. For mature projects, keeping every migration becomes unnecessary and can complicate database management

Source: @srbaker
οΈπ JP Camara highlighted a performance improvement in Ruby's Ractor JSON parsing: Frozen interned strings are now stored in a lock-free hash, making the Ractor example twice as fast as the single-threaded version

Source: @jpcamara.com

Source: @jpcamara.com
All the resources from this thread are available here:
π‘Around code (news, findings, books, and more - all about Ruby)
π‘Ruby Central announced that free RubyGem analytics are available to the community. For more details, check the blog post β Announcing Ruby Gem analytics powered by ClickHouse and Ruby Central

Source: @rubycentral.org
π‘ Peter Cooper shared his early impressions of GPT 4.1, testing it with a Ruby library

Source: @cooperx86

Source: @cooperx86

Source: @cooperx86
β€οΈ Why Choose Ruby and Rails
β€οΈ Irina Nazarova shared a powerful quote highlighting Rails as a secret superpower, revealing how successful companies have been consistently building their products with Ruby on Rails. You can read the entire thread on the Threadreader

Source: @inazarova
She continued bringing relevant arguments on this take, showing how amazing Ruby ecosystem really is π

Source: @inazarova

Source: @inazarova

Source: @inazarova
π―π΅ RubyKaigi 2025
We have grouped here all the news related to RubyKaigi 2025.
π€³ Posts
οΈπ€³ Stephen Margheim highlighted Matz's RubyKaigi 2025 closing keynote, emphasizing Ruby's strong potential as a central language in the emerging AI era

Source: @fractaledmind.bsky.social
π€³ Maciej Mensfeld shared exciting news from RubyKaigi: He developed a Ractor-based deserialization engine for Karafka, achieving a 30% performance boost without requiring any code changes from users

Source: @maciejmensfeld
π Notes
π Mish shared a beautiful illustration with explanations about βHow Do Computers Understand Ruby?β during RubyKaigi 2025

Source: @mishmashtan

Source: @mishmashtan
And also some more notes β βRuby Commiters and The Worldβ. Feel free and check both posts to see each illustration in more detail:

Source: @mishmashtan

Source: @mishmashtan
πΎ Games and Trick 2025
πΎ Yusuke Endoh announced the publication of the winning entries for TRICK 2025, expressing gratitude to all participants, viewers, and judges. Check the GitHub repo to see each solutionβ tric/trick2025

Source: @mametter
πΎ Vladimir Dementyev shared a game β RubyKaigi Warrior 2025 - βGame written in Ruby for learning Rubyβ. If youβre also interested, the game is available to play even if you were not at RubyKaigi π€©

Source: @palkan_tula
οΈπΎ Sunao Hogelog Komuro posted an IRB Treasure Hunt game πand is available to try it here β ruby-quiz2025 - IRB Treasure Hunt

Source: @hogelog
π Launches and Updates
π Marco Roth created a new gem β herb - βπΏ Powerful and seamless HTML-aware ERB parsing and toolingβ. For more details, check out the blog post for this announcement - Introducing Herb: A new HTML-Aware ERB Parser for smarting developer tooling

Source: @marcoroth_
π Stephen Margheim created a new gem β plume - βRuby library for working with SQLite elegantlyβ

Source: @fractaledmind.bsky.social
π§° Takashi Kokubun announced that upstreamed ZJIT to CRuby. More details can be seen here β ZJIT #13131

Source: @k0kubun
This is related to Maxime Chevalier-Boisvert proposal for next generation JIT for Ruby. For more details check out this issue β Feature #21221 - Proposal to upstream ZJIT
π RubyKaigi Slides
π Yuta Saito published his slides from RubyKaigi 2025 β The Evolution of the CRuby Build System
π Takashi Kokubun published his slides from RubyKaigi 2025 β Deoptimization: How YJIT Speeds Up Ruby by Slowing Down
π Marco Roth published his slides from RubyKaigi 2025 β Empowering Developers with HTML-Aware ERB Tooling
π Yuichiro Kaneko published his slides from RubyKaigi 2025 β Rubyβs Line Breaks
π Mari Imaizumi published her slides from RubyKaigi 2025 β Ruby Taught Me About Under the Hood
π Yudai Takada / Ydah published his slides from RubyKaigi 2025 β Dissecting and Reconstructing Ruby Syntactic Structures and Ruby on Railroad: The Power of Visualizing CFG
π Makicamel published his slides from RubyKaigi 2025 β Road to RubyKaigi: Making Tinny Chiptunes with Ruby
π Jeremy Evans published his slides from RubyKaigi 2025 β Eliminating Unnecessary Implicit Allocations
π Ryuta Kamizono published his slides from RubyKaigi 2025 β RuboCop: Modularity and AST Insights
π Koichi Sasada published his slides from RubyKaigi 2025 β Toward Ractor local GC
π Peter Zhu published his slides from RubyKaigi 2025 β Modular Garbage Collectors in Ruby
π Charles Oliver Nutter published his slides from RubyKaigi 2025 β Optimizing JRuby 10
π Aaron Patterson published their slides from DevMeething at RubyKaigi β RubyKaigi Dev Meeting 2025
π Alex Rodionov published their slides β Bazel for Ruby (RubyKaigi 2025)
π Ryo Ishigaki published their slides β Making a MIDI controller device with PicoRuby/R2P2 (RubyKaigi 2025 LT)
π State of Namespace published their slides β State of Namespace
π Soutaro Matsumoto published their slides β API for docs
π§° Gems, Libraries, Tools and Updates
π New Gems and Repos
π Socket announced that Rubygems ecosystem support is now generally available. Check the blog post for more details β Rubygems Ecosystem Support Now Generally Available

Source: @socket.dev
π Stephen shared a new gem of Takumi Shotokuβ rbs-trace - βRBS::Trace automatically collects argument and return types and saves RBS type declarations as RBS files or comments.β

Source: @diaconou.com
π CΓ©dric Delalande created a new gem β zed-test-toggle - βA small gem to toggle between source and test in the Zed editorβ
π OpenAI released a new gem β openai-ruby - βOpenAIβs official Ruby SDKβ

Source: @alexrudall
π Nagendra Dhanakeerthi released a new gem β mcp_on_ruby - βA Ruby implementation of the Model Context Protocolβ
π Burhan Gardezi published a new repository rails_interview_questions - A collection of Rails interview questions categorized by topics
π§° Updates
π§° Justin Bowen announced a new version of activeagent - βActiveAgent Rails framework for Agent Appsβ

Source: @TonsOfFun111
π§° Carmine Paolino released a new version of ruby_llm - βA delightful Ruby way to work with AI. No configuration madness, no complex callbacks, no handler hell β just beautiful, expressive Ruby codeβ

Source: @paolino
π§° Yudai Takada / Ydah released a new version of RuboCop RSpec v3.6.0 (RubyKaigi 2025 Editionπ) - βCode style checking for RSpec filesβ
π§° Kasper Timm Hansen announced an update for oaken - βOaken upgrades your development seeds, lets you reuse them in tests & blends the best of fixtures & factories into one cohesive wholeβ

Source: @kaspth.bsky.social
π§° David Heinemeier Hansson announced an update for Kamal - βDeploy web apps anywhereβ. For more details, check out this PR β Maintenance mode #1497

Source: @dhh
π§° Mario Alberto ChΓ‘vez announced a new version of Rails MCP Server with HTTP Server-Sent Events support

Source: @mario_chavez
π§° Alexey Varfolomeev announced a new version for RubyMine 2025.1: Major AI Assistant Upgrade, Cloud-Based Code Completion for RBS, More Ruby 3.4 Support, Kamal Schema Updates, Enhanced RemDev, and More

Source: @rubymine
π€ Gregory Brown shared a critical insight about generative AI in coding. Here is just a part, you can check all details from this thread on Bluesky

Source: @skillstopractice.com
More content: π π π§ π₯ βπΎ
οΈπ Irina Nazarova posted her slides from TropicalOnRails 2025 β Startup on Rails
π Ruby On Rails published a new edition of This Weekin Rails about Ruby on Railsβ Improved leap year counting performance and more!
π Hotwire Weekly published a new edition about Week 16 - Introducing Herb, JSX over the Wire, and more!
π Sajjad Umar published a new edition about Ruby on Rails β April 2025
π Awesome Ruby Newsletter published a new article about π Issue 465 - Kotlin, Swift, and Ruby losing popularity
π§ Podcasts
π§ David Hill published a new podcast β Ode to RailsConf - Jim Remsik
π§ Brendan Buckingham published a new podcast β Rails Business - John Nunemaker
π§ Remote Ruby published a new podcast about β John Nunemaker
π§ The Bike Shed published a new podcast about β 459: Paper Data Structures with Sally Hall
π₯ Videos
π₯ wrocloverb published the videos from the conference at wroc_love.rb 2025
βπΎ Articles
Whatβs new π
π Abdelkader Boudih published a new article about LLMs and the Ossification of APIs: Are We Stuck with Prehistoric Patterns?
π Mike Perham published a new article about Sidekiq 8.0: Profiling
π Marco Roth published a new article about Introducing Herb: A new HTML-Aware ERB Parser for smarting developer tooling
π Akshay Khot published a new article about Fix N+1 Queries Without Eager Loading Using SQL Subqueries
π Philip Poots published a new article about HTML Gardening with Herb and about HTML Parsley with Herb
π Henry Maddocks published a new article about Letβs talk about Type Coercion in Ruby
π Jake Zimmerman published a new article about Typing instance variables in mixins
π Josua Schmid published a new article about web-console and processes
π Cody Brooks published a new article about Can YOU Still Receive Connections At REDIS_URL
π Jeffery Morhous published a new article about Is No PaaS really a good idea for Rails?
π Gavin Morrice published a new article about On the importance of syntax and semantics; How Ruby's power lies in its beauty
π Jeffery Morhous published an article about Is No PaaS really a good idea for Rails? - Honeybadger Developer Blog
π Thomas Riboulet published a new article about Pre-build a Secure Authentication Layer with Authentication Zero for Ruby on Rails
π Jakob Skjerning published a new article about Driving View Transitions with Hotwired/Turbo
π Joey Wang published a new article about Addressing Out-of-Order Updates in Concurrent Systems
How-TOs π
Mateus Pereira published a new article about Setting Up Rails with Dev Containers
π Rodrigo Nogueira published a new article about Creating APIs with Grape and Rails: A Complete Journey - Part 2
π Pete Hawkins published a new article about How to Supercharge Ruby on Rails Development with Cursor AI
π Aaron Sumner published a new article about Old Ruby and Rails on new hardware with dev containers
π Tejas Bubane published a new article about Add IP restriction on Rack app for specific accounts
π Harrison Broadbent published a new article about Blogging with Ruby, Middleman and Tailwind CSS and about Add an RSS feed to your Middleman Blog
π Nikhil published a new article about How to Use Enum Attributes in Rails Models for Cleaner Code
Avdi Grimm published a new article about How to Understand a New Codebase Quickly
Jamie Schembri published a new article about Your Dependencies Are Not Free
Sean Goedecke published a new article about A practical guide to coding securely with LLMs
Brooke Kuhlmann published a new article about Git Rebase Squash
Reply