Skip to content

Changelog

New features, fixes, and supported Flutter versions in Shorebird. Expand an entry for the full detail, the command, and the doc it belongs to. Subscribe with the RSS feed.

October 2026

CLI 1.6.132

New releases are signed by default

New releases are now signed by default with a key Shorebird manages for your organization, so someone tampering with your users' network can't push code to your app. Update the CLI and make a new release to turn it on.

CLI 1.6.131

Download Flutter and engine tools from an internal mirror

Three new environment variables point the CLI at an internal mirror, such as Artifactory, for Flutter, its engine artifacts and bundletool.

Trust rules refuse pull_request_target runs

GitHub Actions jobs started by pull_request_target can no longer sign in with a trust rule, because anyone who opens a pull request can start one, and it runs with the ref of the repository's default branch, such as refs/heads/main.

Name an organization when you create it

Creating an organization now asks for its name. New organizations are no longer called "My Organization".

Patch checks keep up with new patches and app transfers

A patch check that ran while a patch was being published could leave "no patch" cached until the next change. The next check now sees the new patch.

Personal API keys expire within a year

A new personal API key now expires within a year. The Console no longer offers Never as an expiration when you create or regenerate one.

Console fixes for yearly plans, account deletion, and app transfers

The Console fixes three issues.

Delete a track, and hide rolled-back patches

The Tracks page can delete tracks you added, and a release's patch list hides rolled-back and deactivated patches unless you ask to see them.

Signing out a session takes effect right away

An access token now stops working as soon as its session is revoked.

CLI 1.6.130

See which credential the CLI is using

shorebird auth status shows which credential the CLI signed in with and who it acts as, and shorebird auth token prints the access token it sends.

CLI 1.6.130

Apps are listed with apps list, not account apps

shorebird account apps no longer lists apps. It prints shorebird apps list, which shows the same list, and exits with a usage error.

CLI 1.6.130

Change your display name and email settings from the CLI

shorebird account update --name changes your display name, and shorebird account notifications shows or changes whether Shorebird emails you.

CLI 1.6.130

The api command takes the method first and reads every page

shorebird api accepts the HTTP method before the endpoint, and --paginate reads a whole paged list in one call. --jq also takes slices, and the command now handles a repeated /api/v1 and explains a 405 after fields made a POST.

New per-app collaborators can no longer be added

To give someone access to an app, invite them to the organization that owns it. The app's "Collaborators" tab no longer has an invite button, and the API's endpoints for adding a collaborator or sending an app invitation now return 410 Gone.

CLI 1.6.130

Use --channel wherever --track works

--channel is now another name for --track.

CLI 1.6.130

More CLI fixes in 1.6.130

CLI 1.6.130 also fixes these issues.

CLI 1.6.130

See and answer invitations from the CLI

shorebird invitations list shows the organization and app invitations sent to you, and shorebird invitations accept and decline answer one by its id.

CLI 1.6.130

Android patch warnings show what changed code references

When Java or Kotlin changes trigger the native changes warning on an Android patch, the output names the classes, methods, and fields that each changed method's differing instructions reference, so you can tell which dependency changed.

CLI 1.6.130

The patches promote command is back as a set-track shortcut

shorebird patches promote appears in help again and now runs shorebird patches set-track with the track defaulting to stable.

CLI 1.6.130

The release and patch commands no longer take --confirm

The hidden --confirm flag is gone from shorebird release and shorebird patch. It made each command ask Would you like to continue? before publishing, and that prompt is gone.

Roles your plan no longer offers are marked

A member keeps a role that the organization's current plan no longer offers. The role picker now warns that changing it can't be undone without upgrading.

First SSO sign-in keeps your existing account

Signing in with SAML SSO for the first time with an email at the connection's domain moves your existing account onto SSO instead of refusing it. Your organizations, app access, and billing carry over.

CLI 1.6.129

Call the Shorebird API from the CLI

shorebird api sends an authenticated request to the Shorebird API and prints the response. --jq filters a successful response before it's printed.

CLI 1.6.129

Apple builds keep your .dart_tool caches

