Palladium / LEGACY RAILS MAINTENANCE + UPGRADES
Keep the existing Rails app. Upgrade its foundation
Upgraded an existing application from Ruby 3.1.4 and Rails 6.1.7.6 to Ruby 3.4.4 and Rails 7.2, resolving 27 documented compatibility issues.
THE EXISTING PRODUCT
Upgrading an established Rails application
We updated Palladium's Ruby and Rails stack while addressing compatibility issues in its existing codebase.
Legacy Rails maintenance means working through dependencies and framework changes in the codebase you already have. An incremental upgrade preserves that investment and creates a path forward without rebuilding the application.
THE BUSINESS CHALLENGE
Ruby & Rails upgrade
The application used PostgreSQL, Sidekiq and GraphQL. We upgraded Ruby first, then Rails, to isolate issues.
Older Ruby versions faced Heroku deprecation. Dependencies and legacy code needed changes to work with the upgraded stack.
THE WORK WE DELIVERED
Improve the product. Keep the business moving
- 01
Resolve dependencies and startup failures
We updated dependencies and resolved test, asset compilation and application startup failures.
- 02
Adapt code loading and framework behavior
We addressed Zeitwerk loading and framework compatibility. Read the detailed upgrade log.
VALUE FOR THE BUSINESS
Rails upgrade: the results
The application worked on Ruby 3.4.4 and Rails 7.2 after resolving 27 documented compatibility issues, including dependencies, assets, code loading and framework behavior.
Initial improvements observed during validation: faster Rails server startup, quicker and more accurate console autocompletion, and apparently faster HTTP responses on Heroku. These were qualitative observations; the article reports that production rollout and performance measurements were still pending.
Earlier detection of loading issues: Zeitwerk's stricter conventions helped expose code-loading problems. We adapted the existing structure while preserving job class names to avoid breaking queued jobs.
Contributions beyond the project: the upgrade also led to a dry-auto_inject issue report and a RuboCop pull request.
THE ENGINEERING DETAILS
More about the work
WE TAKE OWNERSHIP OF EXISTING RUBY ON RAILS APPLICATIONS
Need a team to maintain and upgrade your legacy Rails application?
Need someone to take over your Rails app? We maintain, stabilize and improve existing Rails applications, from production issues and upgrades to new features and infrastructure. Keep your product moving without unnecessary rewrites or rebuilding your engineering team.
If your Rails developer left, we can help you understand the inherited codebase and prioritize an old Rails app rescue, maintenance, and upgrades.
Discuss your Rails app Legacy Rails maintenance and modernization →Explore existing Rails app takeover