<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Ruby Weekly</title>
    <description>A free, once–weekly e-mail round-up of Ruby news and articles.</description>
    <link>https://rubyweekly.com/</link>
    <item>
      <title>A Ruby 4.0 double: JRuby 10.1 and mruby 4.0</title>
      <link>https://rubyweekly.com/issues/797</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​797 — April 23, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184233/rss" style=" color: #0055bb;   "&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 12px;"&gt;&lt;p&gt;Ruby Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/184235/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/bmbrf7ykp5cmxaeefph3.jpg" width="640" style="    line-height: 100%;       "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184235/rss" title="www.jruby.org" style=" color: #0055bb;    font-size: 1.1em; line-height: 1.4em;"&gt;JRuby 10.1 Released with Ruby 4.0 Compatibility&lt;/a&gt;&lt;/span&gt; — The first major release of the popular JVM-based Ruby implementation “&lt;em&gt;since catching up with Ruby compatibility&lt;/em&gt;” gets Ruby 4.0 compatibility and shifts to a biennial LTS release cycle. There are memory improvements too: every object is 8 bytes smaller, plus tighter numeric representations.&lt;/p&gt;
  &lt;p&gt;Charles Oliver Nutter &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://rubyweekly.com/link/184234/rss" style=" color: #0055bb;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/13ae90fe.png" width="95" height="95" style="padding-top: 12px; padding-left: 12px;     line-height: 100%;    "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184234/rss" title="dashboard.memetria.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Memetria K/V: Efficient Redis &amp;amp; Valkey Hosting&lt;/a&gt;&lt;/span&gt; — Memetria K/V hosts Redis OSS and Valkey for Ruby apps, featuring large key tracking and detailed analytics.&lt;/p&gt;
  &lt;p&gt;Memetria &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184236/rss" title="rubycentral.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;A New Chapter for Ruby Central&lt;/a&gt;&lt;/span&gt; — After a year in post as Executive Director, Shan Cureton has left Ruby Central, along with its CFO, as the organization finds itself in financial jeopardy. When one door closes, another opens, however, and some positive, long-needed changes are coming in and you can get involved.&lt;/p&gt;
  &lt;p&gt;Jey Flores and Ran Craycraft &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 There are also &lt;a href="https://rubyweekly.com/link/184237/rss" style=" color: #0055bb; font-weight: 600;   "&gt;some changes to this year's RubyConf&lt;/a&gt;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184238/rss" title="www.ruby-lang.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;ERB Has a Deserialization Vulnerability (CVE-2026-41316)&lt;/a&gt;&lt;/span&gt; — Any app that calls &lt;code&gt;Marshal.load&lt;/code&gt; on untrusted data &lt;em&gt;and&lt;/em&gt; has both &lt;code&gt;erb&lt;/code&gt; and &lt;code&gt;activesupport&lt;/code&gt; loaded is vulnerable to arbitrary code execution. Upgrade your &lt;a href="https://rubyweekly.com/link/184239/rss" style=" color: #0055bb;   "&gt;&lt;code&gt;erb&lt;/code&gt; gem&lt;/a&gt; to version 4.0.3.1, 4.0.4.1, 6.0.1.1, 6.0.4 or later.&lt;/p&gt;
  &lt;p&gt;Takashi Kokubun &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;⚡️ IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184240/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Ruby 4.0.3 has been released&lt;/a&gt;. It's a minor release to update ERB to v6.0.1.1 as a fix for the ERB vulnerability &lt;em&gt;(above)&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🕹️ The &lt;a href="https://rubyweekly.com/link/184241/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;DragonRuby&lt;/a&gt; project has &lt;a href="https://rubyweekly.com/link/184242/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;shared an update as it celebrates its 7th birthday&lt;/a&gt; with an SDL3-powered update of the Ruby-based game toolkit just around the corner.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In &lt;a href="https://rubyweekly.com/link/184243/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;The Missing Bundler Features&lt;/a&gt;, Jean Boussier makes the case that Bundler's real ergonomic problems have nothing to do with its speed and are more about user control.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎤 On &lt;a href="https://rubyweekly.com/link/184244/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;the latest &lt;em&gt;On Rails&lt;/em&gt; podcast&lt;/a&gt;, Intercom's Brian Scanlan talks about his team's 'AI-first' approach to working on their 15-year-old Rails app.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184245/rss" title="byroot.github.io" style=" color: #0055bb;    font-size: 1.05em;"&gt;Optimizing Ruby Path Methods&lt;/a&gt;&lt;/span&gt; — &lt;em&gt;byroot&lt;/em&gt; has been speeding up path methods (e.g. &lt;code&gt;File.expand_path&lt;/code&gt;), with &lt;code&gt;File.join&lt;/code&gt; now faster than string interpolation! A beautifully technical tour through Bootsnap internals, Ruby 4.1’s forthcoming &lt;code&gt;Dir.scan&lt;/code&gt;, and why &lt;a href="https://rubyweekly.com/link/184246/rss" style=" color: #0055bb;   "&gt;Shift JIS&lt;/a&gt; made all of this slower than it needed to be.&lt;/p&gt;
  &lt;p&gt;Jean Boussier &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184247/rss" title="stripe.dev" style=" color: #0055bb;    font-size: 1.05em;"&gt;Selective Test Execution at Stripe: Fast CI for a 50M-Line Ruby Monorepo&lt;/a&gt;&lt;/span&gt; — How Stripe runs only ~5% of their full 1.2-million-test suite on each build using a variety of techniques like dependecy-graph analysis and heuristics for test selection.&lt;/p&gt;
  &lt;p&gt;Aditya Anchuri (Stripe) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184248/rss" title="go.fastruby.io" style=" color: #0055bb;    font-size: 1.05em;"&gt;How a Solo SaaS Founder Stopped Worrying About Rails Maintenance&lt;/a&gt;&lt;/span&gt; — See how &lt;a href="https://rubyweekly.com/link/184249/rss" style=" color: #0055bb;   "&gt;Bonsai&lt;/a&gt; helped Tim go from chasing contractors to peace of mind. Hand over the hard tech debt to the experts. 🚀&lt;/p&gt;
  &lt;p&gt;Bonsai by FastRuby.io® &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/184250/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Let's Enable MFA for All Ruby Gems&lt;/a&gt; – It takes a community effort to make the ecosystem safer. &lt;cite&gt;Matheus Richard&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📺 &lt;a href="https://rubyweekly.com/link/184251/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Monitoring Cron Jobs with Whenever&lt;/a&gt; – A 12-minute screencast. &lt;cite&gt;Chris Oliver (GoRails)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/184252/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;PII Filtering for RubyLLM with Top Secret&lt;/a&gt; &lt;cite&gt;Steve Polito&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184253/rss" title="mruby.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;mruby 4.0 Released&lt;/a&gt;&lt;/span&gt; — Built by &lt;a href="https://rubyweekly.com/link/184254/rss" style=" color: #0055bb;   "&gt;a team&lt;/a&gt; led by Matz himself, &lt;a href="https://rubyweekly.com/link/184255/rss" style=" color: #0055bb;   "&gt;mruby&lt;/a&gt; is a lightweight, embeddable Ruby implementation for constrained environments. v4.0 focuses on pattern matching support and adds read-only method tables for lower memory use, &lt;code&gt;mirb&lt;/code&gt; improvements, and &lt;a href="https://rubyweekly.com/link/184256/rss" style=" color: #0055bb;   "&gt;new gems&lt;/a&gt; for multitasking, benchmarking, plus a &lt;code&gt;strftime&lt;/code&gt; implementation.&lt;/p&gt;
  &lt;p&gt;The mruby Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 There's an official tutorial on all &lt;a href="https://rubyweekly.com/link/184257/rss" style=" color: #0055bb; font-weight: 600;   "&gt;the different ways you can run mruby code.&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184258/rss" title="www.appsignal.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Your Rails App Has an N+1 Problem. AppSignal Will Show You Where&lt;/a&gt;&lt;/span&gt; — AppSignal auto-detects N+1 queries and leaks. Get Sidekiq, ActionView, Puma metrics. One gem, minutes to monitor. Free 30-day trial, no card.&lt;/p&gt;
  &lt;p&gt;AppSignal &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/184259/rss" title="github.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Informers 1.3: Run Modern Transformers Models from Ruby&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://rubyweekly.com/link/184260/rss" style=" color: #0055bb;   "&gt;Transformers.rb&lt;/a&gt; can run Transformers-compatible models from Ruby, but if a model has an ONNX variant, Informers makes it faster and easier. I’ve been running embedding models in milliseconds with this, but you can also do things like reranking and image classification.&lt;/p&gt;
  &lt;p&gt;Andrew Kane &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184261/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;oj 3.17&lt;/a&gt; – Fast JSON parser and object marshaller. v3.17 adds &lt;a href="https://rubyweekly.com/link/184262/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;a safe parser mode&lt;/a&gt; that enforces various limits to protect from large or heavily nested payloads.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184263/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Faker 3.8&lt;/a&gt; – The long-standing artificial data generation library adds &lt;a href="https://rubyweekly.com/link/184264/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;lazy loading&lt;/a&gt;, making it far faster to load.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🌐 &lt;a href="https://rubyweekly.com/link/184265/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;LibGD-GIS 0.5&lt;/a&gt; – GIS and map-rendering engine built on &lt;code&gt;ruby-libgd&lt;/code&gt;, supporting GeoJSON layers and tiles.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184266/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Spreadsheet 1.3.5&lt;/a&gt; – Library for reading, writing and modifying Excel (XLS) spreadsheets. GPL 3.0 licensed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184267/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Single Cov 2.1&lt;/a&gt; – Produce code coverage reports for Ruby code and tests.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✉️ &lt;a href="https://rubyweekly.com/link/184268/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Roadie 5.3&lt;/a&gt; – Inlines CSS and rewrites relative URLs for HTML emails.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184269/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RSpec Tracer 1.1&lt;/a&gt; – Specs dependency analyzer and flaky-test detector.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184270/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RatatuiRuby 1.5&lt;/a&gt; – Cook up impressive TUI interfaces with Ruby.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184271/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Versionaire 15.2&lt;/a&gt; – Immutable, semantic version type.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📰 Classifieds&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184272/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Faster CI without rewriting your workflows&lt;/a&gt;. Depot CI supports GitHub Actions syntax — just faster.&lt;/p&gt;
 