iOS, iOS framework, and macOS builds no longer delete the project's whole .dart_tool directory, so build_runner caches and native asset outputs survive a Shorebird build.

Audit log entries say which key or session acted

Audit log entries now name the API key or sign-in session behind each action, and say whether the sign-in used multi-factor authentication when the sign-in provider reports it.

CLI 1.6.129

More CLI fixes in 1.6.129

CLI 1.6.129 also fixes these issues.

CLI 1.6.129

Confirm deletes with --yes

shorebird channels delete and shorebird releases delete ask you to confirm in a terminal, and --yes skips the question. Without a terminal, in CI, or with --json, --yes is required.

CLI 1.6.129

Sign in from GitHub Actions without a stored key

On GitHub Actions, the CLI can now sign in as a service account with the OIDC token GitHub issues to each job, so there's no SHOREBIRD_TOKEN secret to leak or rotate.

CLI 1.6.129

Every --json command prints one JSON object

With --json, every command writes exactly one JSON object to stdout, including --help and commands that have no data to return.

CLI 1.6.129

See app metrics from the CLI

shorebird metrics shows the metrics the Console shows under Insights, such as patch installs, downloads, adoption, and active devices.

CLI 1.6.129

Delete a release from the CLI

shorebird releases delete deletes a release, or one platform of it with --platform.

CLI 1.6.129

The whoami command no longer prints a subscription line

shorebird account whoami no longer prints a Subscription: line. Plan: shows your plan level.

API errors link to the docs, and lists can be paged

Every JSON error from the API now carries a documentation_url, and the lists of apps, releases, and patches can be read a page at a time.

Release and patch only API keys on every plan

API keys limited to releases and patches are now available on every plan, including Free. They used to need a paid plan.

The API refuses what the Console refuses

Some requests the Console refuses are now refused by the API too, so scripts and the CLI meet the same rules.

Only Owners, Admins, and Auditors can read the audit log

Viewers, Developers, and App Managers can no longer read an Enterprise organization's audit log, in the Console or through the API. Before, every member could.

Export the audit log to a SIEM

Enterprise organizations can read the audit log through the API oldest first and forward each event to a SIEM, using a service account with the Auditor role.

Patch checks catch up with deletes and rollbacks

Deleting a track now takes effect on the next patch check, and deleting a release can no longer leave its patches cached. Running a rollback or roll forward again now clears the cache if the first run couldn't.

Service accounts for CI and integrations

Organizations can now create service accounts: accounts that belong to the organization instead of a person, with keys that keep working when the person who set them up leaves or changes roles. They're available on every plan.

Viewer role on the Pro plan

Organizations on the Pro plan can now give members the Viewer role. It used to need the Business plan or higher.

Sign-in names the method your account uses

Signing in with a different method than your account uses now names the one to use.

Canceled plans void their open invoices

When a plan is canceled because a payment failed, its open invoices are now voided.

Switch organizations from the sidebar

The top of the Console's sidebar names the organization you're in and opens a switcher with its plan, your role, its install usage, and your other organizations.

SAML sign-in refuses SHA-1

SAML responses signed or digested with SHA-1 are now refused.

Usage counts only organizations you own

The usage shown on your plan page and in organization settings now counts installs only from organizations the plan holder owns.

Sessions are named after the app that holds them

The Sessions list on your Account page now names each session after the app that holds it, such as Shorebird Console, Shorebird CLI, or Claude Code, with the browser it was approved in underneath.

Invitations match emails in any letter case

Inviting a member or collaborator now finds their account no matter how the email address is capitalized.

Sign-in no longer creates a second account for a differently cased email

Signing in with an email that matches an existing account's except for letter case no longer creates a second account. It follows the same rules as an exact match.

CLI 1.6.128

The CLI refuses to delete built-in tracks

shorebird channels delete now refuses stable, beta, and staging with a usage error before contacting the server, which already refuses them.

CLI 1.6.128

More CLI fixes in 1.6.128

CLI 1.6.128 also fixes these issues.

CLI 1.6.128

Consistent flag names for set-track and init

