Short Ruby Newsletter - Highlights from Edition 132
Short Ruby Newsletter - edition 132 highlights
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.
🚀 Launches
- Rails Designer launched a new book about JavaScript for Rails Developers is out now. Inside the newsletter, you can find a discount code for 10%
- Matt Solt announced the launch of a new AI newsletter - RoboRuby - Ruby AI News
- Marco Roth launched a new project → herb - “Powerful and seamless HTML-aware ERB parsing and tooling“
📅 Events:
- Friendly.rb announced that their CFP is open until July 1st
- Irina Nazarova invited Ruby developers to join the SF Ruby meetup on Wednesday, April 23, at Sentry HQ
- Javi Ramirez announced he's organizing a Ruby on Rails meetup near the beach in Lisbon in two weeks
- 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
👉 All about Code and Ruby
There are a lot of great news this week:
- Takashi Kokubun announced the release of Ruby 3.4.3
- Yui Naruse announced a new release of Ruby 3.5.0 preview1
- J Ruby Dev Team announced the release of a JRuby 10.0.0.0
- Nate Berkopec shared exciting news from RubyKaigi: Matz confirmed that Ruby 4.0 is likely coming this Christmas
Here are some highlights from Code Samples:
- Hans Schnedlitz shared a tip about using HTTParty to create custom HTTP clients
- Jamie Schembri shared a quick Ruby trick to serve files using just one line of code: ruby -run -e httpd
- Brad Gessler proposed a more intuitive Email API for Rails, showcasing a simplified approach to email composition
- Gregory Brown shared Conway's Game of Life code with a bug, asking readers to spot what would go wrong
- Ruby Cademy revealed a neat ActiveRecord trick: when a RecordInvalid exception is raised, you can access the invalid record using exception.record
- Igor Alexandrov shared his Kamal commands cheat sheet, covering essential deployment tasks for Ruby apps
- Bhumi shared a handy Rails CLI tip: Running “bin/rails" shows available commands and aliases.
- Nidhi Sarvaiya explored the new params.expect feature in Rails 8, finding it offers more robust error handling
These were only some of the code samples you can discover inside the newsletter and get inspiration for your daily work.
Inside 📐 Thinking about Code Design you will find:
- Nate Berkopec highlights a common Cumulative Layout Shift (CLS) problem in Rails apps: missing image dimensions
- 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
- Adam McCrea explained how job queues with different Service Level Objectives (SLOs) can dynamically scale worker processes.
- Nate Berkopec shared his take on web application performance
- Steven R. Baker suggested cleaning up old Rails migrations after they've been applied in production
- JP Camara highlighted a performance improvement in Ruby's Ractor JSON parsing: frozen interned strings are now stored in a lock-free hash
Read the replies around these themes to get more context and maybe get inspiration about how to approach new solutions.
Inside ❤️ Why Choose Ruby and Rails read Irina Nazarova thread that starts with powerful quote highlighting Rails as a secret superpower, revealing how successful companies have been consistently building their products with Ruby on Rails
🇯🇵 RubyKaigi 2025
In this edition, we added a section dedicated to RubyKaigi 2025. There were a lot of things shared online and until the videos will be available here is what you can find out:
- Stephen Margheim highlighted Matz's RubyKaigi 2025 closing keynote, emphasizing Ruby's strong potential as a central language in the emerging AI era
- Maciej Mensfeld shared exciting news from RubyKaigi: He developed a Ractor-based deserialization engine for Karafka, achieving a 30% performance boost
- Mish shared a beautiful illustration with explanations about “How Do Computers Understand Ruby?” during RubyKaigi 2025 and also shared some beautiful notes from the Ruby Commiters and The World.
- Yusuke Endoh announced the publication of the winning entries for TRICK 2025, expressing gratitude to all participants, viewers, and judges.
- Vladimir Dementyev shared a game → RubyKaigi Warrior 2025 - “Game written in Ruby for learning Ruby”.
- Sunao Hogelog Komuro posted an IRB Treasure Hunt game
- Marco Roth created a new gem → herb - “Powerful and seamless HTML-aware ERB parsing and tooling“.
- Stephen Margheim created a new gem → plume - “Ruby library for working with SQLite elegantly“
- Takashi Kokubun announced that upstreamed ZJIT to CRuby.
And we tried to include all the slides that the speakers published in a special section called RubyKaigi Slides
🧰 Gems, Libraries, Tools and Updates
- Socket announced that Rubygems ecosystem support via Github action is now generally available
- 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.“
- 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“
- 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
As always, we have more links to newsletters, videos, podcasts, and articles.
Read the full newsletter for free at https://newsletter.shortruby.com/p/edition-132