&lt;p&gt;🧪 Claude Code writes better tests with a coverage feedback loop. &lt;a href="https://rubyweekly.com/link/184273/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Read about the experiment&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/184274/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pj5ib5ql9y2bzgwzu9tr.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;✉️ &lt;a href="https://rubyweekly.com/link/184274/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Sup&lt;/a&gt; is a Ruby-powered terminal-based email client with Gmail-like thread-centered archiving, tagging and muting, plus &lt;a href="https://rubyweekly.com/link/184275/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;you can write hooks in Ruby.&lt;/a&gt; It's nearly twenty years old, but v1.4 just landed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/184276/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Git 2.54 has been released&lt;/a&gt;. &lt;code&gt;git history&lt;/code&gt; offers a new, easy way to edit commit messages or interactively split a commit into two. You can now also define hooks in config files rather than just in &lt;code&gt;.git/hooks&lt;/code&gt; and run multiple hooks for the same event in this way.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cloudflare has released &lt;a href="https://rubyweekly.com/link/184277/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;a preview of a new &lt;code&gt;cf&lt;/code&gt; tool&lt;/a&gt; for working with its various services from the terminal.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🐘 &lt;a href="https://rubyweekly.com/link/184278/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;The first draft of the PostgreSQL 19 release notes&lt;/a&gt; has been written. The final release is expected in September.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇯🇵 I'm looking forward to covering some of the &lt;a href="https://rubyweekly.com/link/184279/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RubyKaigi&lt;/a&gt; news next week (it's currently taking place in Japan) especially after seeing &lt;a href="https://rubyweekly.com/link/184280/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;this cryptic X post by k0kubun&lt;/a&gt; saying &lt;em&gt;"Ruby is faster than C"&lt;/em&gt; (!)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://rubyweekly.com/open/797/rss" width="1" height="1" /&gt;</description>
      <pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://rubyweekly.com/issues/797</guid>
    </item>
    <item>
      <title>TruffleRuby 34 released with full Ruby 3.4 support</title>
      <link>https://rubyweekly.com/issues/796</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​796 — April 16, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183884/rss" style=" color: #0055bb;   "&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 12px;"&gt;&lt;p&gt;Ruby Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183886/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/uregee4dgz0oh3mn4s04.jpg" width="640" style="    line-height: 100%;       "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183886/rss" title="truffleruby.dev" style=" color: #0055bb;    font-size: 1.1em; line-height: 1.4em;"&gt;TruffleRuby 34: The Fastest Ruby 3.4 Implementation?&lt;/a&gt;&lt;/span&gt; — TruffleRuby is a high-performance Ruby built upon the JIT-heavy &lt;a href="https://rubyweekly.com/link/183887/rss" style=" color: #0055bb;   "&gt;GraalVM&lt;/a&gt;, designed for dynamic languages. v34 brings Ruby 3.4 support &lt;em&gt;(&lt;a href="https://rubyweekly.com/link/183888/rss" style=" color: #0055bb;   "&gt;97% of ruby/spec&lt;/a&gt;)&lt;/em&gt; implementing every item in the 3.4 changelog, plus significant efficiency improvements.&lt;/p&gt;
  &lt;p&gt;Daloze, Menard and Konchyn &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 I’ve been impressed by TruffleRuby. It supports many native extensions, runs most apps unchanged, and can deliver 10×+ speedups over CRuby on the right workloads, at the cost of slower startup. Worth a try.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://rubyweekly.com/link/183885/rss" style=" color: #0055bb;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/ed597074.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%;    "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183885/rss" title="go.fastruby.io" style=" color: #0055bb;    font-size: 1.05em;"&gt;Why FastRuby? "Their Services Are as Essential as Hosting"&lt;/a&gt;&lt;/span&gt; — How a Solo SaaS founder got fed up chasing contractors and switched to Bonsai. With &lt;a href="https://rubyweekly.com/link/183889/rss" style=" color: #0055bb;   "&gt;fixed-cost maintenance&lt;/a&gt;, he got reliable Rails upgrades with minimal oversight. "I can't imagine doing business without this partnership." See how it works. 🚀&lt;/p&gt;
  &lt;p&gt;Bonsai by FastRuby.io® &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183890/rss" title="blog.rubygems.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;RubyGems.org Now Has a Public Roadmap&lt;/a&gt;&lt;/span&gt; — The &lt;a href="https://rubyweekly.com/link/183891/rss" style=" color: #0055bb;   "&gt;RubyGems repository&lt;/a&gt; is a big project with lots of moving parts, but it’s been hard to keep track of what they’re working on. Now, we can &lt;a href="https://rubyweekly.com/link/183892/rss" style=" color: #0055bb;   "&gt;see what’s in the pipeline&lt;/a&gt;, including SBOM support, the ability to report suspicious gems, and making &lt;a href="https://rubyweekly.com/link/183893/rss" style=" color: #0055bb;   "&gt;organizations&lt;/a&gt; generally available.&lt;/p&gt;
  &lt;p&gt;Colby Swandale (RubyGems) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;⚡️ IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🎤 The &lt;em&gt;On Rails&lt;/em&gt; podcast is back after a hiatus with &lt;a href="https://rubyweekly.com/link/183894/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;an episode featuring DNSimple's Simone Carletti&lt;/a&gt; talking about how Ruby and Rails remain at the heart of DNSimple's multi-language stack.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183924/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RubyForum.org&lt;/a&gt; has been going from strength to strength lately. Well worth dropping in if you like the forum format.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183925/rss" title="evilmartians.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;The &lt;em&gt;Gemfile of Dreams&lt;/em&gt; Returns for 2026&lt;/a&gt;&lt;/span&gt; — This long-running living article distills several developers’ wisdom into a curated selection of useful libraries for building modern Rails apps. Strong recommendations of good dependencies.&lt;/p&gt;
  &lt;p&gt;Evil Martians &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183926/rss" title="evilmartians.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Vite on Rails &lt;em&gt;Without&lt;/em&gt; the Proxy&lt;/a&gt;&lt;/span&gt; — The frontend build tool &lt;a href="https://rubyweekly.com/link/183927/rss" style=" color: #0055bb;   "&gt;Vite&lt;/a&gt; runs a dev server. Propshaft (Rails’ asset pipeline) expects files on disk. They’ve struggled to share a stage without a Rack proxy (like &lt;a href="https://rubyweekly.com/link/183928/rss" style=" color: #0055bb;   "&gt;Vite Ruby&lt;/a&gt;), but &lt;a href="https://rubyweekly.com/link/183929/rss" style=" color: #0055bb;   "&gt;rails_vite&lt;/a&gt; makes their apparent incompatibilities seamlessly disappear.&lt;/p&gt;
  &lt;p&gt;Svyatoslav Kryukov &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183895/rss" title="link.testdouble.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Coffee Time Webinar: AI Harnesses&lt;/a&gt;&lt;/span&gt; — On April 22 at 2 pm ET, senior devs will discuss AI approaches and why constraints are key to agentic coding outcomes.&lt;/p&gt;
  &lt;p&gt;Test Double &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📉 &lt;a href="https://rubyweekly.com/link/183936/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;TestProf 1.6 and Surprising Finds From Profiling 30,000 Specs&lt;/a&gt; – A writeup of halving the runtime of a 30k-spec test suite, plus the work behind &lt;a href="https://rubyweekly.com/link/183937/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;TestProf 1.6&lt;/a&gt;. &lt;cite&gt;Vladimir Dementyev&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183896/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Approaches to Debugging Query Performance in Rails&lt;/a&gt; – A tour of techniques and gems, as well as tools for MySQL, Postgres, and SQLite. &lt;cite&gt;Amol Joshi&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183897/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Use Rails Combined Credentials&lt;/a&gt; – How to handle credentials the modern Rails 8.1 way. &lt;cite&gt;Andy Croll&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183898/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Migrating a Rails App from Heroku to Railway&lt;/a&gt;  &lt;cite&gt;Juan Vasquez (FastRuby)&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183899/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ncekqe261ergujq65ejn.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183899/rss" title="keithrbennett.github.io" style=" color: #0055bb;    font-size: 1.05em;"&gt;CovLoupe: &lt;em&gt;SimpleCov&lt;/em&gt; Coverage for Terminals, Scripts, and Agents&lt;/a&gt;&lt;/span&gt; — Provides a more accessible interface to the JSON output produced by &lt;a href="https://rubyweekly.com/link/183900/rss" style=" color: #0055bb;   "&gt;SimpleCov&lt;/a&gt; via a CLI app, MCP server, or methods you can use in Ruby itself. Keith has &lt;a href="https://rubyweekly.com/link/183901/rss" style=" color: #0055bb;   "&gt;▶️ a screencast showing it off.&lt;/a&gt; I used it on my &lt;a href="https://rubyweekly.com/link/183902/rss" style=" color: #0055bb;   "&gt;PureJPEG library&lt;/a&gt; and it was useful.&lt;/p&gt;
  &lt;p&gt;Keith Bennett &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183903/rss" title="railspress.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;RailsPress: A Rails Engine for Blogging and Content Management&lt;/a&gt;&lt;/span&gt; — A mountable engine for Rails 8 that gives you blogging, CMS, and structured content management without building it from scratch. Think WordPress-style content management, but native to Rails.&lt;/p&gt;
  &lt;p&gt;Avi Flombaum &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183904/rss" title="posetteconf.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;44 Postgres Talks To Choose From All in One Free, Virtual Event&lt;/a&gt;&lt;/span&gt; — Join POSETTE: An Event for Postgres 2026, a free &amp;amp; virtual Postgres developer event, 16–18 Jun. &lt;a href="https://rubyweekly.com/link/183904/rss" style=" color: #0055bb;   "&gt;Check out the schedule&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Microsoft | AMD &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📄&lt;/span&gt; &lt;a href="https://rubyweekly.com/link/183905/rss" title="hexapdf.gettalong.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;HexaPDF 1.7: PDF Generation and Manipulation in Ruby&lt;/a&gt;&lt;/span&gt; — A versatile PDF creation and manipulation library. There are &lt;a href="https://rubyweekly.com/link/183906/rss" style=" color: #0055bb;   "&gt;lots of examples.&lt;/a&gt; Now with smart text extraction for text laid out on pages, plus ECDSA and DSA digital signing support. AGPL licensed with a commercial option.&lt;/p&gt;
  &lt;p&gt;Thomas Leitner &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183907/rss" title="spreecommerce.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;Spree 5.4: The Rails-Based Ecommerce Platform&lt;/a&gt;&lt;/span&gt; — A mature, open source Rails ecommerce system that’s gone API-first and now plays nicely with modern JS frontends, adding a TypeScript SDK and Next.js starter.&lt;/p&gt;
  &lt;p&gt;Spree Commerce &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📰 Classifieds&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;💌 What is happening at Heroku?? Judoscale wrote a &lt;a href="https://rubyweekly.com/link/183908/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;letter from the dev community,&lt;/a&gt; expressing our concerns.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183909/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/q3a7j5c1nzkkahxhqjo8.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183909/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;wxRuby3 1.8&lt;/a&gt; &lt;em&gt;(above)&lt;/em&gt; – Cross-platform GUI library based on the native widget-focused &lt;a href="https://rubyweekly.com/link/183910/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;wxWidgets&lt;/a&gt;. &lt;em&gt;(&lt;a href="https://rubyweekly.com/link/183911/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Glimmer DSL for WX&lt;/a&gt; is another option to consider in this space.)&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183912/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Cucumber 11.0&lt;/a&gt; – Mature BDD framework that uses &lt;a href="https://rubyweekly.com/link/183913/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;plain-English&lt;/a&gt; feature files to drive executable tests.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183914/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Serverless Rack 2.0&lt;/a&gt; – &lt;a href="https://rubyweekly.com/link/183915/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Serverless framework&lt;/a&gt; plugin to deploy Rack-based apps. Now with Rack 3 support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✉️ &lt;a href="https://rubyweekly.com/link/183916/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Devise::MultiEmail 4.0&lt;/a&gt; – Devise extension adding support for users with multiple email addresses.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183917/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;React on Rails 16.6&lt;/a&gt; – Integrates Rails with server-side rendering of React.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183918/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Async::HTTP 0.95&lt;/a&gt; – Asynchronous HTTP 1.0, 1.1 and 2 client and server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183919/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Pry::StackExplorer 0.6.3&lt;/a&gt; – Navigate the call stack interactively in &lt;a href="https://rubyweekly.com/link/183920/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Pry&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183921/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;ruby-plsql 0.9&lt;/a&gt; – Ruby API for calling Oracle PL/SQL procedures.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183922/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Prosopite 2.2&lt;/a&gt; – Reliable Rails N+1 query auto-detection.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183923/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Rake 13.4&lt;/a&gt; – Ruby's trusty Make-like build utility.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://rubyweekly.com/open/796/rss" width="1" height="1" /&gt;</description>
      <pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://rubyweekly.com/issues/796</guid>
    </item>
    <item>
      <title>A maintainer's guide to Ruby's release cycle</title>
      <link>https://rubyweekly.com/issues/795</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​795 — April 9, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183503/rss" style=" color: #0055bb;   "&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 12px;"&gt;&lt;p&gt;Ruby Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183505/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ymrf4ux1tigprlgodmx2.jpg" width="640" style="    line-height: 100%;       "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183505/rss" title="dev.to" style=" color: #0055bb;    font-size: 1.1em; line-height: 1.4em;"&gt;A Maintainer's Guide to Ruby's Release Cycle&lt;/a&gt;&lt;/span&gt; — Core team member &lt;code&gt;hsbt&lt;/code&gt; explains how Ruby 3.2 and 3.3 are reaching their end, how Ruby versioning works generally, who maintains what, and what terms like ‘security maintenance’ mean in the context of a Ruby version’s lifecycle.&lt;/p&gt;
  &lt;p&gt;Hiroshi Shibata &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://rubyweekly.com/link/183504/rss" style=" color: #0055bb;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/4dc848ce.png" width="165" height="120" style="padding-top: 12px; padding-left: 12px;     line-height: 100%;    "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183504/rss" title="fandf.co" style=" color: #0055bb;    font-size: 1.05em;"&gt;Your GitHub Actions workflows, but actually fast&lt;/a&gt;&lt;/span&gt; — Depot CI runs your existing GitHub Actions YAML — no rewrites needed. Pre-warmed sandboxes so jobs start fast, built-in caching, and SSH into any running job to debug. Migrate your workflows in one command: &lt;code&gt;depot ci migrate&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Depot &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;⚡️ IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Hiroshi Shibata has drafted an initial design proposal for &lt;a href="https://rubyweekly.com/link/183507/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;how dependency cooldowns / delayed updates could work in RubyGems&lt;/a&gt; and Bundler. Notably, per-gem granularity is avoided.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🌐 &lt;a href="https://rubyweekly.com/link/183508/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RubyGems.org&lt;/a&gt; has &lt;a href="https://rubyweekly.com/link/183509/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;temporarily disabled access to localized/translated pages&lt;/a&gt; due to intense crawler activity.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 Rails has gained &lt;a href="https://rubyweekly.com/link/183510/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;an official &lt;code&gt;AGENTS.md&lt;/code&gt; file&lt;/a&gt; aimed at AI agents being used to work directly upon the Rails code base (not regular apps).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183511/rss" title="andre.arko.net" style=" color: #0055bb;    font-size: 1.05em;"&gt;Towards an Amicable Resolution with Ruby Central&lt;/a&gt;&lt;/span&gt; — Last week, Richard Schneeman and Ruby Central published &lt;a href="https://rubyweekly.com/link/183512/rss" style=" color: #0055bb;   "&gt;a report&lt;/a&gt; into 2025’s contentious ‘RubyGems fracture’ and now former Bundler maintainer André has his say and makes two requests for the incident to be considered amicably settled.&lt;/p&gt;
  &lt;p&gt;André Arko &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183543/rss" title="danielabaron.me" style=" color: #0055bb;    font-size: 1.05em;"&gt;Dynamic Ruby and Hidden Maintenance Costs&lt;/a&gt;&lt;/span&gt; — ‘Clever’ has a cost, so it better have a valuable benefit. Ruby and Rails make metaprogramming easy, but in long-lived app code, explicit and boring often beats elegant and clever.&lt;/p&gt;
  &lt;p&gt;Daniela Baron &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183506/rss" title="blog.rubygems.org" style=" color: #0055bb;    font-size: 1.05em;"&gt;Protecting RubyGems.org from the Outside In&lt;/a&gt;&lt;/span&gt; — A quick update on work the RubyGems team has been doing to ensure the integrity of the gem registry, including password checks and validating gem contents at push time.&lt;/p&gt;
  &lt;p&gt;Colby Swandale &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183513/rss" title="newsletter.masilotti.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Building a (Frontend) Framework-Agnostic Gem&lt;/a&gt;&lt;/span&gt; — Let’s say you want your code to work alongside ERB, React, and Vue. There’s more than compatibility to contend with, as each approach has to &lt;em&gt;feel&lt;/em&gt; right, which is the harder bit.&lt;/p&gt;
  &lt;p&gt;Joe Masilotti &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183514/rss" title="sinaptia.dev" style=" color: #0055bb;    font-size: 1.05em;"&gt;AI Shouldn't Cost More Than It Saves&lt;/a&gt;&lt;/span&gt; — We can find where LLMs pay off, validate with real data, and tune for cost/effectiveness. Need help from experts? &lt;a href="https://rubyweekly.com/link/183515/rss" style=" color: #0055bb;   "&gt;Let's talk.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Sinaptia &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📺 &lt;a href="https://rubyweekly.com/link/183516/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Teaching Claude Code to Upgrade Rails&lt;/a&gt; – A lightning talk from &lt;a href="https://rubyweekly.com/link/183517/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;&lt;em&gt;Artificial Ruby&lt;/em&gt;&lt;/a&gt;, a New York-based Ruby group. &lt;cite&gt;Ernesto Tagwerker&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183518/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;How to Publish Gems with Trusted Publishing&lt;/a&gt; – Once set up, it's as easy as pushing a tag to GitHub. &lt;cite&gt;RubyGems Guides&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183519/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;From Sidekiq to Temporal: A Zero-Downtime Migration Strategy&lt;/a&gt;  &lt;cite&gt;David Haley (FireHydrant)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183520/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;A Testing Anti-Pattern: Distracting Setup Data&lt;/a&gt;  &lt;cite&gt;Jason Swett&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183523/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/w03mfvclc1kkmi4o5d1s.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183523/rss" title="github.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Coverband 6.2: Ruby Code Coverage, But in Production&lt;/a&gt;&lt;/span&gt; — &lt;a href="https://rubyweekly.com/link/183524/rss" style=" color: #0055bb;   "&gt;SimpleCov&lt;/a&gt; is great for checking code coverage during testing, but Coverband takes the idea into production, checking live code usage with low performance overhead.&lt;/p&gt;
  &lt;p&gt;Dan Mayer &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183521/rss" title="github.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Parallel 4.0: Parallel Processing Made Simple&lt;/a&gt;&lt;/span&gt; — Run blocks of code in parallel processes, threads, or ractors using &lt;code&gt;map&lt;/code&gt;, &lt;code&gt;each&lt;/code&gt;, &lt;code&gt;any?&lt;/code&gt;, and &lt;code&gt;all?&lt;/code&gt;. v4.0 requires Ruby 3.3+ and adds ractor support for Ruby 4.x.&lt;/p&gt;
  &lt;p&gt;Michael Grosser &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183522/rss" title="www.tigerdata.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;ActiveRecord + Postgres + Analytics. No New Stack Required.&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres so analytics runs on live data. Same ORM, same queries, no pipeline. Start for free.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183544/rss" title="github.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Puma 8.0: The Rack Web Server Built for Parallelism&lt;/a&gt;&lt;/span&gt; — Among many small improvements, Puma gets smarter concurrency controls, including a feature for framework authors to mark requests as IO-bound to allow them to go past the normal thread ceiling, as well as the ability to change thread pool limits at runtime. The &lt;a href="https://rubyweekly.com/link/183547/rss" style=" color: #0055bb;   "&gt;Puma 8 upgrade guide&lt;/a&gt; digs into all the details.&lt;/p&gt;
  &lt;p&gt;Nate Berkopec et al. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183525/rss" title="paolino.me" style=" color: #0055bb;    font-size: 1.05em;"&gt;Ruby Deserves Beautiful Documentation&lt;/a&gt;&lt;/span&gt; — A Jekyll theme that emulates the much-admired docs theme that &lt;a href="https://rubyweekly.com/link/183526/rss" style=" color: #0055bb;   "&gt;VitePress&lt;/a&gt; offers, minus all the JavaScript. &lt;a href="https://rubyweekly.com/link/183527/rss" style=" color: #0055bb;   "&gt;The project's homepage&lt;/a&gt; is its own example of the output.&lt;/p&gt;
  &lt;p&gt;Carmine Paolino &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183528/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;JRuby 10.0.5.0&lt;/a&gt; – The Ruby 3.4-compatible branch of JRuby gets a variety of bug fixes, adds formal Java 26 support, and JNR gains RISCv64 support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🖼️ &lt;a href="https://rubyweekly.com/link/183529/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RMagick 6.3&lt;/a&gt; – The final v6.x release of the popular bindings for the ImageMagick image processing library, now with deprecations to get you ready for the eventual ImageMagick 7-based RMagick 7.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🎥 &lt;a href="https://rubyweekly.com/link/183530/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Spectator Sport 0.3&lt;/a&gt; – Record and replay user browser sessions in a self-hosted Rails engine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183531/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Wombat 3.3&lt;/a&gt; – Ruby DSL for scraping pages and parsing structured data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183532/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Gems 2.0&lt;/a&gt; – Ruby wrapper for the &lt;a href="https://rubyweekly.com/link/183508/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RubyGems.org&lt;/a&gt; API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183533/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Grape 3.2&lt;/a&gt; – REST-like API framework.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183534/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RubyGems 4.0.10&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📰 Classifieds&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183535/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Gauntlet. A 10-week no-cost fellowship&lt;/a&gt; building the AI-first engineers hiring managers need. Ship production AI. Land a $200K–$950K job.&lt;/p&gt;
 