shorebird patches set-track and shorebird init now use the same flag names as the commands next to them. The old names still work, but no longer appear in --help.

CLI 1.6.128

JSON errors explain failed checks

With --json, every failing command now prints an error object on stdout, and a failed check before the command runs reports precondition_failed with a message and, when there's a known fix, a hint.

CLI 1.6.128

macOS patches install on re-signed apps

macOS patches now install on apps that were re-signed after release, such as for Developer ID notarization or the Mac App Store.

CLI 1.6.128

Signed patches honor --public-key-cmd

shorebird patch now embeds the public key from --public-key-cmd in the patch build, as shorebird release already did.

CLI 1.6.128

The patches promote command is hidden from help

shorebird patches promote no longer appears in shorebird patches --help. Use shorebird patches set-track instead.

CLI 1.6.128

Preview a flavor without a prompt

shorebird preview now takes --flavor, like other commands that act on an app, so it can pick the flavor's app without asking.

CLI 1.6.128

Releases no longer upload files from an earlier build

shorebird release now clears build/<platform>/shorebird/ before building on every platform, so files left by an earlier build aren't uploaded with a new release.

Retrying a release records the new upload

Running shorebird release again after a release failed partway now records the artifacts from the retry instead of keeping the first attempt's details.

CLI 1.6.128

Setting a patch's track again succeeds

shorebird patches set-track now succeeds when the patch is already on the requested track, instead of failing with a usage error.

CLI 1.6.128

An unknown flavor is an error

Commands that act on an existing app now fail when --flavor names a flavor that shorebird.yaml doesn't define, instead of silently using the default app.

CLI 1.6.127

Crash fixes for login, doctor, and set-track

Four commands that could crash now work or fail with a clear message.

CLI 1.6.127

Linux patches build like Linux releases

shorebird patch linux now builds with --target and the arguments passed after --, so the patch matches the release it targets.

API keys hold exactly their permission level

API keys now hold exactly what their permission level grants. A full access key can do everything your role allows, except delete your account, change your billing limits, or manage your sessions and API keys. Sign in to the Console to do these.

Approve each app that signs in as you

Signing in from the CLI now stops at an approval page, as signing in from other apps such as Claude Code already did. The redesigned page says which app is asking, which account it signs in to, and what it gets. Choose Authorize to continue or Cancel to refuse.

Apps are listed once

The app list no longer shows an app twice when you have both a role in its organization and a role granted on the app itself.

CLI 1.6.126

The Shorebird cache cleans up after itself

Flutter installs, engine artifacts, and downloaded previews that you no longer use are now removed automatically, so they stop piling up across upgrades and --flutter-version builds.

Size analysis says when a release can't be analyzed

The Size tab for a release with no Android or iOS build now says that size analysis supports Android and iOS only, instead of saying to check back in a few minutes.

CLI 1.6.126

Flutter 3.47.7 support

Shorebird now supports Flutter 3.47.7 and Dart 3.13.5.

CLI 1.6.126

iOS previews show your app's logs again

With Xcode 26 or later, shorebird preview on an iOS device now shows the app's print output and [shorebird] updater lines, as Android and macOS previews do.

CLI 1.6.126

Sign in from any machine

shorebird login now opens your browser, and when no browser can open, such as over SSH, in CI, or on Linux without a display, it shows a code to enter in a browser on any device.

CLI 1.6.125

Patch obfuscated Android releases built with older Flutter

Patching an Android release built with --obfuscate on a Flutter version older than 3.41.2 no longer fails with Unrecognized flags: load_obfuscation_map.

CLI 1.6.125

Errors say what to do next

Errors from shorebird init, shorebird patch, shorebird preview, and the checks that run before a command now name the step that fixes them.

CLI 1.6.125

Warning for app extension versions that don't match the app

shorebird release ios now warns when an app extension's version or build number differs from the app's, which App Store Connect rejects with ITMS-90473.

CLI 1.6.125

More secure CLI sign-in

shorebird login now uses standard OAuth with PKCE and state, and shorebird logout now warns when the auth server can't confirm that your session was revoked.

CLI 1.6.125

Script releases and patches with JSON output

