---
title: "Ruby's parser is to be rewritten"
publication: "Ruby Weekly"
issue: 620
published_at: "2022-09-15"
canonical_url: "https://rubyweekly.com/issues/620"
---

Plus Ruby 3.2 comes a step closer, JRuby gets an exciting new JVM feature, and deploying Rails apps on Kubernetes with Kuby. |        

#​620 — September 15, 2022 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/bouwlu9e7zlqdlj8clea.jpg)](https://www.ruby-lang.org/en/news/2022/09/09/ruby-3-2-0-preview2-released/)  

[Ruby 3.2.0 Preview 2 Released](https://www.ruby-lang.org/en/news/2022/09/09/ruby-3-2-0-preview2-released/) — The countdown to Christmas Day, and therefore a key new version of Ruby, continues. Preview releases in recent years have been quite reliable (it’s not the 1.9 days anymore!) so if you want to play with the new WASI-based WebAssembly support, regular expression timeouts, rest param changes, or YJIT’s support for arm64/aarch64.. _now is as good a time as any_. 

Yui Naruse   [![\](https://copm.s3.amazonaws.com/ba4ea602.png)](https://www.courier.com/blog/tutorial-how-to-send-email-in-a-ruby-app/?utm_campaign=demand-gen&utm_source=email&utm_medium=ruby-weekly-9-15&utm_content=ruby-email-blog) 

[Send Email Directly from Your Ruby App with Courier](https://www.courier.com/blog/tutorial-how-to-send-email-in-a-ruby-app/?utm_campaign=demand-gen&utm_source=email&utm_medium=ruby-weekly-9-15&utm_content=ruby-email-blog) — Using a marketing tool to email your users? With the Courier gem you can notify your users with a single line of code. We work with Mailgun, Sendgrid and many other email providers. 

Courier.com sponsor   

[Howitzer: An Acceptance Testing Framework for Webapps](https://howitzer-framework.io/) — Ruby powered but aims to be high level enough to work with webapps built pretty much using anything, whether PHP, Java, or .NET. You can pick from Cucumber, RSpec or Turnip for the BDD side of things. Provides a lot of structure. [GitHub repo.](https://github.com/strongqa/howitzer) 

StronqQA LLC   

[JRuby 9.3.8.0 Released with Virtual Thread Support](https://www.jruby.org/2022/09/13/jruby-9-3-8-0.html) — On the surface, this Ruby 2.6.x-compatible release of the popular JVM based Ruby implementation seems minor, but it has a bonus feature in the shape of _experimental_ support for using [‘virtual threads’](https://blogs.oracle.com/javamagazine/post/java-loom-virtual-threads-platform-threads) (a very new, lightweight thread feature in Java 19). This, apparently, makes it possible for JRuby apps to _“create thousands of concurrently-executing fibers.”_ 

JRuby Core Team   

**QUICK BITS:** 

- Shopify's Kevin Newton has posted [🐦 a Twitter thread](https://twitter.com/kddnewton/status/1568316056208547840) about how he's going to be rewriting Ruby's parser – it's still going to be written in C but will be decoupled enough that it can be used by third party projects (like linters, say) without needing to link against the whole of CRuby.
- [Rails 7.0.4, 6.1.7 and 6.0.6](https://rubyonrails.org/2022/9/9/Rails-7-0-4-6-1-7-6-0-6-have-been-released) have been released. All minor bugfix releases. The 6.x ones are considered 'best effort' releases though, as _technically_ those branches are no longer supported.
- Nate Berkopec [🐦 notes](https://twitter.com/nateberkopec/status/1567769935786688514) that both YJIT and MJIT are being rewritten for Ruby 3.2, with YJIT going from C to Rust and MJIT from C to Ruby.
- Brandon Weaver [🐦 has unveiled](https://twitter.com/keystonelemur/status/1569716343091638272) a Discord-based [🎮 community](https://discord.gg/BeUtrFAgDF) called _Ruby Learning Center_ for Rubyists to collectively work through Ruby related books, courses, and other educational material.  

📖 Articles, Stories & Videos  

[Using the Timescale Gem with Ruby](https://ideia.me/using-the-timescale-gem-with-ruby) — [TimescaleDB](https://github.com/timescale/timescaledb) is an extension that turns Postgres into more of a fully-fledged _time series_ database. This thorough walkthrough demonstrates using its _hypertables_ from Ruby and Active Record from creation through to querying. 

Jônatas Davi Paganini   

▶[Kuby: Active Deployment for Rails Apps](https://www.youtube.com/watch?v=zbAslvHa7MI) — Want to deploy Rails apps on Kubernetes? [Kuby](https://getkuby.io/) tries to make Docker and Kubernetes more accessible to the average Rails developer. This talk takes it _very_ gently and focuses more on the big picture of Rails deployments before reaching Kuby as an option. _Thanks to reader James Childers for specifically recommending this._ 

Cameron Dutro   

🎧 If you'd rather _listen_ to Cameron talk about Kuby, he was on [this week's _Ruby Rogues_podcast.](https://topenddevs.com/podcasts/ruby-rogues/episodes/ruby-on-kubernetes-without-the-headaches-using-kuby-ruby-563)  

[Announcing Incident Management For Honeybadger Status Pages 🤩](https://www.honeybadger.io/blog/incident-management-annoucement/?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby) — Now you can report incidents in real time (or retroactively) and schedule alerts for planned maintenance. [Check it out](https://www.honeybadger.io/blog/incident-management-annoucement/?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby). 

Honeybadger sponsor   

['Why I Don’t Enjoy RSpec All That Much'](https://nts.strzibny.name/why-not-rspec/) — I too, am more of a Minitest fan, but RSpec undoubtedly remains the biggest entrant in the fight. Josef reflects on some of RSpec’s warts. 

Josef Strzibny   

▶[A Chat with Adrian Marin, the Founder of Avo Admin](https://www.codewithjason.com/podcast/11291339-161-adrian-marin-founder-of-avo-admin/) — [Avo](https://avohq.io/) is the latest in a line of Rails-based boilerplate / starter apps, and a particularly solid one at that. _(58 minutes.)_ 

Code with Jason Podcast podcast   

**EXTRAS:** 

- [`git diff` and `git log` and dots](http://peter.eisentraut.org/blog/2022/09/13/git-diff-and-git-log-and-dots)
 ↳ It's not Ruby specific, but if you're unaware of the difference between `git diff a..b` and `git diff a...b` – you'll find this useful.
- [Curl's creator shows off an extremely unusual URL](https://daniel.haxx.se/blog/2022/09/08/http-http-http-http-http-http-http/)
 ↳ It's too cumbersome to include here, but his weird concoction is a _legitimate_ URL, believe it or not. Sadly, Ruby's `URI.parse` doesn't get it right.
- [Sarah Wells on Mastering Microservices Over Monolithic Applications](https://semaphoreci.com/blog/sarah-wells-microservices)  

🛠 Code & Tools  

[Bashly: Bash CLI Script Framework and Generator](https://bashly.dannyb.co/) — This is an interesting idea. You declare the basic user-facing elements of a CLI tool (arguments, environment variables, command groups, default values, and more) and Bashly generates the bash code to make it a reality – you can then flesh out the actual functionality from there. There are [a lot of examples](https://github.com/DannyBen/bashly/tree/master/examples#bashly-examples) in the [GitHub repo.](https://github.com/DannyBen/bashly) 

Danny Ben Shitrit   

[Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=fourletter) 

Shortcut (formerly Clubhouse.io) sponsor   

[Tobox: Implementation of the 'Transactional Outbox' Pattern](https://gitlab.com/honeyryderchuck/tobox) — Simple, data-first events processing based around the [transactional outbox pattern.](https://microservices.io/patterns/data/transactional-outbox.html) tobox executes your handlers in a worker pool which can be either thread or fiber based. 

HoneyryderChuck   

- [Wicked 2.0](https://github.com/zombocom/wicked)
 ↳ Step-by-step 'wizard' experiences for Rails controllers.
- [PgHero 3.0](https://github.com/ankane/pghero)
 ↳ Rails-powered performance dashboard for Postgres.
- [ActiveInteractor 1.2](https://github.com/aaronmallen/activeinteractor)
 ↳ The command pattern for Ruby with ActiveModel::Validations.
- [Loofah 2.19](https://github.com/flavorjones/loofah)
 ↳ Nokogiri-based HTML/XML manipulation and sanitization.
- [Restforce 6.0](https://github.com/restforce/restforce)
 ↳ A Ruby client for the Salesforce REST API.
- [rack_csrf 2.7](https://github.com/baldowl/rack_csrf) – Anti-CSRF middleware.
- [valvat 1.1.5](https://github.com/yolk/valvat) – European VAT number validation.     

Jobs  

[Ruby Engineer | Bavaria or Remote 🇩🇪](https://www.adigi.ai/software-entwickler-ruby/) — Join our German-speaking, Ruby-loving team for AI-backed SaaS products for the travel industry. No meetings, just coding :-) 
adigi.ai   

[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           

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

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

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

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