&lt;p&gt;🔬 "Absolutely essential for AI agent-written PRs." &lt;a href="https://rubyweekly.com/link/183536/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Undercover CI&lt;/a&gt; shows untested methods, right in your pull requests.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;📢  Elsewhere in the ecosystem&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183556/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/rez0hfk8gxzbakvz542l.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;📺 &lt;a href="https://rubyweekly.com/link/183556/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;DHH joined Gergely Orosz on the &lt;em&gt;Pragmatic Engineer&lt;/em&gt; podcast&lt;/a&gt; for an almost two hour long conversation covering his take on DHH's use of AI and agents, how 37signals builds apps, and what keeps DHH inspired to code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ally Piechowski shares &lt;a href="https://rubyweekly.com/link/183537/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;the &lt;code&gt;git&lt;/code&gt; commands she runs before reading any code&lt;/a&gt;. They provide a handy way to get a quick grasp on what's happening in larger, multi-contributor repos.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183538/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Sam Ruby experiments with running 'Rails' on the BEAM&lt;/a&gt;, Erlang's virtual machine (as also used by Elixir). It's not quite &lt;em&gt;Rails&lt;/em&gt; as you'd expect though.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Keen to brush up your knowledge of modern JavaScript? Chris Coyier's &lt;a href="https://rubyweekly.com/link/183540/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;What To Know in JavaScript (2026 Edition)&lt;/a&gt; tours the latest language features, plus the state of the most popular runtimes and build tools.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cloud66's Kash Sajadi rounds up &lt;a href="https://rubyweekly.com/link/183539/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;several Heroku alternatives in 2026&lt;/a&gt; along with basic cost comparisons.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the more creative side of things, someone's managed to &lt;a href="https://rubyweekly.com/link/183541/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;port Mac OS X to the Nintendo Wii&lt;/a&gt; and someone else has &lt;a href="https://rubyweekly.com/link/183542/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;built a renderer for Doom in pure CSS.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://rubyweekly.com/open/795/rss" width="1" height="1" /&gt;</description>
      <pubDate>Thu, 9 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://rubyweekly.com/issues/795</guid>
    </item>
    <item>
      <title>The final report on the 'RubyGems fracture'</title>
      <link>https://rubyweekly.com/issues/794</link>
      <description>

  

    
    
    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;#​794 — April 2, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183239/rss" style=" color: #0055bb;   "&gt;Read on the Web&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 12px;  padding-left: 12px;"&gt;&lt;p&gt;Ruby Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183288/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wnt0xqiiwa2myqojb4hd.jpg" width="640" style="    line-height: 100%;       "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183288/rss" title="rubycentral.org" style=" color: #0055bb;    font-size: 1.1em; line-height: 1.4em;"&gt;The '&lt;em&gt;RubyGems&lt;/em&gt; Fracture' Incident Report&lt;/a&gt;&lt;/span&gt; — A postmortem of the &lt;a href="https://rubyweekly.com/link/183289/rss" style=" color: #0055bb;   "&gt;Ruby Central vs Bundler story&lt;/a&gt; in late 2025 which resulted in the Ruby core team &lt;a href="https://rubyweekly.com/link/183290/rss" style=" color: #0055bb;   "&gt;taking stewardship&lt;/a&gt; of RubyGems and Bundler. The timeline of events is laid out in detail, but it’s unlikely to resolve the matter entirely (as demonstrated &lt;a href="https://rubyweekly.com/link/183291/rss" style=" color: #0055bb;   "&gt;in this Reddit comment&lt;/a&gt; by Mike Perham).&lt;/p&gt;
  &lt;p&gt;Richard Schneeman (Ruby Central) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;&lt;p&gt;💡 &lt;em&gt;The Register&lt;/em&gt; also has &lt;a href="https://rubyweekly.com/link/183292/rss" style=" color: #0055bb; font-weight: 600;   "&gt;a good independent take on this update&lt;/a&gt; factoring in some of the responses to it.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  &lt;a href="https://rubyweekly.com/link/183240/rss" style=" color: #0055bb;   "&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/1d33ebb2.png" width="150" height="150" style="padding-top: 12px; padding-left: 12px;     line-height: 100%;    "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183240/rss" title="www.fastruby.io" style=" color: #0055bb;    font-size: 1.05em;"&gt;How a Solo SaaS Founder Stopped Worrying About Rails Maintenance&lt;/a&gt;&lt;/span&gt; — "FastRuby.io is the steady baseline behind everything. They've simplified my life and freed me up to focus on what's important." See how &lt;a href="https://rubyweekly.com/link/183241/rss" style=" color: #0055bb;   "&gt;Bonsai's fixed-cost monthly maintenance&lt;/a&gt; helped Tim go from chasing contractors to peace of mind.&lt;/p&gt;
  &lt;p&gt;Bonsai by FastRuby.io® &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183242/rss" title="rubynative.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Ruby Native 0.4: Your Rails App in the App Store&lt;/a&gt;&lt;/span&gt; — Think &lt;a href="https://rubyweekly.com/link/183243/rss" style=" color: #0055bb;   "&gt;Hotwire Native&lt;/a&gt; but without ever having to touch Swift, yet you still get native controls, navbars, menus, and iOS 26 styling. It’s now free right up to using &lt;em&gt;TestFlight&lt;/em&gt; with your first 100 users. You only pay once you want to go live in the &lt;em&gt;App Store&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Joe Masilotti &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;&lt;strong&gt;⚡️ IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183244/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Ruby 3.2.11 has been released&lt;/a&gt; to fix the recent &lt;a href="https://rubyweekly.com/link/183245/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;zlib vulnerability&lt;/a&gt;, much as &lt;a href="https://rubyweekly.com/link/183246/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Ruby 3.3.11&lt;/a&gt; did last week. Note that &lt;a href="https://rubyweekly.com/link/183247/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Ruby 3.2 is now EOL (End of Life).&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔠 Looking for a new editor font? &lt;a href="https://rubyweekly.com/link/183248/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;CodingFont&lt;/a&gt; helps you find a good choice &lt;em&gt;visually&lt;/em&gt; using a bracket-style faceoff.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🤖 The &lt;a href="https://rubyweekly.com/link/183249/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;&lt;em&gt;Ruby AI News&lt;/em&gt; newsletter&lt;/a&gt; is celebrating its first birthday and is absolutely packed with stuff.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183250/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Rubysyn&lt;/a&gt; is an interesting attempt to &lt;em&gt;'clarify Ruby's syntax and semantics'&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🤖&lt;/span&gt; &lt;a href="https://rubyweekly.com/link/183251/rss" title="www.fastruby.io" style=" color: #0055bb;    font-size: 1.05em;"&gt;Rails Upgrade Methodology as Claude Code Skills&lt;/a&gt;&lt;/span&gt; — I actually used &lt;a href="https://rubyweekly.com/link/183252/rss" style=" color: #0055bb;   "&gt;the raw MD files&lt;/a&gt; last weekend to upgrade a Rails 6 app to Rails 8 and it went well.&lt;/p&gt;
  &lt;p&gt;Ernesto Tagwerker (FastRuby) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183253/rss" title="railsatscale.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Using Perfetto in ZJIT&lt;/a&gt;&lt;/span&gt; — 
