What's New in Ruby on Rails 8.0: Key Features and Benefits

What's New in Ruby on Rails 8.0: Key Features and Benefits, updated 11/14/24, 8:03 AM

visibility1

Discover Ruby on Rails 8.0's top features, from Kamal 2 deployment to Propshaft asset management. Learn why upgrading can streamline your app's performance and security.

About bluebashco

Bluebash was established in 2018 as a custom software development company specializing in Web Development, Artificial Intelligence (AI), Cloud Infrastructure solutions. We have expertise in healthcare, e-commerce, and ed-tech industries, and our solutions are customized to meet each business's specific needs.

 

Our primary goal is to help startups and established businesses expand their horizons through innovative technology solutions. We believe in transparency and efficient processes, ensuring that our services are available 24/7, deliveries are always on time, and we maintain quality through time tracking and quality assurance. As a leading software development company, our expertise extends to technologies such as Ruby on Rails, React, UI/UX designs, Langchain, and more. We are ISO Certified and specialize in HL7, FHIR, and HIPAA-compliant solutions, guaranteeing security and regulatory adherence while providing exceptional technology services.

 

Tag Cloud


https://www.bluebash.co/blog/rails-8-update-release-whats-new-and-why-upgrade/

 
Rails 8 Update: What’s 
Changed and How It Improves 
Development
 
Rails 8 is here, and it's packed with tools and improvements designed 
to make development faster, simpler, and more powerful. Let’s dive 
into the technical details of some standout features in Rails 8, 
exploring how you can start using them in your projects! 
 
Key Technical Highlights in Rails 8  
1. Kamal/Thruster Deployment Tool 
 

https://www.bluebash.co/services/ruby-on-rails-development-company