shorebird release and shorebird patch now support --json, so a script gets the new release or patch as data instead of parsing log lines.

Sign-ins last as long as you use them

Sign-ins no longer end at a fixed 90 days. A sign-in now lasts until it goes 30 days without use, so you stay signed in as long as you keep using Shorebird.

The API now reports rate limits

API responses now carry RateLimit and RateLimit-Policy headers, so scripts can see their limit and how close they are to it.

CLI 1.6.124

Flutter 3.47.6 support

Shorebird now supports Flutter 3.47.6 and Dart 3.13.5.

CLI 1.6.124

Android patches name the dependency changes behind DEX diffs

When shorebird patch android finds DEX changes, it now lists the Android libraries whose versions differ from the release, which usually explains a native change you didn't make.

Legacy login tokens no longer work

Since October 1, 2026, tokens from shorebird login:ci and logins from CLI versions older than 1.6.87 are rejected.

September 2026

Find apps faster in the Console

The sidebar now lists the active organization's apps, and the organization's app list can now be filtered, sorted, and paged.

Pick a role when inviting a member

The invite dialog now has a role picker, so a new member joins with any role your plan offers instead of always as a Developer.

Move an older patch to another track

Change Track is now offered on a patch that a newer patch has superseded on its track, so an older staging patch can still be promoted to stable.

Each pending invitation in an organization's members list now has a button that shows its link, so you can send it yourself.

CLI 1.6.123

Flutter 3.47.5 support

Shorebird now supports Flutter 3.47.5 and Dart 3.13.4.

CLI 1.6.123

Release with the Flutter version you already use

--flutter-version now accepts fvm and system, so you no longer have to look up and repeat your Flutter version number.

CLI 1.6.123

iOS debug symbols now upload to symbol servers

On iOS, --split-debug-info now writes a Mach-O dSYM, so symbol servers ingest it and Dart stack traces from production become readable.

See whose plan each organization runs on

The organizations list is split into Owned by you and Member of, and each organization shows its plan tier.

CLI 1.6.122

Patch checks report the patch the device is running

The automatic patch check now starts after the patch the device boots has loaded, instead of before, so it reports the patch the device is actually running. With auto_update: false, your app's own updater call decides when to check.

CLI 1.6.122

Flutter 3.47.4 support

Shorebird now supports Flutter 3.47.4 and Dart 3.13.3.

CLI 1.6.121

Clear error when an Android build drops libapp.so

shorebird release android and shorebird patch android now stop with an explanation when the built app bundle has no libapp.so, your compiled Dart code, for any architecture.

CLI 1.6.121

More CLI fixes in 1.6.121

CLI 1.6.121 also fixes these issues.

CLI 1.6.121

Flutter 3.47.3 support

Shorebird now supports Flutter 3.47.3 and Dart 3.13.3.

CLI 1.6.121

Manage apps from the CLI

New shorebird apps commands list, rename, delete, and transfer apps without opening the Console.

CLI 1.6.121

Manage channels from the CLI

New shorebird channels commands create, list, and delete the channels (tracks) an app can publish to.

CLI 1.6.121

See your plan from the CLI

shorebird account whoami now shows your plan level and whether you have an active subscription.

Manage your plan and billing in one place

The new Plan page under Account replaces the Plan tab in each organization's settings, since a plan belongs to your account and covers every organization you own.

Size analysis is free on every plan during rollout

The Size tab is now available on every plan, including Free, and releases are analyzed whatever plan they're on. Pricing will come later.

The built-in channels can't be deleted

Deleting the stable, beta, or staging channel is now refused, since it would unpublish every patch on that track.

August 2026

CLI 1.6.120

Layered app icons no longer count as asset changes

On iOS and macOS, shorebird patch no longer reports an asset change for a layered app icon (.icon) that you didn't change.

CLI 1.6.120

Flutter 3.47.2 support

Shorebird now supports Flutter 3.47.2 and Dart 3.13.2.

CLI 1.6.120

Roll patches back and forward from the CLI

shorebird patches rollback and shorebird patches rollforward do the same as the Rollback and Roll Forward actions in the Console.