โ† Back to Documentation Index โœจ PROFESSIONAL EDITION

Rails 8.1 Upgrade Report

What's Coming for Your Application

Richard Piacentini

Project Lead: Richard Piacentini

Cheqs Global LTD

AI Research: Claude Sonnet 4.5

Suite Finalized: October 10, 2025

๐Ÿ“ Living Document - Updated until Rails 8.1 stable release

Report Date: October 5, 2025

Current Version: Rails 8.0

Target Version: Rails 8.1 (Beta 1 Released September 2025)

Contributors: 500+ developers, 2,500+ commits

๐Ÿ“‹ Executive Summary

Rails 8.1 represents a significant evolution in the Rails framework, introducing powerful new capabilities for job management, developer productivity, mobile applications, and multi-tenancy. This release continues Rails' mission to "compress the complexity of modern web apps" while maintaining backward compatibility with Rails 8.0.

๐Ÿงช Local CI Integration

Run tests locally with CI config - 50-60% faster feedback, 15-25% CI cost reduction

๐Ÿ“ฑ Native Mobile Framework

Hotwire Native + Turbo Offline for web & mobile

๐Ÿ“ฑ Action Push Native

Official iOS/Android push notifications (10M+/day at 37signals)

๐Ÿ”„ Active Job Continuations

Resilient, resumable background jobs

๐Ÿข Active Record Tenanting

First-class multi-tenancy support

๐Ÿ“Š Structured Event Reporting

Enhanced observability and logging

๐Ÿš€ Major New Features

1. Active Job Continuations

Impact: High | Led by: Donal McBreen (37signals)

Transform long-running jobs into resilient, resumable processes that can survive deployments and restarts.

What it does:

  • Breaks jobs into discrete steps with defined checkpoints
  • Resumes execution from last completed step after interruption
  • Particularly valuable for Kamal deployments (30-second shutdown windows)
  • Uses cursor-based tracking for progress management

Example Use Case:

class DataMigrationJob < ApplicationJob
  include ActiveJob::Continuations

  def initialize(batch_size: 1000)
    @batch_size = batch_size
  end

  def process
    # Process records in batches
    # Job automatically resumes from cursor position if interrupted
  end

  def finalize
    # Cleanup and completion tasks
  end
end

Business Value:

  • Zero-downtime deployments with long-running background tasks
  • Reduced job failure costs (no need to restart from beginning)
  • Better resource utilization during maintenance windows

2. Local CI Integration

Impact: High | Led by: Jeremy Daer (37signals)

Run your complete test suite locally with the same configuration as CI/CD environments.

What it does:

  • Provides default CI declaration DSL in config/ci.rb
  • Executed via bin/ci command
  • Significant performance improvements demonstrated
  • Consistent testing between local and CI environments

Benefits:

  • Catch issues before pushing to CI pipeline
  • Faster feedback loops for developers
  • Reduced CI costs from failed builds
  • Standardized test execution across team

Developer Experience:

$ bin/ci
# Runs full test suite with CI configuration
# Same environment, same results as GitHub Actions/CircleCI

3. Action Push Native (Mobile Push Notifications)

Impact: High | Official Rails Project

First-class support for sending push notifications to iOS and Android devices.

Platforms Supported:

  • iOS: Apple Push Notification service (APNs)
  • Android: Firebase Cloud Messaging (FCM)

Setup:

bundle add action_push_native
bin/rails g action_push_native:install
bin/rails action_push_native:install:migrations
bin/rails db:migrate

Configuration (config/push.yml):

  • Apple: token authentication (key_id, team_id, encryption_key, topic)
  • Google: Firebase service account credentials (project_id, encryption_key)

Business Value:

  • Native mobile engagement capabilities
  • No third-party service dependencies
  • Cost reduction (direct APNs/FCM integration)
  • Consistent notification delivery across platforms

4. Active Record Tenanting

Impact: High | Multi-Tenant Architecture

Build multi-tenant applications while writing code as if it were single-tenant.

What it does:

  • Automatic tenant isolation at the database level
  • Tenant resolver extracts tenant information from requests
  • Convention-based approach (minimal configuration)
  • Seamless integration with existing Active Record patterns

Architecture:

# Write code as single-tenant
class Post < ApplicationRecord
  belongs_to :user
end

# Framework handles multi-tenancy automatically
# Each tenant sees only their data