https://rubyonrails.org/2024/11/7/rails-8-no-paas-required

 
What’s New□ Kamal/Thruster introduces a streamlined deployment 
solution built specifically for Rails applications, aiming to reduce the 
complexities of cloud deployments. 
Technical Tips: 
● Configuration□ Kamal requires minimal configuration. You can 
initialize it with kamal init, which will generate a default config file 
suited to your environment. 
● Cloud Provider Support□ Kamal integrates easily with cloud 
providers like AWS, GCP, and DigitalOcean. Just specify your 
provider in the config file, add credentials, and you’re good to go. 
● Rollback Feature□ Kamal includes a rollback mechanism, allowing 
you to revert to a previous version in case of deployment issues, 
a valuable feature for continuous deployment setups. 
Getting Started: 
kamal init   # Initialize Kamal in your Rails app
kamal deploy # Deploy your app 
2. Enhanced Support for Progressive Web Apps (PWA)   
What’s New: Rails 8 offers extended support for PWAs, making it 
simpler to add offline functionality and push notifications for a more 
app-like experience. 
 
 
Technical Tips: 
● Manifest and Service Workers□ Use the built-in Rails helpers to 
set up a manifest and a service worker, enabling offline 
capabilities and add-to-home-screen functionality. 
● Asset Caching□ Propshaft now integrates seamlessly with 
service workers to cache assets locally, enhancing offline 
usability. 
3. Solid Adapters for Enhanced Compatibility   
What’s New□ Solid Adapters in Rails 8 reduce dependencies by 
eliminating the need for external services like Redis or Memcached, 
making deployment easier and more cost-effective. Rails 8 introduces 
Solid Cable, Solid Cache, and Solid Queue to handle pubsub, 
caching, and background job processing directly within SQLite, which 
takes advantage of modern disk speeds and reduces memory reliance. 
A Solid Reduction of Dependencies  
Traditionally, Rails relied on external services like Redis (for jobs, 
caching, and WebSockets) and PostgreSQL/MySQL for full feature 
access. Now, the new Solid Adapters offer SQLite-based alternatives 
that tap into the high-speed benefits of SSDs and NVMe drives. This 
approach eliminates several dependency requirements and simplifies 
infrastructure. 
Solid Cable   
 
 
Purpose□ Replaces Redis for WebSocket pubsub, allowing SQLite to 
manage WebSocket message relaying. 
Technical Tips: 
● Disk-Based Pubsub□ Solid Cable uses fast polling and stores 
messages in the SQLite database, providing adequate 
performance for most use cases. Messages remain in the 
database for a day by default, making it easier to troubleshoot 
live updates. 
● Installation□ Integrate Solid Cable by adding it to your 
WebSocket configuration and avoiding Redis setup. 
Solid Cache   
Purpose□ Replaces Redis or Memcached for HTML fragment caching, 
storing cached data on disk instead of RAM. 
Technical Tips: 
● Scalability□ Solid Cache allows a much larger and cost-effective 
cache by leveraging disk storage, ideal for longer cache 
retention (up to 60 days). 
● Encryption and Retention Policies□ Solid Cache allows you to 
define cache retention limits and encrypt data to meet privacy 
requirements, providing a more secure solution for storing 
sensitive content. 
 
 
Production Insight□ Basecamp has successfully run Solid Cache in 
production for over a year, caching 10 TB of data with 60-day 
retention, significantly improving response times. 
Solid Queue   
Purpose□ Eliminates the need for Redis and job-processing 
frameworks like Sidekiq by enabling SQLite-based background job 
processing. 
Technical Tips: 
● Concurrent Job Processing□ Solid Queue includes advanced 
concurrency management, retries, scheduling, and alerting, 
making it a feature-rich solution for background processing. 
● Flexibility□ Solid Queue works as a Puma plugin for single-server 
setups or via bin/jobs for running dedicated dispatchers, offering 
configuration for scaling and performance tuning. 
● High-Performance Setup□ For installations requiring high 
concurrency, Solid Queue utilizes PostgreSQL or MySQL with 
FOR UPDATE SKIP LOCKED for efficient job handling. 
Production Insight□ HEY has adopted Solid Queue, running over 20 
million jobs daily while replacing six different Resque gems with this 
unified solution. 
 
 
4. Propshaft: A New Asset Pipeline 
What’s New□ Propshaft replaces Sprockets as Rails’ default asset 
pipeline, offering a simpler and more efficient way to manage assets. 
Technical Tips: 
● Migrating from Sprockets□ Propshaft is easier to configure and 
faster in production environments. If you’re upgrading from 
Sprockets, move your assets into the new app/assets structure 
used by Propshaft. 
● Asset Compilation□ Unlike Sprockets, Propshaft uses 
fingerprinted URLs out of the box, simplifying asset caching. 
5. Built-in Authentication    
What’s New□ Rails 8 now includes built-in authentication tools, 
removing the need for third-party gems like Devise for basic 
authentication needs. 
Technical Tips: 
● Configuration□ Use Rails’ built-in authentication generator to 
scaffold user accounts, sessions, and permissions. 
● Customizable□ While the built-in tools provide default 
functionality, you can extend them by adding custom controllers 
or modifying existing views to suit specific application 
 
 
requirements. 
Getting Started: 
rails generate authentication User   # Generates 
authentication for a User model 
6. New Script Folder and Generator    
What’s New□ The new scripts folder in Rails 8 organizes your custom 
scripts and introduces a script generator, simplifying the management 
of utility scripts. 
Technical Tips: 
● Script Organization□ Place maintenance scripts, startup scripts, 
and other custom scripts within scripts, giving them better 
visibility and structure. 
● Generating Scripts□ Use the new Rails script generator to create 
templates for custom scripts, providing consistency and avoiding 
boilerplate. 
Getting Started: 
rails generate script sample_script  # Generates a new 
script template 
 
 
7. Active Record Improvements for Precision Data Types   
What’s New□ Rails 8’s Active Record now supports float4 and float8 
data types, improving precision for numeric data. 
Technical Tips: 
● Database Compatibility□ Ensure your database supports the new 
precision data types (e.g., PostgreSQL□. This feature is especially 
valuable in applications that require highly accurate financial or 
scientific data. 
● Migration Example□ To leverage float4 and float8, create 
migrations that explicitly set these data types. 
Getting Started: 
Migration to use float4 or float8 in PostgreSQL
def change
  add_column :products, :price, :float, precision: 8  # 
Precision here is illustrative
end 
Each of these new features in Rails 8 offers valuable technical 
enhancements, simplifying development and providing out-of-the-box 
solutions for common application needs. Whether you’re handling 
deployments, improving application speed, or strengthening 
 

https://www.bluebash.co/services/web-development

 
authentication, Rails 8’s tools are ready to support your project’s 
growth. 
Take advantage of these new tools to streamline your workflow and 
make your Rails applications more powerful than ever. Ready to get 
started with Rails 8? Dive in, experiment with these features, and let’s 
take web development to the next level! 
 Conclusion 
Rails 8.0 equips developers with an efficient, secure, and scalable 
framework. Whether you’re aiming for zero-downtime deployments, 
simplified caching, or seamless authentication, Rails 8.0 empowers 
you to create high-performing applications with minimal dependency.