The &lt;a href="https://rubyweekly.com/link/183254/rss" style=" color: #0055bb;   "&gt;ZJIT&lt;/a&gt; team has added &lt;a href="https://rubyweekly.com/link/183255/rss" style=" color: #0055bb;   "&gt;Perfetto&lt;/a&gt; tracing support to visualize and query slow events in Ruby's next-gen JIT. Deep technical content from the people building Ruby's performance future.
&lt;/p&gt;
  &lt;p&gt;Max Bernstein (Shopify) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183256/rss" title="fandf.co" style=" color: #0055bb;    font-size: 1.05em;"&gt;CI was designed for 2015. Your deploy frequency wasn't.&lt;/a&gt;&lt;/span&gt; — Depot CI: 2-3s job starts, parallel steps, SSH debugging. Run &lt;code&gt;depot ci migrate&lt;/code&gt; to move your GitHub Actions in minutes.&lt;/p&gt;
  &lt;p&gt;Depot &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183257/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Migrating 9,000 Tests from RSpec to Minitest with AI Agents&lt;/a&gt;  &lt;cite&gt;Viktor Schmidt&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183258/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Improving on Sandi Metz's Gear Class from POODR&lt;/a&gt; – &lt;em&gt;*gasp!*&lt;/em&gt; &lt;cite&gt;Jason Swett&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183259/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Handling Uncountable Words in Rails Inflections&lt;/a&gt; – Like staff, metadata, feedback.. or maybe &lt;em&gt;sheep&lt;/em&gt;? &lt;cite&gt;Andy Croll&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183260/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Teach Rails Irregular Plurals with Inflections&lt;/a&gt; — So criterion becomes criteria, say. &lt;cite&gt;Andy Croll&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://rubyweekly.com/link/183261/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Fixtures on Purpose: From Accident to Artifact&lt;/a&gt; &lt;cite&gt;Mike Moore&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0; padding-right: 0;  padding-left: 0;"&gt;&lt;p&gt;🛠 Code &amp;amp; Tools&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;
  &lt;a href="https://rubyweekly.com/link/183262/rss" style=" color: #0055bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zbuhms5xonomd1ahnu4z.jpg" width="640" style="    line-height: 100%;         "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🏖️&lt;/span&gt; &lt;a href="https://rubyweekly.com/link/183262/rss" title="github.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Holidays 9.0: Methods to Deal with Those Special Days&lt;/a&gt;&lt;/span&gt; — Just in time for Easter! Days off, vacations, public holidays.. whatever you call them, your app might need to know about them. &lt;em&gt;Holidays&lt;/em&gt; covers such days the world over using its &lt;a href="https://rubyweekly.com/link/183263/rss" style=" color: #0055bb;   "&gt;YAML-based definitions.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Holidays Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183264/rss" title="www.tigerdata.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Your Rails App and Your Analytics Belong in One DB&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres so analytics runs on live data. No second database, no pipeline, no sync lag. Try free.&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding-top: 1px; padding-right: 4px;  padding-left: 4px;            "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183265/rss" title="github.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;Safely 1.0: Rescue and Report Exceptions in Non-Critical Code&lt;/a&gt;&lt;/span&gt; — The idea is that while you may want to &lt;em&gt;know&lt;/em&gt; about exceptions in certain blocks of code, they might not be serious enough to require crashing out. Sends exceptions to &lt;a href="https://rubyweekly.com/link/183266/rss" style=" color: #0055bb;   "&gt;a variety of services&lt;/a&gt; out of the box.&lt;/p&gt;
  &lt;p&gt;Andrew Kane &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://rubyweekly.com/link/183267/rss" title="github.com" style=" color: #0055bb;    font-size: 1.05em;"&gt;re2 2.25: Ruby Bindings to Google's RE2 Regex Library&lt;/a&gt;&lt;/span&gt; — A safer alternative to backtracking regular expression engines. &lt;a href="https://rubyweekly.com/link/183268/rss" style=" color: #0055bb;   "&gt;v2.25&lt;/a&gt; adds a variety of new features including &lt;code&gt;RE2.extract&lt;/code&gt; which does a match-and-reformat in one step (so you provide a source text, regex, and the desired output format including backreferences).&lt;/p&gt;
  &lt;p&gt;Paul Mucur &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 0px;  padding-left: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;📰 Classifieds&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;p&gt;🧐 A cheaper Heroku? Our &lt;a href="https://rubyweekly.com/link/183269/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;cost comparison calculator&lt;/a&gt; puts the PaaS alternatives head-to-head.&lt;/p&gt;
 