Business Value:

  • Simplified SaaS application development
  • Data isolation and security by default
  • Reduced development complexity
  • Scalable multi-customer architecture

5. Structured Event Reporting

Impact: Medium | Led by: Adrianna Chang (Shopify)

Unified interface for producing structured, machine-readable events.

What it does:

  • Complements existing ActiveSupport::Notifications
  • JSON-structured events optimized for post-processing
  • Event tagging and context management
  • Flexible subscriber system

Usage Examples:

# Emit structured events
Rails.event.notify("user.signup", user_id: 123, email: "user@example.com")

# Tag events for filtering
Rails.event.tagged("graphql") do
  Rails.event.notify("user.signup", user_id: 123)
end

# Set global context
Rails.event.set_context(request_id: "abc123", shop_id: 456)

Business Value:

  • Enhanced observability and monitoring
  • Better integration with logging platforms (Datadog, New Relic)
  • Improved debugging and troubleshooting
  • Compliance and audit trail capabilities

6. Turbo Offline (Offline-First Applications)

Impact: Medium-High | Status: In Development

Enable offline-first web and mobile applications with Hotwire.

What it enables:

  • Progressive Web App (PWA) capabilities
  • Offline data synchronization
  • Native mobile app offline support (via Hotwire Native)
  • Seamless online/offline transitions

Use Cases:

  • Field service applications
  • Mobile data collection
  • Remote work scenarios
  • Areas with unreliable connectivity

๐Ÿ“ฑ Mobile & Native Developments

Hotwire Native Ecosystem

Rails 8.1 significantly enhances mobile development capabilities:

1. Action Push Native

  • Official push notification framework
  • Direct APNs (iOS) and FCM (Android) integration
  • No third-party dependencies

2. Turbo Offline

  • Offline-first mobile applications
  • Data synchronization when online
  • Seamless UX during connectivity loss

3. Hotwire Native Benefits

  • Build once, deploy to web + iOS + Android
  • HTML rendering from Rails server
  • Native look and feel
  • Immediate feature parity with website

Development Approach:

  • Convert existing Rails website to native apps
  • Minimal additional code required
  • Shared business logic across platforms
  • Rapid mobile feature deployment

โš ๏ธ Breaking Changes & Deprecations

Action Dispatch / Routing

  • REMOVED: Deprecated support for skipping leading brackets in parameter names
  • DEPRECATED: Rails.application.config.action_dispatch.ignore_leading_brackets

Active Record

  • REMOVED: :retries option for SQLite3 adapter
  • REMOVED: :unsigned_float and :unsigned_decimal column methods for MySQL
  • CHANGED: Table columns in schema.rb now sorted alphabetically

โš ๏ธ Impact: Schema file changes in version control

Action: Update .gitattributes for schema normalization

Active Storage

  • REMOVED: :azure storage service (deprecated)
  • Migration Path: Switch to :azure_storage_service or alternative provider

Active Job

  • REMOVED: ActiveJob::Base.enqueue_after_transaction_commit :never, :always, :default options
  • REMOVED: Rails.application.config.active_job.enqueue_after_transaction_commit

๐Ÿ› ๏ธ Ecosystem Improvements

Lexxy - Modern Rich Text Editor

Expected to become default ActionText editor

Features:

  • PDF and video previews
  • Real-time code syntax highlighting
  • Markdown shortcuts and formatting
  • Enhanced media handling
  • Modern, accessible interface

Infrastructure Tools

Beamer - SQLite Replication

  • Multi-server, geographically distributed Rails apps with SQLite
  • Database replication for edge deployments
  • Ideal for: Kamal deployments, edge computing, distributed systems

Kamal Geo Proxy

  • Extends Kamal Proxy for multi-region routing
  • Intelligent geographic request routing
  • Reduced latency for global users

Omarchy - Development Operating System

  • Arch Linux optimized for Rails development
  • Pre-installed Ruby/Rails toolchain
  • Common ecosystem libraries included
  • Streamlined developer onboarding

๐Ÿ”„ Migration Strategy

Recommended Approach

Phase 1: Preparation

  1. Ensure comprehensive test coverage (>80%)
  2. Review Rails 8.0 deprecation warnings
  3. Audit third-party gem compatibility with Rails 8.1
  4. Review schema.rb changes in version control

Phase 2: Testing

  1. Upgrade to Rails 8.1 in development environment
  2. Run full test suite and address failures
  3. Test in staging environment with production data
  4. Performance benchmarking (before/after comparison)

