Paul Krill
Editor at Large

Ruby on Rails gets better production defaults

news
Aug 14, 20242 mins
Programming LanguagesRubySoftware Development

Version 7.2 of the longstanding web framework arrives with improved production defaults and a new dev container config.

Red train on tracks, railroad engineering
Credit: SritanaN / Shutterstock

Ruby on Rails, the two-decades-old web development framework, features better production defaults and development container configuration in the just-released 7.2  version, according to proponents.

Announced on August 10, Ruby on Rails 7.2 offers improved production defaults for building more- efficient applications. Rails proponents cited a few changes. The Ruby language’s JIT compiler, YJIT, is now enabled by default if running Ruby 3.3 or newer, and the number of default threads in the Puma web server was changed from five to three. This improves latency by reducing the time Ruby spends waiting for the Global VM Lock (GVL) to release when the thread count is too high. Additionally, the default Dockerfile generated by Rails now includes the jemalloc allocator.

For development containers, Rails 7 now can generate a development container configuration for an application. The configuration includes a .devcontainer folder with a Dockerfile, a docker-compose.yml file, and a devcontainer.json file. The dev containers have features such as a database (SQLite, Postgres, MySQL, or MariaDB) and a headless Chrome container for system tests.

Other features highlighted in Rails 7.2 include:

  • Rails guides were redesigned to be clean, sleek, and up-to-date.
  • Ruby 3.1 is the minimum version.
  • Jobs cannot be scheduled within transactions.
  • Progressive web application (PWA) files are created by default.
  • A new default browser version guard was added.

Plans call for the release of Rails 8.0 later this year.