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.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.

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.

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.

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.