&lt;p&gt;SerpApi is a &lt;a href="https://rubyweekly.com/link/183270/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Web Search API&lt;/a&gt; that gives developers real-time, structured access to search engine results. Try SerpApi for free.&lt;/p&gt;
 
&lt;p&gt;Become an AI-first engineer. Gauntlet is a full-time fellowship, no cost. $200K+ roles. Next cohort starts 4/27. &lt;a href="https://rubyweekly.com/link/183271/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Apply Today.&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em;  padding-top: 0px; padding-right: 15px;  padding-left: 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183272/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Inertia.js 3.0&lt;/a&gt; – Provides glue between React, Vue and Svelte SPAs and non-JS server-side frameworks like Rails and Django. &lt;a href="https://rubyweekly.com/link/183273/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;More on v3.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🔎 &lt;a href="https://rubyweekly.com/link/183274/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;rbspy v0.45&lt;/a&gt; – Sampling profiler for Ruby processes that can be used without restarting them. Now supports Ruby 3.2.11 and 3.3.11.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183275/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;ruby.wasm 2.9.0&lt;/a&gt; – An official collection of WebAssembly ports of CRuby. Here's a handy &lt;a href="https://rubyweekly.com/link/183276/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;cheat sheet.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183277/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;ActiveHash 4.1&lt;/a&gt; – Use hashes as a read-only data source for ActiveRecord-like models.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183278/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Gemstash 2.8&lt;/a&gt; – Run your own local gem server and caching proxy for &lt;a href="https://rubyweekly.com/link/183279/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;RubyGems.org&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183280/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Bunny 3.0/3.1&lt;/a&gt; –  RabbitMQ client library. Here's &lt;a href="https://rubyweekly.com/link/183281/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;what changed in v3.0.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183282/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;The Twitter (X) Ruby Gem 8.3&lt;/a&gt; – Ruby interface to the official X API.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183283/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Parallel 1.28&lt;/a&gt; – Run code in parallel processes, threads, or ractors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183284/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Ruby-LSP 0.27 Beta 1&lt;/a&gt; (now using &lt;a href="https://rubyweekly.com/link/183285/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Rubydex&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://rubyweekly.com/link/183286/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;Rack 3.2.6&lt;/a&gt;, &lt;a href="https://rubyweekly.com/link/183287/rss" style=" color: #0055bb; font-weight: 500 !important;   "&gt;BigDecimal 4.1&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.48em; "&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://rubyweekly.com/open/794/rss" width="1" height="1" /&gt;</description>
      <pubDate>Thu, 2 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://rubyweekly.com/issues/794</guid>
    </item>
  </channel>
</rss>