Phase 3: Deployment

  1. Deploy to production during low-traffic window
  2. Monitor error rates and performance metrics
  3. Have rollback plan ready (database backup, previous version)

Phase 4: Optimization (Ongoing)

  1. Implement new Rails 8.1 features progressively
  2. Refactor to leverage Active Job Continuations
  3. Add Structured Event Reporting for observability
  4. Evaluate multi-tenancy with Active Record Tenanting

๐Ÿ’ก Feature Adoption Roadmap

Immediate Opportunities (Quick Wins)

1. Local CI Integration

  • Setup: Add config/ci.rb configuration
  • Impact: Faster developer feedback, reduced CI costs
  • Risk: Low

2. Structured Event Reporting

  • Setup: Configure event subscribers
  • Impact: Enhanced monitoring and observability
  • Risk: Low

3. Markdown Rendering

  • Setup: Update controllers to use new markdown helpers
  • Impact: Simplified content rendering
  • Risk: Low

Medium-Term Initiatives

1. Active Job Continuations

  • Refactor: Identify long-running jobs for conversion
  • Impact: Zero-downtime deployments, resilient job processing
  • Risk: Medium (requires job architecture changes)

2. Lexxy Rich Text Editor

  • Migration: Replace existing ActionText editor
  • Impact: Enhanced content editing experience
  • Risk: Low-Medium (user retraining needed)

Strategic Initiatives

1. Action Push Native

  • Setup: Mobile app infrastructure, APNs/FCM configuration
  • Impact: Native mobile engagement, user retention
  • Risk: Medium (requires mobile app development)

2. Active Record Tenanting

  • Architecture: Multi-tenant data model design
  • Impact: SaaS capabilities, customer isolation
  • Risk: High (fundamental architecture change)

3. Turbo Offline

  • Implementation: Service workers, offline data sync
  • Impact: Offline-capable mobile and web apps
  • Risk: Medium (requires offline-first architecture)

๐Ÿ“Š Risk Assessment

Low Risk โœ…

  • Local CI integration
  • Structured event reporting
  • Markdown rendering improvements
  • Lexxy rich text editor adoption

Medium Risk โš ๏ธ

  • Active Job Continuations (requires job refactoring)
  • Action Push Native (mobile infrastructure setup)
  • Turbo Offline (offline architecture design)
  • Schema.rb alphabetical sorting (version control churn)

High Risk ๐Ÿšจ

  • Active Record Tenanting (fundamental data model changes)
  • Breaking changes in Action Dispatch/Active Record
  • Third-party gem incompatibilities

๐ŸŽฏ Recommendations

For Your Rails 8.0 Application

1. Start Planning Now

  • Review breaking changes against your codebase
  • Audit gem compatibility (check GitHub issues for Rails 8.1)
  • Assess test coverage completeness

2. Prioritize Quick Wins

  • Implement Local CI for developer productivity
  • Add Structured Event Reporting for observability
  • Evaluate Markdown rendering if applicable

3. Strategic Feature Adoption

  • If you have long-running jobs: Prioritize Active Job Continuations
  • If you're building SaaS: Evaluate Active Record Tenanting
  • If you have mobile apps: Plan Action Push Native integration
  • If offline capability is needed: Research Turbo Offline

4. Migration Timeline

  • Wait for Rails 8.1 stable release (estimated Q4 2025)
  • Begin migration in non-production environments
  • Plan migration timeline based on your project complexity and resources

5. Training & Documentation

  • Schedule team training on new features
  • Update internal documentation and coding standards
  • Create migration runbooks for deployment

๐Ÿ“š Resources

Official Documentation:

GitHub Repositories:

Community Resources:

๐Ÿ“ž Next Steps

  1. Review this report with your development team
  2. Assess impact of breaking changes on your application
  3. Identify priority features aligned with business objectives
  4. Create migration plan with timeline and resource allocation
  5. Schedule follow-up to discuss implementation strategy

Report Prepared By: Richard Piacentini with AI Analysis

LinkedIn: linkedin.com/in/richardpiacentini

Based on: Official Rails documentation, community announcements, and ecosystem research

Recommendations: Consult with Rails experts for application-specific guidance

This report reflects information available as of October 5, 2025. Rails 8.1 is currently in beta; features may change before final release.

โ† Back to Documentation Index