---
title: "Upgrading Kickstarter to Rails 5"
description: "Kickstarter upgraded its main Rails application to Rails 5, alongside payments app Rosie, to support site security and performance while moving a nine-year-old legacy codebase forward. The team planned a three-month project, upgraded Ruby 2.2.5 to 2.4.x, classified release-note changes, resolved dependency conflicts, used Rails’ upgrade script, and moved through twelve documented steps. Work included merging Rails 4.2-compatible fixes, repairing nearly 4,000 CI test failures from a roughly 70 percent coverage baseline, removing deprecations, smoke-testing major flows, backporting more than thirty pull requests, and preparing reviewers and deployment contingencies. The upgrade met its timeline without rollbacks or major downtime, although untested bugs increased Zendesk tickets and exposed issues involving ActionController::Parameters, tracking events, and mobile applications. A retrospective emphasized planning, documentation, cross-team communication, and broader native-team participation for future upgrades."
---

# Upgrading Kickstarter to Rails 5

[Kickstarter](https://yomu.fyi/company/kickstarter) · Logan McDonald · Nov 6, 2017

**Type:** Problem & solution

## Summary

Kickstarter upgraded its main Rails application to Rails 5, alongside payments app Rosie, to support site security and performance while moving a nine-year-old legacy codebase forward. The team planned a three-month project, upgraded Ruby 2.2.5 to 2.4.x, classified release-note changes, resolved dependency conflicts, used Rails’ upgrade script, and moved through twelve documented steps. Work included merging Rails 4.2-compatible fixes, repairing nearly 4,000 CI test failures from a roughly 70 percent coverage baseline, removing deprecations, smoke-testing major flows, backporting more than thirty pull requests, and preparing reviewers and deployment contingencies. The upgrade met its timeline without rollbacks or major downtime, although untested bugs increased Zendesk tickets and exposed issues involving ActionController::Parameters, tracking events, and mobile applications. A retrospective emphasized planning, documentation, cross-team communication, and broader native-team participation for future upgrades.

## Context

Kickstarter needed to move a nine-year-old legacy application to Rails 5 while maintaining site security and performance. The project also included upgrading the Ruby version of the Kickstarter app, limiting downtime during compatible upgrades and the upgrade itself, and providing cross-training and education.

## Approach / What changed

The team planned a three-month, twelve-step upgrade led by one engineer with support from Ops, Platform, and other engineering teams. They made incremental version upgrades, scoped work from Rails release notes, resolved gem dependencies, fixed CI failures and deprecations, smoke-tested major flows, backported changes, recruited reviewers, and used documented deployment and contingency plans.

## Takeaways

- The upgrade began with Rails 4.1.x to 4.2.x and then 4.2.8 to 4.2.9; Ruby 2.2.5 was upgraded to 2.4.x before Rails 5 work, and the team learned to use the latest minor patch rather than Ruby 2.4.0.
- CI initially showed nearly 4,000 unit and integration test failures, with code coverage around 70 percent; the team grouped failures, tracked them in spreadsheets and pull requests, and used the suite to find deprecations.
- ActionController::Parameters no longer inheriting from HashWithIndifferentAccess caused widespread compatibility issues, including production-specific tracking problems; mobile bugs also showed the need for native-team participation.

**Tags:** [Deployment](https://yomu.fyi/topic/deployment), [Migrations](https://yomu.fyi/topic/migration), [Performance](https://yomu.fyi/topic/performance), [Reliability](https://yomu.fyi/topic/reliability), [Testing](https://yomu.fyi/topic/testing)

- Source: [Kickstarter](https://medium.com/kickstarter-engineering/upgrading-kickstarter-to-rails-5-e8203f93df55)
- Source URL: https://medium.com/kickstarter-engineering/upgrading-kickstarter-to-rails-5-e8203f93df55
- Ingested by Yomu: 2026-08-30T12:07:30.249Z

[Read original post](https://medium.com/kickstarter-engineering/upgrading-kickstarter-to-rails-5-e8203f93df55)
