---
title: "New Year, New Ruby"
publication: "Ruby Weekly"
issue: 684
published_at: "2024-01-04"
canonical_url: "https://rubyweekly.com/issues/684"
---

Plus more reflections on 2023, and what might be in Rails 8? |        

#​684 — January 4, 2024 

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

**We're back!** What a fantastic end to the year Ruby had. We're going to cover as much of it as we can today, so be prepared, there's a lot.. :-)
__
_Peter and the Cooperpress team_ 

Together with [![reinteractive\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_900,h_186/e_make_transparent/co_white,e_outline:9/goq5p4n0bj1gcxvxkfel.png)](https://reinteractive.com/services-codecare-shield)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dzcncieyidjxxoqmi1to.jpg)](https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/)  

🎉 [Ruby 3.3 Released](https://www.ruby-lang.org/en/news/2023/12/25/ruby-3-3-0-released/) — It's not exactly _breaking news_, but I was too busy eating turkey on Christmas Day to dig into this new, mammoth release of Ruby till now 😉 If you’ve been playing with the preview and RC releases, little has changed, but here’s the big picture regarding improvements: 

- A leap [in IRB's capabilities,](https://railsatscale.com/2023-12-19-irb-for-ruby-3-3/) notably around debugging and autocompletion.
- The inclusion of [the Prism parser](https://kddnewton.com/2023/11/30/advent-of-prism-part-0) as a default gem, opening up a standard, approved way to work with the Ruby AST in any Ruby project.
- [YJIT is faster](https://railsatscale.com/2023-12-04-ruby-3-3-s-yjit-faster-while-using-less-memory/) and more efficient than before.
- Inclusion of a new pure Ruby [RJIT JIT compiler](https://k0kubun.medium.com/rjit-a-pure-ruby-jit-for-ruby-f4084f0765), mostly for experimentation.
- Inclusion of the [M:N thread scheduler.](https://bugs.ruby-lang.org/issues/19842)
- For more, Chris Oliver [▶️ has a 17-minute screencast](https://gorails.com/episodes/ruby-3-3), or check out the next item to dig deep. 

Yui Naruse   

[Ruby 3.3's Language Changes in Detail](https://rubyreferences.github.io/rubychanges/3.3.html) — For five years, Victor has scoured through each new Ruby release and produced extensive notes on the changes made to _the language_ (rather than CRuby the implementation). 3.3 gets the same treatment here, and any time you spend checking this out will be repaid in problems avoided during future upgrades. 

Victor Shepelev   [![\](https://copm.s3.amazonaws.com/0d3626fa.png)](https://reinteractive.com/services-codecare-shield) 

[Get CodeCare Shield for Ruby on Rails Security & Updates](https://reinteractive.com/services-codecare-shield) — Worried about your Ruby on Rails application? With CodeCare Shield, your app will always be secure and up-to-date. Don't let vulnerabilities in your Ruby on Rails applications keep you up at night – let us handle your security worries. 

reinteractive/CodeCareShield sponsor   

- ▶️ The [talks from _Blue Ridge Ruby 2023_](https://www.youtube.com/@BlueRidgeRuby/videos) are now on YouTube, covering topics from [types](https://www.youtube.com/watch?v=TeMqO3lzfMI) and [machine learning](https://www.youtube.com/watch?v=11yubbTx8Ow) to [RSpec's bad parts](https://www.youtube.com/watch?v=5lNwSpgMwH0) and [the `Coverage`module](https://www.youtube.com/watch?v=H4pBjWOMr_Y).
- 🗣 [An interview with Elia Schito](https://console.substack.com/p/console-189#%C2%A7interview-with-elia-of-opal-a-ruby-to-javascript-source-to-source-compiler) of the [Opal](https://opalrb.com/) Ruby-to-JavaScript transpiler project.
- 🕹 The developer of the _DragonRuby Game Toolkit_ shares [an end of year review](https://dragonruby.itch.io/dragonruby-gtk/devlog/655686/2023-year-end-review) of how the project has grown in 2023 and why it is, they believe, _"the best engine for indie devs who want to build commercial 2D games."_
- 👾 In other Ruby gamedev news, [Bloopy & Droopy](https://www.nintendo.com/us/store/products/bloopy-and-droopy-switch/) is a forthcoming Nintendo Switch game built atop [mruby](https://mruby.org/) and [SFML.](https://www.sfml-dev.org/) It's not by the same author, but the RubyConf talk [▶️ Building a Commercial Game Engine using mRuby and SDL](https://www.youtube.com/watch?v=s2rngApV1WU) has more info on related tech.
- 🤔 If you're not yet overwhelmed, why not think about [what might be in Rails 8?](https://lucas.dohmen.io/posts/2024/01/01/rails-8-sneak-peek/) One thing not mentioned is [Brakeman will be added to Rails 8 apps](https://github.com/rails/rails/issues/50501) by default.
- 🥳 Amanda Perino reflects on [the first year of the _Rails Foundation_](https://rubyonrails.org/2023/12/27/reflecting-on-2023).
- 💄 DHH [waxes lyrical about the role of 'style'](https://world.hey.com/dhh/a-writer-s-ruby-2050b634) in Ruby code, and also finally [says goodbye to UJS](https://github.com/rails/rails/pull/50535).  

📕 Articles & Tutorials  

[Why You Need Strong Parameters in Rails](https://www.writesoftwarewell.com/why-use-strong-parameters-in-rails/) — [Strong Parameters](https://api.rubyonrails.org/classes/ActionController/StrongParameters.html) were introduced in Rails in response to a rash of ‘mass assignment’ vulnerabilities. This post explains the problem and how it is addressed in modern Rails apps. 

Akshay Khot   

[Inheritance in Ruby, in Pictures](https://blog.jez.io/inheritance-in-ruby/) — Unsurprisingly, an illustrated guide to how inheritance works. 

Jake Zimmerman   

[Free eBook: Advanced Database Programming with Rails and Postgres](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklySecondary01042024) — Learn about subqueries, materialized views, and custom data types in Postgres & Rails and follow along with our examples. 

pganalyze sponsor   

[Nested Modules in Ruby](https://www.writesoftwarewell.com/nested-modules-in-ruby/) — An explanation of not just two ways to define them, but how to access nested constants and what `Module.nesting`does. 

Akshay Khot   

[Turn Your Code Into Pixel Art](https://thoughtbot.com/blog/turn-your-code-into-pixel-art) — You might think your code is a work of art, but now it can be visually true, too. 

Matheus Richard   

[Editing Rails Credentials using VS Code](https://railsnotes.xyz/blog/rails-credentials-vscode-edit) — How to use VS Code to edit secrets when you run `rails credentials:edit`. 

Harrison Broadbent   

▶[Demystifying the Ruby Package Ecosystem](https://www.youtube.com/watch?v=khKTAz79YzY) — A RubyConf 2023 talk. 
Jenny Shen   

[Rust, Ruby, and the Art of Implicit Returns](https://earthly.dev/blog/single-expression-functions/) 
Adam Gordon Bell   

[Eight Turbo 8 'Gotchas'](https://fly.io/ruby-dispatch/8-turbo-8-gotchas/) 
Brad Gessler  

🛠 Code & Tools  

[Introducing Superglue: React ❤️ Rails](https://thoughtbot.com/blog/introducing-superglue) — An attempt at a framework that brings together Rails, React and Redux in a way that makes them as smooth and productive to use as Hotwire, Turbo and Stimulus. We’ll never say no to more options in this area. 

thoughtbot   

[Extralite 2.4: An Enhanced Way to Work with SQLite from Ruby](https://github.com/digital-fabric/extralite) — Imagine a faster and easier way to use SQLite from Ruby than the default `sqlite3` library. Now, stop imagining and try this. v2.4 includes improvements like improved performance for multi-threaded apps and support for binding BLOBs. 

Sharon Rosner   

All that said, [sqlite3-ruby 1.7](https://github.com/sparklemotion/sqlite3-ruby/releases/tag/v1.7.0) has just landed with full Ruby 3.3 support.  

[Dragonfly — Redis with Wings, Built for Modern Ruby Applications](https://www.dragonflydb.io/cloud?utm_campaign=cooperpress_nruby_jan24&utm_source=ppc&utm_medium=newsletter) — A drop-in Redis replacement with better performance and scalability. Apps built on Dragonfly deliver faster experiences while reducing costs. 

Dragonfly sponsor   

[Versionaire 13.0: An Immutable Semantic Version Type](https://github.com/bkuhlmann/versionaire) — If you’re working with version numbers, this class provides a lot of neat abstractions (for comparisons, type conversions, equality, etc.) 

Brooke Kuhlmann   

- [Sinatra 3.2](https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md#320--2023-12-29) – The popular DSL-based webapp library. Has a few small enhancements, but most critically Ruby 3.3 and Bundler 2.5 compatibility.
- [ActiveType 2.4](https://github.com/makandra/active_type) – Make any Ruby object _'quack like ActiveRecord.'_
- [RubyGems 3.5.4](https://blog.rubygems.org/2024/01/04/3.5.4-released.html) – `gem update --system` now respects Ruby version constraints.
- [Business Class 1.3](https://nts.strzibny.name/businessclass-1.3/) – Commercial Rails SaaS kit. Now with (initial) Stripe support.
- [Graphs and Charts 0.2](https://github.com/AndyObtiva/glimmer-libui-cc-graphs_and_charts) – Chart controls for _Glimmer DSL for LibUI._
- [HairTrigger 1.1](https://github.com/jenseng/hair_trigger) – Manage database triggers in a Rails-y way.
- [SmarterCSV 1.10](https://github.com/tilo/smarter_csv) – Load CSVs in as arrays of hashes.
- [Async 2.8](https://github.com/socketry/async) – Asynchronous event-driven reactor.
- [parallel_tests 4.4](https://github.com/grosser/parallel_tests) – More cores == faster tests.
- [Reek 6.2](https://github.com/troessner/reek) – 'Code smell' detector for Ruby.         

Curated by [Peter Cooper](https://twitter.com/cooperx86) 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/).
