← All reportsPublic report

fastlane/fastlane

🚀 The easiest way to automate building and releasing your iOS and Android apps

42k stars Ruby View on GitHubprofiled 14d ago
Try GitZoid
25PRs this week
15Contributors
0Deps scanned
0Issues found
01 · Repo overview

How fastlane is put together

fastlane is a Ruby-based CLI automation toolkit for iOS and Android developers, automating tasks like screenshot generation, code signing, and app store releases. The repository is a monorepo of many independently shippable tools (deliver, match, snapshot, screengrab, spaceship, etc.), each in its own top-level directory with lib/ and spec/ subdirectories, all packaged as the single 'fastlane' gem via fastlane.gemspec. A core library (fastlane_core) provides configuration, command execution, and UI primitives; the fastlane/ directory contains the lane runner that executes user Fastfiles, plus a Swift client (fastlane/swift) that communicates with the Ruby process over a socket for Swift-based lane execution. Data flow: user config files (Fastfile, Appfile, Matchfile) are parsed by credentials_manager/fastlane_core, actions invoke external services (App Store Connect via spaceship, Google Play via supply) over HTTPS, and results are reported through the shared UI layer.

Languages

RubySwiftKotlin/Java (Gradle)Groovy (Gradle build scripts)

Frameworks

rspecrubocopdangersinatra (test mock servers)webmockAndroidX Test / Espresso / UIAutomator (screengrab-lib)commander-style CLI (via fastlane_core)

Infrastructure

CircleCI (badge in README)RubyGems distributionHomebrew distributionMaven/Sonatype publishing for screengrab AARCoveralls

Major components

fastlane_core

Shared foundation providing configuration items/files, command execution, environment handling, device management, cert checking, and UI output used by all tools.

fastlane (lane runner)

Parses and executes user Fastfile lanes, dispatches to ~hundreds of built-in actions, manages plugins, and hosts the Swift runner bridge (SocketClient/MainProcess).

spaceship

API client library for Apple's App Store Connect / Developer Portal services used by deliver, pilot, cert, sigh, pem, precheck, produce.

credentials_manager

Loads Appfile configuration (app_identifier, apple_id, team_id per platform/lane) and manages stored account credentials.

deliver

Uploads metadata, screenshots, and app previews to App Store Connect, including validation of screenshot sizes/formats and review submission.

match/cert/sigh/pem

Code signing toolchain: managing certificates, provisioning profiles, and push notification profiles.

snapshot/screengrab/frameit

Automated localized screenshot capture on iOS simulators and Android devices (screengrab is an Android Gradle library published to Maven), plus device-frame compositing.

supply/pilot/precheck/produce/gym/scan

Google Play uploads, TestFlight beta distribution, App Store metadata rule checks, app creation, iOS build, and test running tools respectively.

Over the past few weeks, fastlane's development focused on modernizing the project's infrastructure—moving releases to newer Ruby and dependency versions (including early Ruby 4 support)—while also shipping user-facing improvements across tools like pilot, deliver, gym, and several actions. Bug fixes targeted edge cases such as video parsing, UTF-8 output handling, and device file parsing. A quieter final week closed things out with a single hardening fix to deliver's HTML report generation.

Week by week

2026-08-24A quiet week with one security-style hardening fix to deliver's HTML report generator.latest1 change

Fix

Safer command usage in HTML report generator

The tool that produces App Store submission previews in HTML was made more robust in how it invokes external commands, reducing the risk of errors or unexpected behavior.

2026-08-10A busy week that shipped a new version (2.238.0), modernized release tooling to Ruby 3.4, and fixed several long-standing bugs.6 changes

Feature

Filter commits in changelog generation

The changelog-from-git-commits action now accepts an optional argument to include only matching commits, giving teams more control over their release notes.

Chore

Release pipeline moved to Ruby 3.4

The automated processes that build and publish new fastlane versions were upgraded to run on a newer version of the underlying programming language.

Fix

Pilot matches test groups by name or ID

When distributing test builds, pilot can now correctly find tester groups whether you refer to them by name or by internal ID.

Feature

SDK conditions for team updates

The update_project_team action gained support for SDK conditions when setting signing teams in Xcode projects.

Fix

Unique upload directories on non-Mac systems

Uploads from Linux or Windows machines now use a unique temporary directory, preventing collisions when multiple uploads run at once.

Fix

Fixed crash from odd characters in shell output

Shell commands producing text with unusual byte sequences no longer cause the sh_helper action to crash with encoding errors.

2026-08-03A single targeted fix to how video files are analyzed.1 change

Fix

Correct video resolution detection

App preview video resolution is now parsed correctly even when the file's audio track appears before its video track, fixing failed or wrong measurements.

2026-07-27Seven changes spanning bug fixes, dependency upgrades, and clearer documentation of collected metrics.6 changes

Fix

Mac Catalyst package type detection fixed

Building Mac Catalyst apps no longer picks the wrong package type when the catalyst platform setting isn't explicitly specified.

Docs

Clearer metrics documentation

The readme now explains in detail exactly what usage data fastlane collects, improving transparency.

Chore

Upgraded Sinatra web framework to version 4

An internal web framework dependency was brought up to its current major version as part of ongoing maintenance.

Feature

Skip-update option for Swift Package Manager builds

The spm action can now pass --skip-update so builds use already-resolved dependencies instead of fetching new ones.

Fix

Consistent copyright rule wording in precheck

The App Store metadata checker now uses consistent wording for its copyright rule, avoiding confusing messages.

Docs

Better instructions for running Apple's transport tool

Documentation for deliver and pilot was clarified on how to manually invoke Apple's iTMSTransporter upload tool.

2026-07-20Four improvements including early support for the next major version of Ruby and more forgiving device file handling.4 changes

Chore

Support for Ruby 4

The codebase was updated and tested against Ruby 4, preparing fastlane for future language versions.

Feature

Crashlytics uploads can fail the build

The symbol-upload step for Crashlytics gained an option to make your overall build fail if the upload itself fails, catching problems earlier.

Feature

Social media rating keys in deliver

App Store metadata can now include social media profile links via new rating keys supported by deliver.

Fix

Blank and comment lines tolerated in device lists

Registering test devices from a file no longer breaks when the file contains empty lines or comments.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required