Ruby on Rails - 5 mins read

The GOAT Ruby on Rails 8 is here - What's new?

Go from MVP to IPO with this GOAT web framework

Magesh

Lead Technical Consultant

DHH and the team launched Rails 8 in style at the Rails World Conference recently, like never before. Why? because this new version comes with a lot of features that is going to make it the God of all web frameworks

We love how it simplifies the whole web development process helping you go from MVP to IPO in less time than you can imagine. You do not need a PAAS or any fancy cloud infrastructure anymore, you can build and deploy your product in few seconds. More power to open-source.

Isn't that fascinating? Let's look at how Rails 8 does that.

Unparalleled Performance

Rails 8 includes enhancements to how ActiveRecord handles database queries, aiming for faster execution and reduced overhead. It has faster boot times for applications. Native support for multithreading and asynchronous processing and reduced memory consumption.

Zero-Downtime Deployment Made Simple - Kamal 2

Kamal is an open-source zero-downtime deployment tool that simplifies server provisioning and running Rails applications on Docker containers. With Kamal, all you need is the IP address of your server or virtual machine (VM), and it handles everything—from installing development tools and dependencies to configuring your environment. It's that straightforward and simple.

Rails 8 now comes preconfigured with Kamal 2 and a highly optimized Dockerfile. This combination can transform a brand-new Linux server or VM into a fully functional application server with a single command: kamal setup. Deployment has never been easier.

Kamal also provides super fast zero-downtime deploys, automated SSL certificates via Let’s Encrypt, and support for multiple applications on a single server without any complicated configuration.

Apache or Nginx not required anymore

You no longer need Apache or Ngnix as a proxy server to work alongside your rails puma server. Introducing Thruster—a modern, lightweight proxy designed to sit in front of your Puma server. Thruster efficiently handles incoming internet traffic while providing features such as: asset caching, compression and etc.

Solid Cable - Redis is no longer required

You can now handle WebSocket functionality with just SQLite, eliminating the need for Redis or even a complex setup with MySQL or PostgreSQL. Solid Cable makes real-time messaging simple and accessible without relying on additional infrastructure.

Solid Cache - Memcache or Redis is no longer required

If you want to fragment cache HTML for your rails application, you can do so with ease without the dependencies required before like memcache or redis service. Add an few lines of config and you can enable caching for your application. Caching no longer uses RAM storage instead it uses the disk which is cheaper.

Solid Queue - Background job frameworks are not needed

Forget about integrating separate background job processing frameworks like Resque, Sidekiq, or Delayed Job. You can simple enable solid queue in few seconds which uses your existing database. Don't need redis or any other dependencies for this purpose if you want to keep things simple.

"Solid Queue can either run as a puma plugin, which is the default on a single-server installation, or by using the new bin/jobs command for starting a dedicated dispatcher."

It is running on Production and is scalable.

"Solid Queue has been meticulously developed within the pressures of a real production environment over the last 18 months, and today it’s running 20 million jobs per day for HEY alone at 37signals."

No Build - Asset Managment Simplified

Propshaft is the new tool that bids good bye to more than a decade old Sprockets. Javascript ecosystem has come a long way. We are at a time when we don't have to put up with the whole npm install and node-modules complexity. Now that all the major browsers support ES6 as default we no longer need to transcompile or other outdated processes.

As the new asset pipeline, Propshaft only does 2 things now: Provide a load path for assets and stamp them with digests to allow for far-future expiry. Sprockets did a million other things that is no longer required if you want to keep things simple.

Generate your own authentication - Sorry, Devise!

Most of the time people worry about using 3rd parties or plugins for authentication. Now, you can have your own authentication generated with a simple command. You have full control and it can be customized however you want.

Just run bin/rails generate authentication and you’ll get basic models for Session and User, together with a PasswordsMailer, SessionsController, and an Authentication concern

Want to know more?

Activerecord Enhancements:

  • — Out-of-the-box support for JSONB queries, making it easier to handle structured data.
  • — Optimized eager loading for associations to reduce query overhead.
  • — Enhanced encryption for sensitive data, ensuring better security.

API improvements:

  • — Improved lightweight API-only mode for faster and more efficient APIs.
  • — Enhanced JSON serialization with optimized serializers for better performance.
  • — Native support for GraphQL, making it easier to build powerful APIs.

Security Enhancements:

  • — Automatic generation of Content Security Policies (CSP) for better protection against XSS attacks.
  • — Strengthened CSRF protection for AJAX requests.
  • — Default configuration for secure headers to improve application security.
  • — Advanced management of encrypted credentials, ensuring sensitive data is secure.

Developer Experience Enhancements:

  • — Improved error pages with actionable insights to debug issues faster.
  • — Enhanced logging with structured logs for better debugging and monitoring.
  • — A more interactive Rails console, improving developer productivity.
  • — Simplified scaffolding with updated default templates to get started quickly.

What are you waiting for? Try Rails 8 Today!

Rails on Rails 8 is packed with performance, security, and developer experience upgrades, making it the best choice for building modern applications. Whether you're starting a new project or considering upgrading your existing apps, Rails 8 is worth the move.

Need help migrating your older apps to latest version of Ruby on Rails? Contact RailsFactory—we’re here to make your transition smooth and efficient. Let’s take your apps to the next level together!

Written by Magesh

Other blogs

You may also like


Your one-stop shop for expert RoR services

join 250+ companies achieving top-notch RoR development without increasing your workforce.