---
title: "Ruby 3.1.2 and others released"
publication: "Ruby Weekly"
issue: 599
published_at: "2022-04-14"
canonical_url: "https://rubyweekly.com/issues/599"
---

Plus what's going on in Ruby core, GitHub's Rack-related optimization, and Ruby to JavaScript compilation. |        

[🇺🇦](https://war.ukraine.ua/) #​599 — April 14, 2022 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/rxsparrvtrfpbgaiphaj.jpg)](https://github.blog/2022-04-11-performance-at-github-deferring-stats-with-rack-after_reply/)  

[Performance at GitHub: Deferring Stats with `rack.after_reply`](https://github.blog/2022-04-11-performance-at-github-deferring-stats-with-rack-after_reply/) — GitHub was originally founded in the Ruby world and based entirely around a Rails app. Their platform has expanded somewhat now, but Ruby code is still at the heart of many of their apps and Rack’s little known `rack.after_reply` has been helping keep their latency numbers down. 

Blake Williams (GitHub)   

[Ruby 3.1.2 Released (and 3.0.4, 2.7.6, and 2.6.10)](https://www.ruby-lang.org/en/news/2022/04/12/ruby-3-1-2-released/) — A flurry of new releases to (mostly) fix two security vulnerabilities: [a double free vulnerability in regex compilation](https://www.ruby-lang.org/en/news/2022/04/12/double-free-in-regexp-compilation-cve-2022-28738/) (3.x only) and [a buffer overrun vulnerability in String to Float conversion](https://www.ruby-lang.org/en/news/2022/04/12/buffer-overrun-in-string-to-float-cve-2022-28739/). 

Yui Naruse and Yusuke Endoh   [![\](https://copm.s3.amazonaws.com/9e49da03.png)](https://pganalyze.com/ebooks/efficient-search-in-rails-with-postgres?utm_source=RubyWeeklyPrimary04142022) 

[Free eBook: Efficient Search in Rails with Postgres](https://pganalyze.com/ebooks/efficient-search-in-rails-with-postgres?utm_source=RubyWeeklyPrimary04142022) — In this eBook, Leigh Halliday explains how to speed up a search query from seconds to milliseconds — walking through using exact matches, similarity matches with trigrams, partial matches with ILIKE, and natural language matches. 

pganalyze sponsor   

[Recently in Ruby Core](https://austrian-nerd.dev/blog/recently-in-ruby-core-march-edition/) — A summary of some of the issues proposed to Ruby core which touch areas from garbage collection to pretty-printing enhancements. If you want to get involved (or just get more knowledgeable), dig in. 

Gernot Gradwohl   

**Quick Bits:** 

- JRuby fan? Charles Oliver Nutter will be at RailsConf [presenting JRuby 9.4](https://twitter.com/i/web/status/1514318556871208969) which will be Ruby 3.1 compatible and be able to run Rails 7. Fantastic!
- JetBrains has unveiled the latest release of their commerical Ruby IDE: [RubyMine 2021.1](https://blog.jetbrains.com/ruby/2022/04/rubymine-2022-1-released/).
- After going 'end of life' two weeks ago, [Ruby 2.6.10](https://www.ruby-lang.org/en/news/2022/04/12/ruby-2-6-10-released/) (already mentioned above) is the _final release_ of the Ruby 2.6 series.
- Last year, Rubyist Josef Strzibny released [Deployment from Scratch](https://deploymentfromscratch.com/), a paid ebook on deploying Ruby _and_ Python apps. Now, he [reflects on a year of sales](https://nts.strzibny.name/one-year-of-sales/) and the process of creating an infoproduct. Would he self-publish again? Yes.
- I've been hearing a lot of good things about [Sin City Ruby](https://www.sincityruby.com/), a Ruby event that took place in Las Vegas in March, and the [▶️ latest episode of Remote Ruby](https://share.transistor.fm/s/a47c4709) has been devoted to it.
- Airbrake, an error monitoring service popular in the Ruby space, has presented [a 2022 'error data' report](https://airbrake.io/blog/2022-airbrake-error-data-report) sharing a few findings relating to, mostly, Ruby-based projects.     

Jobs  

[Full Stack Engineer - React/Rails (Remote)](https://apply.workable.com/convertkit/j/9AC6C4BFF9/) — Got 5-7 years of experience? We're seeking an engineer that writes accessible, scalable and maintainable code that enjoys the product side of development to join our Onboarding team. 
ConvertKit   

[Senior Ruby On Rails Developer](https://jobs.lever.co/sensortower/c972561f-35fc-401a-9b30-13c418a0c183) — Our profitable & growing startup is looking for developers interested in working on tools to handle big data scaling challenges. 
Sensor Tower   

[Software Engineer - Feature Engineering (Remote)](https://apply.workable.com/dnsimple/j/36AE622A87/) — Join a small team building solid, simple solutions for DNS & domain management. 100% remote, diverse & proud of the tools we make. 
DNSimple   

[Find Ruby Jobs Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

📕 Articles & Tutorials  

[Different Ways to Set Attributes in Active Record](https://scottbartell.com/2022/04/12/set-attributes-in-active-record-rails-7/) — A Rails 7 oriented cheat sheet comparing the behaviors around various ways to set attributes. 

Scott Bartell   

[Releasing a Redesign using Feature Flags and Rails Variants](https://codingdeliberately.com/releasing-a-redesign-using-feature-flags-and-rails-variants/) — [Variants](https://guides.rubyonrails.org/layouts_and_rendering.html#the-formats-option) is a core Rails feature that makes it easy to trigger an alternative template under conditions of your choosing. Coupled with feature flags, it gives a safe and controllable way to roll out a new design. 

Ari Summer   

[How Environment Variables Can Make Your Ruby Test Suite 'Flaky'](https://blog.testdouble.com/posts/2022-04-12-how-environment-variables-make-your-ruby-test-suite-flaky/) — Environment variables can help manage config in any application. But Ali shows they can also make test suites more fragile. 

Ali Ibrahim   

[Flaky Tests Slowing You Down? BuildPulse Can Help](https://buildpulse.io?utm_source=rubyweekly&utm_campaign=202204) 

BuildPulse sponsor   

[Introducing erb2builder: An HTML+ERB Parser](https://blog.luitjes.it/posts/erb2builder/) — Built as part of a no/low-code Ruby platform using Nokogumbo, treetop, and the parser gem, it’s not perfect, but an interesting starting point. Included here, rather than in the ‘code’ section, as the author focuses mostly on _how_ it works. 

Lucas Luitjes   

▶[Rails Flash Messages in the Hotwire Era](https://www.youtube.com/watch?v=G1I7FLFuLlk) 
Cezar Halmagean   

[A Slice of Life: Table Partitioning in PostgreSQL Databases](https://evilmartians.com/chronicles/a-slice-of-life-table-partitioning-in-postgresql-databases) 
Shakirov, Lifanov, and Turner   

[Postgres Transaction Pitfalls for Rails Developers](https://aboobacker.in/2022/04/12/postgres-transaction-pitfalls-for-rails-developers.html) 
Aboobacker MK  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ay0beoabnrrpjotxokgx.jpg)](https://opalrb.com/)  

[Opal 1.5: The Ruby to JavaScript Compiler](https://opalrb.com/) — [v1.5.0](https://github.com/opal/opal/releases/tag/v1.5.0) is an evolutionary rather than revolutionary release, but increases performance and extends support further. `binding.irb` is now supported both in browsers and Node.js. [GitHub repo](https://github.com/opal/opal). 

Adam Beynon and Contributors   

[RbSyn: Program Synthesis for Ruby](https://github.com/ngsankha/rbsyn) — This is a curious idea but steeped in a long history of program synthesis in computer science over the years. Essentially, you provide RbSyn with a specification in the form of tests, type and ‘effect annotations’ and a Ruby function that will pass the tests is returned. 

Sankha Narayan Guria   

[Complete Peace of Mind Rails Hosting](https://www2.reinteractive.com/opscare-hosting) — If you need hands-off, rock solid hosting for your Rails app, OpsCare is for you. We keep your app running, 24 hours a day, 7 days a week with a worldwide team. 

OpsCare by reinteractive sponsor   

[Silencer: Easily Suppress the Rails Logger](https://github.com/stve/silencer) — On a per-action basis, too. 

Steve Agalloco   

[Mobility: Pluggable Ruby Translation Framework](https://github.com/shioyama/mobility) — Supports both Active Record and Sequel. 
Chris Salzberg   

[CreditCardValidations 5.0: Gem for Validating Card Numbers](https://github.com/didww/credit_card_validations) 
Igor Fedoronchuk   

[Biggs: A Library for Formatting Postal Addresses from 60+ Countries](https://github.com/yolk/biggs) 
Sebastian Munz   

[Sidekiq-Cron 1.3.0: A Cron-Like Scheduler for Sidekiq Jobs](https://github.com/ondrejbartas/sidekiq-cron) 
Ondřej Bartas         

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

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

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