The end of Ruby 2 (June 2026 Update)
Published on June 25, 2026 by Connor Tumbleson

We have a home for mini blogs! Welcome to the first.

With the release of fastlane 2.235.0 we said goodbye to Ruby 2.7 support, which meant our minimum was now Ruby 3. For a long time fastlane tried to support a far range of old and new Ruby versions, especially since Mac was still shipping Ruby 2.6 included.

However, the maintenance burden and rise of vulnerabilities on our out of date dependencies led us to take a more modern approach of supported Ruby versions. Prior to dropping Ruby 2.6 & 2.7 we had a complex CI system that just found the "right" version of gems to install on that version. So our CI system kind of just installed what it wanted in order to run the test suite - this may have been a gem version outside of the constraints of the project. This meant what we bundled up and shipped was not what we tested. This led to some embarrassing regressions which we have since resolved.

We are far from done dropping old Ruby versions, but hope in time to follow the official Ruby supported versions instead of lagging behind. In the era of supply chain security your build pipeline should be running on modern supported languages. As of this post that is anything Ruby 3.3 or above. Once we get to a modern supported Ruby version we can rely on Dependabot to help us patch vulnerabilities quicker.

We are a few months into launching donations and breaking down a large backlog of work. So thank you very much for those who have donated to the project. fastlane is much larger than a single repository when you consider the ecosystem. So every financial donation helps keep this project alive and moving.

We have:
  • An entire fastlane-community organization full of plugins which we recently visited to update some long-standing issues with xcov & improve the CI/CD system.
  • With Facebook frames disappearing we worked on the frameit repository to have a standard to follow for adding new frames to reduce regressions on naming.
  • We migrated the docs repo to uv (away from pip) making the local experience a single command
  • We fixed our GitHub Action bot(s) so we can automate messaging on PRs and close issues easier.
  • We issued some updates to fastlane-sirp which handles some of our manual iOS authentication that fixed some long standing bugs.
  • We automated our internal docker image which is used for docs & testing with GitHub Actions.
  • We rewrote the internals of the fastlane.tools site, so it can also be automated and deployed purely with GitHub Actions.
  • The fastlane repository in just the last month had 28 PRs merged, 9 opened alongside 27 closed issues with only 3 opened.
  • We completed some long standing transitions from Google and have full control of all domains related to fastlane under Mobile Native Foundation

Our latest release (2.236.1) released on June 10 is at ~450,000 downloads. Until next time!