Changelog

What shipped,
with dates.

Every release since June, newest first. Sample entries: replace them with your own.

v3.8

New

Firstpass now checks out, builds and tests Kotlin and Swift projects the same way it does the other eight languages. Android builds run through Gradle, iOS builds through xcodebuild on macOS runners, and a comment only appears when a build or a test backs it up.

  • REVIEW Null-safety and force-unwrap problems are reported with the crashing test attached.

  • TESTS JUnit 5, Kotest and XCTest results are read per test, so a comment names the one that failed.

  • TESTS Gradle and Swift Package Manager caches are reused between reviews of the same repository.

  • HOSTS macOS runners are available on Team and Enterprise at no extra cost during the beta.

review · mobile-app #318

$ ./gradlew :app:testDebugUnitTest

CartViewModelTest > totals update after remove (41 ms)

CheckoutTest > empty cart cannot check out (NullPointerException)

$ xcodebuild test -scheme App -destination ‘platform=iOS Simulator’

CartTests.testTotalsUpdateAfterRemove (0.038 s)

212 passed · 1 failed · 48.2 s

v3.7

New

Write the rules your team already follows in plain sentences and commit them as firstpass.yml. Firstpass applies them to every pull request and names the rule in the comment, so nobody has to guess where a remark came from.

  • RULES Up to 40 rules per repository, each one a single sentence.

  • RULES A rule can be limited to a folder with paths, and switched off for generated files with ignore.

  • REVIEW Comments that come from a rule carry its number and a link to the line in the rules file.

  • REVIEW severity decides whether a broken rule blocks the merge or is only reported.

firstpass.yml

1

 

rules:

2

 

  - “Money is stored as integer cents, never floats”

3

 

  - “Every new endpoint needs an auth test”

4

 

severity: block_on_bug

firstpass

Rule 1

​amount is parsed with parseFloat

billing/invoice.ts · line 88

v3.6

Improved

Most of a review used to be spent waiting for a clean build. Containers now start from a snapshot of the last successful build of the base branch, and the tests that cover the changed lines run before the rest of the suite.

  • TESTS Affected tests run first; the full suite follows and can add comments later.

  • REVIEW The summary is posted as soon as the first results are in and is edited as more arrive.

  • HOSTS Build snapshots are stored in the same region as the runner and deleted after 7 days.

Median time to first review, all teams

v3.5

141 s

v3.6

94 s

v3.5

Fixed

Rebasing or force pushing a branch used to produce a second set of the same comments. Firstpass now matches comments to the code they describe, not to the commit, and updates the existing ones.

  • REVIEW A comment that no longer applies is resolved with a note naming the commit that fixed it.

  • REVIEW Dismissed comments stay dismissed after a rebase.

  • HOSTS Fixed a case on GitLab where a squash on merge reopened resolved threads.

v3.4

New

Teams on Azure DevOps can install Firstpass from the Marketplace and get reviews on pull requests in Azure Repos. Reviews appear as threads on the changed lines, and suggestions can be applied from the pull request page.

  • HOSTS Works with Azure DevOps Services. Azure DevOps Server 2022 is supported with self-hosted runners.

  • REVIEW A blocking comment can be set as a required check in branch policies.

  • TESTS Existing Azure Pipelines are left alone; Firstpass builds in its own container.

v3.3

Improved

In a large monorepo, building everything for a two-line change wastes most of the review. Firstpass now reads the workspace graph and builds the changed packages and the ones that depend on them, nothing else.

  • TESTS Reads pnpm, Yarn, Nx, Turborepo, Bazel and Gradle workspace definitions.

  • TESTS Median review on a 2,300-package repository went from 11.6 to 4.1 minutes.

  • RULES Rules can be scoped to one package with paths.

v3.2

Fixed

A blocking comment has to be true every time. When a test fails, Firstpass now runs it twice more on the same commit. If it passes both times the failure is listed in the summary as flaky and no comment is posted.

  • TESTS Flaky tests are listed with their failure rate over the last 30 days.

  • REVIEW Blocking comments now state how many runs out of three failed.

  • TESTS Fixed timeouts being counted as failures when the runner itself was slow to start.

v3.1

New

When the fix is small and the tests pass with it, the comment includes the change itself. Apply it from the pull request and Firstpass commits it to your branch under your name, then reviews the result.

  • REVIEW A suggestion is offered only after the affected tests pass with it applied.

  • REVIEW Several suggestions can be applied together as one commit.

  • HOSTS Available on GitHub and GitLab. Bitbucket follows in v3.2.

Open a pull request.

Get your

first pass.

Free for public repositories · 14-day trial for private ones · no card

Open a pull request.

Get your

first pass.

Free for public repositories · 14-day trial for private ones · no card

Open a pull request.

Get your

first pass.

Free for public repositories · 14-day trial for private ones · no card

Create a free website with Framer, the website builder loved by startups, designers and agencies.