Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
4f3679c
Add release branch version for 3.44
Piinks Apr 10, 2026
56fd1c8
3 44 inital beta bump engine version (#184883)
reidbaker Apr 10, 2026
1af378e
[cp-beta] Fix codesign verification test for SwiftPM Add to App (#185…
eyebrowsoffire Apr 13, 2026
2df29e9
[CP-beta]Fix an ordering dependency in the services/system_chrome_tes…
flutteractionsbot Apr 15, 2026
8da9bf5
[CP-beta]Disable async mode with LLDB (#185102)
vashworth Apr 15, 2026
dbd49b7
[CP-beta]Fix killing wrong xcrun command (#185097)
flutteractionsbot Apr 15, 2026
92b3bf7
[CP-beta]Disable multi-pack-index when calling flutter from Xcode (#1…
flutteractionsbot Apr 16, 2026
86ee39d
[flutter-3.44-candidate.0] Update Flutter DEPS to Dart 963eac24852a98…
flutteractionsbot Apr 16, 2026
e80b656
[CP-beta]Don't use `git add -N` in the sync engine workflow. (#185130)
flutteractionsbot Apr 16, 2026
8dc49c6
[flutter-3.44-candidate.0] Sync engine.version to 86ee39d2595de3a2a2c…
flutteractionsbot Apr 16, 2026
298a428
[CP-beta]Only use LLDB breakpoint in debug mode (#185343)
flutteractionsbot Apr 24, 2026
e46d7dd
[CP-beta]Use relative path for reloadedSourcesUri and reloaded module…
flutteractionsbot Apr 24, 2026
36e0007
[CP-beta][Widget Preview] Fix flaky integration test timeout during f…
bkonyi Apr 27, 2026
6669bac
[CP-beta][Win32] FlutterDesktopEngineGetGraphicsAdapter should use ou…
flutteractionsbot Apr 27, 2026
c8cc698
[CP-beta]Check for overflow when computing the pixel buffer size for …
flutteractionsbot Apr 28, 2026
6229ad2
[CP-beta]Fix sdfs being enabled for MacOS regardless of FLTEnableSDFs…
flutteractionsbot Apr 28, 2026
f07fbcc
[CP-beta][SwiftPM] Enable package resolution on xcodebuild commands (…
flutteractionsbot Apr 29, 2026
b9d0496
[CP-beta]Fix `--enable-hcpp` flag being ignored in release (#185717)
flutteractionsbot Apr 29, 2026
b710888
[CP-beta][Android] Gboard Text Shift Stuck Fix (#185749)
flutteractionsbot Apr 29, 2026
73dc1cc
[flutter-3.44-candidate.0] Update Flutter DEPS to Dart 9dc12969f5526d…
flutteractionsbot Apr 29, 2026
22533d1
[flutter-3.44-candidate.0] Sync engine.version to 73dc1ccd62aec198da4…
flutteractionsbot Apr 29, 2026
a39db07
[CP-beta]Match on process name before killing for SwiftPM (#185856)
flutteractionsbot May 4, 2026
4e3f55b
[CP-beta] Update iOS tools to fat binaries (#185868) (#186063)
vashworth May 6, 2026
a7bca2d
[CP-beta] Fix pointer position (#186034)
loic-sharma May 6, 2026
5867146
[CP-beta] [AGP 9] Update AGP Error With Flutter Docs (#185043) (#186040)
jesswrd May 6, 2026
9557dc4
[CP-beta]Fix Broken Flutter Docs Link (#186106)
flutteractionsbot May 6, 2026
74367df
[CP-beta] Update Flutter Android templates to AGP 9 (#186099)
jesswrd May 7, 2026
009ba9e
[CP-beta] Enable the `avoid_final_parameters` lint. (#185216) (#186199)
walley892 May 7, 2026
f1a5619
Revert "[CP-beta] Enable the `avoid_final_parameters` lint. (#185216)…
walley892 May 8, 2026
4b520f6
Update dart version to 3.12.0-327.5.beta (#186276)
walley892 May 8, 2026
3445d6c
[flutter-3.44-candidate.0] Sync engine.version to 4b520f6012e613925f8…
flutteractionsbot May 11, 2026
4c525da
[flutter-3.44-candidate.0] Update Flutter DEPS to Dart 98116461144f44…
flutteractionsbot May 15, 2026
559ffa3
[flutter-3.44-candidate.0] Sync engine.version to 4c525dac5ebe5971c57…
flutteractionsbot May 15, 2026
c416acf
[flutter-3.44-candidate.0] Update Flutter DEPS to Dart fc3da898ea1664…
flutteractionsbot May 27, 2026
c8b7441
[CP-stable][Tool Robustness] Gracefully handle asynchronous subproces…
flutteractionsbot May 28, 2026
4421940
[flutter-3.44-candidate.0] Sync engine.version to c416acfeb8126e097f7…
flutteractionsbot May 28, 2026
924134a
Update CHANGELOG with Flutter 3.44 changes (#187258)
reidbaker May 29, 2026
aefd85a
Fix markdown typos (#187392)
justinmc Jun 1, 2026
5cba168
[CP-stable]iOS: update provisioning profile for 2026-2027 cert (#187412)
flutteractionsbot Jun 3, 2026
853d854
[CP-stable][Tool] Handle DTD connection failures gracefully in widget…
flutteractionsbot Jun 5, 2026
df67bb3
[CP-stable][Android] Reset system UI visibility flags when setting ed…
flutteractionsbot Jun 5, 2026
638b3c8
[CP-stable][iOS] Remove async prefetch of Swift package dependencies …
vashworth Jun 8, 2026
f1aa3de
[flutter-3.44-candidate.0] Update CHANGELOG.md for Flutter 3.44.2 (#1…
camsim99 Jun 10, 2026
77e2e94
[flutter-3.44-candidate.0] Update Flutter DEPS to Dart d684a576a6aa95…
flutteractionsbot Jun 10, 2026
c9a6c48
Update `engine.version` for 3.44.2 stable release (#187805)
camsim99 Jun 10, 2026
762a45b
[stable] Print trace when skipping flavor-specific and platform-speci…
bkonyi Jun 17, 2026
407abe9
[CP-stable][Impeller] Ensure that the TextureGLES destructor cleans u…
jason-simmons Jun 17, 2026
0700fc3
[stable] [SwiftPM] Fix concurrent directory/file/symlink creation cra…
bkonyi Jun 17, 2026
a4ce257
[CP-stable]Fix a potential buffer overflow in the animated PNG decode…
flutteractionsbot Jun 18, 2026
0760c4f
Update CHANGELOG.md for Flutter 3.44.3 (#188180)
LongCatIsLooong Jun 18, 2026
e1fd963
[flutter-3.44-candidate.0] Sync engine.version to a4ce257c68517c1410f…
flutteractionsbot Jun 18, 2026
07b642a
[CP-stable] Run all flutter/flutter macOS tests using Xcode 26 and iO…
okorohelijah Jun 23, 2026
a10d8ac
[CP-stable]Fix bounds checking in FlAccessibleTextField (#188191)
flutteractionsbot Jun 23, 2026
dcbc1a8
[flutter-3.44-candidate.0] Sync engine.version to a10d8ac38de835021c8…
flutteractionsbot Jun 24, 2026
db3d82a
[CP-stable] Upgrade iOS version (#188457)
okorohelijah Jun 24, 2026
ad70ec4
update changelog for 3.44.4 (#188513)
walley892 Jun 24, 2026
97f70d2
[CP-stable][Impeller] Wait for the Vulkan device to become idle befor…
jason-simmons Jun 30, 2026
83675ed
[CP-stable] [Impeller] Fix positioning of text shadow masks (#188766)
flar Jun 30, 2026
c63e437
[CP-stable][tool] Fix libapp.so dropped from APK/app bundle (#188516)
flutteractionsbot Jun 30, 2026
f5bf32d
[CP-Stable] Ensure Warnings Do Not Log When AGP Is Below 9 (#188716)
jesswrd Jun 30, 2026
6192c49
Update CHANGELOG.md for 3.44.5 (#188861)
reidbaker Jul 1, 2026
545d7ce
Fix URL for issue 188718 in CHANGELOG.md (#188862)
reidbaker Jul 1, 2026
8f9096d
[CP-stable][ci] Increase test timeout for Mac_x64 build_tests shards …
flutteractionsbot Jul 1, 2026
f94f4fc
[flutter-3.44-candidate.0] Sync engine.version to 83675ed27633283e7fc…
flutteractionsbot Jul 6, 2026
4561c36
[stable] [flutter_tools] Fix native assets crash on Linux custom devi…
bkonyi Jul 8, 2026
a54cf4c
[CP-stable][tool] Don't require a Flutter compile task when staging j…
flutteractionsbot Jul 8, 2026
ee80f08
[stable] Update changelog for Flutter 3.44.6 (#189141)
eyebrowsoffire Jul 8, 2026
d05fea2
[CP-stable]Increase number of 'Mac tool_integration_tests' subshards …
flutteractionsbot Jul 15, 2026
8a30874
[CP-stable]Move a few benchmarks from x64 Intel Macs to ARM (#189398)
flutteractionsbot Jul 15, 2026
69c8c61
[CP-stable][Android] Close FlutterRenderer texture image SyncFence ob…
flutteractionsbot Jul 15, 2026
5658095
[flutter-3.44-candidate.0] Sync engine.version to 69c8c61792f04cc809d…
flutteractionsbot Jul 16, 2026
84fc5cb
Changelog updates (#189624)
justinmc Jul 17, 2026
3e72412
chore: squash all commits on top of 3.35.7
eseidel Nov 14, 2025
c145834
chore: run et format
eseidel Nov 14, 2025
b342bca
fix: update name to application_library_paths
eseidel Nov 15, 2025
fc0faa9
fix: attempt to fix builds
eseidel Nov 15, 2025
2060343
chore: add missing header for ios
eseidel Nov 17, 2025
24544ce
fix: linux android build
eseidel Nov 17, 2025
7b3001e
fix: attempt to fix shorebird flutter_tools changes
eseidel Nov 17, 2025
64a3a4c
feat: make it possible to load two patches into the runtime at once (…
eseidel Dec 12, 2025
193aaec
feat: shorebird flutter should work without setting FLUTTER_STORAGE_B…
eseidel Dec 12, 2025
bfe4181
chore: move build_engine scripts into this repo (#98)
eseidel Dec 12, 2025
e48cdb3
chore: update to use new CreateGroupIsolate API (#99)
eseidel Dec 16, 2025
bf069ba
bump updater rev
bryanoltman Dec 19, 2025
612ef13
fix: crash after patching on iOS
eseidel Dec 31, 2025
f140e07
fix: revert to using Shorebird_SetBaseSnapshots to stop iOS crashers
eseidel Jan 6, 2026
8c6c3f2
chore: fix linux
eseidel Jan 9, 2026
f01fbff
feat: add support for patch_verification_mode (#100)
eseidel Jan 11, 2026
b4fb92a
chore: roll updater to 8691c8f60e69f8eb1f35361f4a22e8c9a7fdf93c to in…
eseidel Jan 11, 2026
1d0a046
fix: use of FlutterEngineGroup breaks patching (#101)
eseidel Jan 23, 2026
2e82c72
chore: add a C++ interface onto the updater (#102)
eseidel Jan 23, 2026
b8be2b2
fix: start/success reporting (#103)
eseidel Jan 31, 2026
d5ae853
fix: only call shorebird_report_start once (#105)
eseidel Feb 3, 2026
32b1878
feat: show logs when running shorebird_tests (#106)
eseidel Feb 3, 2026
9b6f5f6
perf: speed up shorebird_tests with template project and Gradle cache…
eseidel Feb 3, 2026
00f9e6f
fix: throw on copy failure in _copyTemplateProject (#109)
eseidel Feb 3, 2026
26c7a32
chore: split CI into parallel jobs (#110)
eseidel Feb 3, 2026
8a1af6c
feat: add sharded CI build runner (#111)
eseidel Feb 4, 2026
8cbbc62
fix: add Rust build steps to each shard that needs libupdater (#112)
eseidel Feb 4, 2026
dc7fbea
fix: remove duplicate --help flag in finalize.dart
eseidel Feb 4, 2026
8b2e675
fix: resolve .cmd executables on Windows for gsutil/gcloud
eseidel Feb 5, 2026
1e4b3f6
style: format process.dart
eseidel Feb 5, 2026
a70f3d6
fix: remove Rust steps from iOS simulator shards
eseidel Feb 5, 2026
cfdf3e3
fix: restore Rust for x64 iOS simulator shards
eseidel Feb 5, 2026
ed5f9ab
fix: update NDK path for unmodified Android SDK CIPD package
bdero Feb 11, 2026
7ba6bf5
fix: format shard_runner config.dart
bdero Feb 25, 2026
dd27f60
fix: format shard_runner config.dart for stable SDK formatter
bdero Mar 12, 2026
9f26114
fix: Update iOS dSYM filename in artifact manifest (#113)
eseidel Mar 13, 2026
6f681ed
fix: filter non-stable version branches in shorebird version detectio…
bdero Mar 27, 2026
97b22a7
Integrate Rust updater build into GN/Ninja (#120)
bdero Apr 1, 2026
60cd189
fix: thread Apple deployment target into Rust updater build (#123)
eseidel Apr 8, 2026
1d02050
fix: put cargo target dir inside the GN build output dir (#124)
eseidel Apr 8, 2026
4c88c6a
fix: force static CRT for cc-compiled C deps on Windows (#125)
eseidel Apr 8, 2026
403e1cc
fix: remove legacy pre-GN cargo preamble from CI build scripts (#127)
eseidel Apr 8, 2026
3f8587f
fix: declare libupdater.a as an output of build_rust_updater action (…
eseidel Apr 8, 2026
b100917
fix: gate shorebird_updater_supported on having a known rust target (…
eseidel Apr 8, 2026
f2bf263
ci: upload patch-darwin-arm64.zip alongside x64 (#129)
bdero Apr 9, 2026
99dd8d6
Add --trace flag to flutter build apk for build profiling (#116)
eseidel Apr 20, 2026
8ff491f
feat: add verbose logging to shorebird_tests for CI debugging (#107)
eseidel Apr 23, 2026
8a612c7
refactor: split shorebird C API consumption (engine side of updater #…
eseidel May 4, 2026
6783a95
ci: add aggregator job for branch protection (#139)
eseidel May 6, 2026
f01f5a7
fix: honor --flavor for ios-framework builds (#141)
eseidel May 7, 2026
ad538bb
chore: bump Updater to 90c349287d17
bdero May 7, 2026
88f06a2
fix: update build_rust_updater cbindgen inputs after #350 API split (…
bdero May 7, 2026
07fbe09
fix: drop stale shorebird_check_for_update/shorebird_update from Wind…
bdero May 7, 2026
c503b56
ci(shorebird): drop iOS Rust targets from macOS android shard (#143)
eseidel May 8, 2026
100abbe
ci(shorebird): stream child stdout/stderr from shard_runner (#144)
eseidel May 8, 2026
29646b6
ci(shorebird): remove shard_runner package; now lives in _build_engin…
eseidel May 8, 2026
ef0b004
ci(shorebird): add dst + artifacts to compose.json; mac framework art…
eseidel May 8, 2026
0818594
ci(shorebird): add shell steps for engine_stamp.json + aot-tools.dill…
eseidel May 8, 2026
cbb9d8f
ci(shorebird): drop --offline from aot-tools pub get (#148)
eseidel May 8, 2026
412bbb5
Revert "ci(shorebird): drop --offline from aot-tools pub get" (#148) …
eseidel May 8, 2026
27722ce
ci(shorebird): rename macos-framework dst to framework.zip (#150)
eseidel May 8, 2026
e2be75e
ci(shorebird): use framework.zip as macos-framework src (xcframework,…
eseidel May 8, 2026
b43af3b
shorebird/ci: drop iOS extension-safe shards from the engine build (#…
eseidel May 13, 2026
c09ef48
feat: add 2-pass release build for Dynamic Dispatch table (#119)
bdero May 14, 2026
8b34ea9
chore: bump dart_sdk_revision to 891af5fbc14 for runtime_offsets regen
bdero May 14, 2026
991a9a9
chore: bump dart_sdk_revision to 92e56f760b0 for DD field move + regen
bdero May 14, 2026
ed52e03
chore: bump updater_rev to fe37333 for inflate diagnostic counters
bdero May 14, 2026
20a9c40
debug: log per-blob sizes from SnapshotsDataHandle::createForSnapshots
bdero May 14, 2026
93819fb
debug: log per-mapping sizes from SetBaseSnapshot
bdero May 14, 2026
5c9d1f6
engine: align Seek return value with io::Seek contract + add per-blob…
bdero May 15, 2026
0884783
ci(shards): split windows/host into host-release and host-debug (#153)
eseidel May 15, 2026
d7fdd70
chore: bump dart_sdk_revision to 3989e7a01cd for customer fix test
bdero May 16, 2026
6130435
fix(android): demote libapp.so.sym/dbg check to warning (Part 1 of 3.…
bdero May 12, 2026
fb10f27
fix(macos): skip DD 2-pass on macOS until per-arch support lands
bdero May 20, 2026
9d01c83
ci: pull upstream's fixed freeze.yml (was broken YAML on stable) (#156)
eseidel Jun 2, 2026
99f7688
shorebird: consume our published Dart SDK on mac-arm64 (skip rebuildi…
eseidel Jun 5, 2026
5590bf8
chore: bump Dart to 0e6acdc83e3
bdero Jun 5, 2026
228f45c
Reconcile flutter_tools tests with upstream 3.44.1 (#157)
eseidel Jun 5, 2026
2293b0a
fix: restore --no-prebuilt-dart-sdk on mac-arm64 dart_sdk step
bdero Jun 5, 2026
a111c9f
Bump flutter_flavorizr to published 2.5.0 (fix flavor APK build) (#158)
eseidel Jun 5, 2026
6094eb5
chore: reset DEPS to upstream 3.44.4 + shorebird overlay (Dart db98bd…
bdero Jun 22, 2026
e1eaecb
chore: bump Updater to 1f85c4a
bdero Jul 7, 2026
309dd65
chore: bump engine to e1eaecb
nickshorebird Jul 20, 2026
bd60e39
feat: hot restart of production apps via package:shorebird_code_push
bdero Jul 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
257 changes: 205 additions & 52 deletions .ci.yaml

Large diffs are not rendered by default.

43 changes: 43 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: ci

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
pull_request:
push:
branches:
- main

jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

runs-on: ${{ matrix.os }}

name: 🧪 Test

env:
FLUTTER_STORAGE_BASE_URL: https://download.shorebird.dev

steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
with:
# Fetch all branches and tags to ensure that Flutter can determine its version
fetch-depth: 0

- name: 🎯 Setup Dart
uses: dart-lang/setup-dart@v1

- name: 📦 Install Dependencies
run: |
dart pub get -C ./dev/bots
dart pub get -C ./dev/tools

- name: 🧪 Run Tests
run: dart ./dev/bots/test.dart
32 changes: 6 additions & 26 deletions .github/workflows/freeze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,14 @@ jobs:
name: Check Code Freeze
runs-on: ubuntu-latest
if: ${{ github.repository == 'flutter/flutter' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

steps:
- name: Check for changes in frozen folders
if: github.event_name != 'merge_group'
uses: dorny/paths-filter@v3
id: filter
with:
token: ${{ github.token }}
filters: |
frozen:
- 'packages/flutter/lib/src/material/**'
Expand All @@ -46,27 +44,9 @@ jobs:
- 'packages/flutter/test_fixes/cupertino/**'

- name: Fail on frozen changes
# This step only runs if the 'frozen' filter matched AND the override label is NOT present
if: |
steps.filter.outputs.frozen == 'true' &&
!contains(github.event.pull_request.labels.*.name, 'override: code freeze')
if: github.event_name != 'merge_group' && steps.filter.outputs.frozen == 'true' && !contains(github.event.pull_request.labels.*.name, 'override code freeze')
run: |
echo "Error: Code changes detected during the current code freeze."
echo "The following paths are currently frozen:"
echo " - packages/flutter/lib/src/material/"
echo " - packages/flutter/lib/src/cupertino/"
echo " - (and associated tests/examples)"
echo ""
echo "If this is a critical fix that must land during the freeze, please file an issue for team-design."
echo "Information on this code freeze: https://github.com/flutter/flutter/issues/184093"
echo "If this is a critical fix that must land, please file an issue for team-design."
echo "Info: https://github.com/flutter/flutter/issues/184093"
exit 1

- name: Pass if overridden
if: |
steps.filter.outputs.frozen == 'true' &&
contains(github.event.pull_request.labels.*.name, 'override: code freeze')
run: echo "Code freeze overridden by override: code freeze label."

- name: Pass if no frozen changes
if: steps.filter.outputs.frozen == 'false'
run: echo "No changes to frozen code."
130 changes: 130 additions & 0 deletions .github/workflows/shorebird_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
name: shorebird_ci

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
pull_request:
push:
branches:
- shorebird/dev

jobs:
# NOTE: Windows is not included because shorebird_tests depends on
# flutter_flavorizr which requires Xcode. Additionally, flutter_tools
# tests on Windows would need additional setup work.

flutter-tools-tests:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]

runs-on: ${{ matrix.os }}

name: 🛠️ Flutter Tools Tests (${{ matrix.os }})

steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 🎯 Setup Dart
uses: dart-lang/setup-dart@v1

- name: 🐦 Run Flutter Tools Tests
run: ../../bin/flutter test test/general.shard
working-directory: packages/flutter_tools

shorebird-android-tests:
# Android tests run on Ubuntu (faster runners, no macOS needed)
runs-on: ubuntu-latest

name: 🤖 Shorebird Android Tests

steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 🎯 Setup Dart
uses: dart-lang/setup-dart@v1

- uses: actions/setup-java@v4
with:
distribution: "zulu"
java-version: "17"

- name: 📦 Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: 🤖 Run Android Tests
run: dart test test/base_test.dart test/android_test.dart
working-directory: packages/shorebird_tests

shorebird-ios-tests:
# iOS tests require macOS for Xcode
runs-on: macos-latest

name: 🍎 Shorebird iOS + Android Smoke Tests

steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 🎯 Setup Dart
uses: dart-lang/setup-dart@v1

- uses: actions/setup-java@v4
with:
distribution: "zulu"
java-version: "17"

- name: 📦 Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: 🍎 Run iOS Tests
run: dart test test/base_test.dart test/ios_test.dart
working-directory: packages/shorebird_tests

- name: 🤖 Run Android Smoke Test (macOS)
# Quick sanity check that Android builds work on macOS too
run: dart test test/android_test.dart --name "can build an apk"
working-directory: packages/shorebird_tests
env:
# Enables streaming subprocess output for debugging timeouts.
VERBOSE: "1"

# Aggregator required by branch protection on shorebird/dev so the rule can
# list a single context ("ci") instead of every matrix-expanded job above.
ci:
if: always()
needs:
- flutter-tools-tests
- shorebird-android-tests
- shorebird-ios-tests
runs-on: ubuntu-latest
steps:
- if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
run: |
echo "One or more upstream jobs failed or were cancelled."
exit 1
3 changes: 1 addition & 2 deletions .github/workflows/sync-engine-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,8 @@ jobs:
- name: Check for Changes
id: git-check
run: |
# -N (intent-to-add) treats untracked files as existing but empty
# -f adds even if it's in the .gitignore (which it usually is)
git add -N -f bin/internal/engine.version
git add -f bin/internal/engine.version

if git diff --cached --exit-code bin/internal/engine.version; then
echo "changed=false" >> $GITHUB_OUTPUT
Expand Down
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,58 @@ More information and tips:
docs/releases/Hotfix-Documentation-Best-Practices.md
-->

## Flutter 3.44 Changes

### [3.44.7](https://github.com/flutter/flutter/releases/tag/3.44.7)
- [flutter/188161](https://github.com/flutter/flutter/issues/188161) Fixes a resource leak that sometimes caused crashes when using external textures on some GPUs (such as Arm Mali).

### [3.44.6](https://github.com/flutter/flutter/releases/tag/3.44.6)
- [flutter/187980](https://github.com/flutter/flutter/issues/187980) On Linux, building asset bundles with native assets enabled without a native app build directory crashes due to missing `CMakeCache.txt`.
- [flutter/188805](https://github.com/flutter/flutter/issues/188805) Fixes a crash when running Android instrumented tests.

### [3.44.5](https://github.com/flutter/flutter/releases/tag/3.44.5)
- [flutter/188718](https://github.com/flutter/flutter/issues/188718) When building Flutter Android apps and add-to-app modules using AGP < 9 with KGP, the tool incorrectly logs Built-in Kotlin migration warnings.
- [flutter/186810](https://github.com/flutter/flutter/issues/186810) [flutter/187388](https://github.com/flutter/flutter/issues/187388) [flutter/187553](https://github.com/flutter/flutter/issues/187553) When building Android app bundles using flavors, or with an old app template combined with a plugin coming alphabetically before app, fixes problems with failing to include libapp.so in the produced app bundle.
- [flutter/188035](https://github.com/flutter/flutter/issues/188035) When rendering text with shadows, the shadows would appear elsewhere on the screen, separate from the text.
- [flutter/187237](https://github.com/flutter/flutter/issues/187237) Fixes a crash that can happen during app shutdown or rotation on some Android devices using Impeller/Vulkan with HCPP.

### [3.44.4](https://github.com/flutter/flutter/releases/tag/3.44.4)
- [flutter/188192](https://github.com/flutter/flutter/issues/188192) Fix bounds checking in Flutter Linux's FlAccessibleTextField.

### [3.44.3](https://github.com/flutter/flutter/releases/tag/3.44.3)
- [flutter/186738](https://github.com/flutter/flutter/issues/186738) Demote flavor/platform asset skipping messages from warning to trace level to reduce build log noise.
- [flutter/186899](https://github.com/flutter/flutter/issues/186899) On Android, destroying a texture before the GLES fence that it holds was used may cause a crash.
- [flutter/186953](https://github.com/flutter/flutter/issues/186953) When building concurrently with SwiftPM on macOS/iOS, concurrent directory/file/symlink creation may cause a crash.
- [flutter/183179](https://github.com/flutter/flutter/issues/183179) Fixes an issue that can cause crashes when rendering animated PNG images.

### [3.44.2](https://github.com/flutter/flutter/releases/tag/3.44.2)
- [flutter/187322](https://github.com/flutter/flutter/issues/187322) When DTD connection is lost or fails at startup during widget-preview on all platforms, the tool crashes with unhandled exceptions instead of exiting gracefully.
- [flutter/186723](https://github.com/flutter/flutter/issues/186723) When Android apps switch from any `SystemUiMode` to edge-to-edge, the system bars unexpectedly remain invisible.
- [flutter/186054](https://github.com/flutter/flutter/issues/186054) When building an iOS or macOS app with Swift Package Manager enabled, remote package dependencies may fail to download.
- [flutter/185775](https://github.com/flutter/flutter/issues/185775) When building for non-iOS or macOS apps, Swift Package Manager warnings may appear.

### [3.44.1](https://github.com/flutter/flutter/releases/tag/3.44.1)
- [flutter/186962](https://github.com/flutter/flutter/issues/186962) When the analysis server exits unexpectedly, the `flutter` tool can crash instead of outputting a descriptive error message.
- [flutter/186963](https://github.com/flutter/flutter/issues/186963) When failing to connect to a Chrome instance on Windows, the `flutter` tool can crash instead of outputting a descriptive error message.

### [3.44.0](https://github.com/flutter/flutter/releases/tag/3.44.0)

Learn about what's new in this release in [the blog post](https://blog.flutter.dev/whats-new-in-flutter-3-44-b0cc1ad3c527), and check out the [CHANGELOG](https://docs.flutter.dev/release/release-notes/release-notes-3.44.0) for a detailed list of all the new changes.


## Flutter 3.41 Changes

### [3.41.9](https://github.com/flutter/flutter/releases/tag/3.41.9)
- [flutter/185621](https://github.com/flutter/flutter/pull/185621) Fixes a potential integer overflow that can happen when handling some animated PNG files.

### [3.41.8](https://github.com/flutter/flutter/releases/tag/3.41.8)
- [flutter/185150](https://github.com/flutter/flutter/issues/185150) When using profile mode on a physical iOS device, the app may fail to connect to the Dart VM.

### [3.41.7](https://github.com/flutter/flutter/releases/tag/3.41.7)
- [flutter/184376](https://github.com/flutter/flutter/issues/184376) When building an iOS or macOS app, the build may fail due to git multi-pack-index error.
- [flutter/184254](https://github.com/flutter/flutter/issues/184254) When debugging on physical iOS devices and Xcode 26.4+, app often crashes.
- [flutter/184689](https://github.com/flutter/flutter/issues/184689) When using an ffi Windows package, don't require a plugin class.

### [3.41.6](https://github.com/flutter/flutter/releases/tag/3.41.6)
- [flutter/184025](https://github.com/flutter/flutter/pull/184025) Include a fix from Skia that ensures that the correct atlas for the glyph mask format is used consistently.
- [flutter/182708](https://github.com/flutter/flutter/issues/182708) Visual issues with circles appearing jagged. Especially on thin stroked circles and circles with small radii.
Expand Down
40 changes: 32 additions & 8 deletions DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ vars = {
'skia_git': 'https://skia.googlesource.com',
'llvm_git': 'https://llvm.googlesource.com',
'skia_revision': 'e9ed4fc9f1544c58d8a9347c1fc9471d8dd7c465',
# Our dart-sdk fork revision. Used both for the third_party/dart source
# clone (gen_snapshot etc.) and to key the macos-arm64 prebuilt object in
# GCS, so source and prebuilt stay the same revision. A published prebuilt
# must exist for this sha (see the macos-arm64 dart-sdk gcs dep below).
"dart_sdk_revision": "db98bdaa9d8f8e2250ff83d24abcaf775807244c",
"dart_sdk_git": "git@github.com:shorebirdtech/dart-sdk.git",
"updater_git": "https://github.com/shorebirdtech/updater.git",
"updater_rev": "1f85c4ab1ee5b540269b9859c75e1bffbb9050c7",

# WARNING: DO NOT EDIT canvaskit_cipd_instance MANUALLY
# See `lib/web_ui/README.md` for how to roll CanvasKit to a new version.
Expand Down Expand Up @@ -59,11 +67,11 @@ vars = {
# updated revision list of existing dependencies. You will need to
# gclient sync before and after update deps to ensure all deps are updated.
# updated revision list of existing dependencies.
'dart_revision': 'bd6280c3e8e99d957987abf4c49cc9b6f99971ac',
'dart_revision': 'd684a576a6aa954ae107a03b2b4e1d61c3bebe93',

# WARNING: DO NOT EDIT MANUALLY
# The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py
'dart_ai_rev': 'f1cddc8e1905b9a5753a93ce451522e564311251',
'dart_ai_rev': '3d3b7fdaddead83ce262377e5c4ce5b2a843066c',
'dart_binaryen_rev': '58de22cdfd0ccb38ce68632695c0493c587af932',
'dart_boringssl_rev': 'b0ae229f686f2be70689584d1e1c6a727a2cdfab',
'dart_core_rev': '347df4b546f315fc1ff69c6e65f2a023b0263b1d',
Expand Down Expand Up @@ -284,7 +292,7 @@ deps = {
'https://boringssl.googlesource.com/boringssl.git' + '@' + Var('dart_boringssl_rev'),

'engine/src/flutter/third_party/dart':
Var('dart_git') + '/sdk.git' + '@' + Var('dart_revision'),
Var('dart_sdk_git') + '@' + Var('dart_sdk_revision'),

# WARNING: Unused Dart dependencies in the list below till "WARNING:" marker are removed automatically - see create_updated_flutter_deps.py.

Expand All @@ -304,7 +312,7 @@ deps = {
Var('dart_git') + '/core.git' + '@' + Var('dart_core_rev'),

'engine/src/flutter/third_party/dart/third_party/pkg/dart_style':
Var('dart_git') + '/dart_style.git@9b302dd20b4b38979352f21cf515b44617d344ce',
Var('dart_git') + '/dart_style.git@20ab21773a526f480ca5948f32cf8c77e37d0dc9',

'engine/src/flutter/third_party/dart/third_party/pkg/dartdoc':
Var('dart_git') + '/dartdoc.git@a57f497ae9df6e6073b5eb7ddf253d0b2eb470c3',
Expand Down Expand Up @@ -396,14 +404,27 @@ deps = {
'dep_type': 'cipd',
'condition': 'host_os == "mac" and download_dart_sdk'
},
# Consume Shorebird's own published Dart SDK (built from
# shorebirdtech/dart-sdk) from GCS instead of Google's CIPD prebuilt, so
# the engine builds against our Dart fork and skips rebuilding it from
# source (see shards/macos.json: mac-arm64 drops --no-prebuilt-dart-sdk).
# The object is keyed by Var('dart_sdk_revision') so it tracks the same
# fork revision as the source clone above; sha256sum/size_bytes pin the
# specific artifact's content and must be updated whenever that revision
# bumps. tar.gz (not zip) so gclient's extraction preserves the executable
# bit on bin/dart etc. The bot reads this private bucket via a keyless-WIF
# reader SA (shorebirdtech/_build_engine sync.yaml).
'engine/src/flutter/prebuilts/macos-arm64/dart-sdk': {
'packages': [
'bucket': 'shorebird-dart-sdk-prebuilt',
'objects': [
{
'package': 'flutter/dart-sdk/mac-arm64',
'version': 'git_revision:'+Var('dart_revision')
'object_name': Var('dart_sdk_revision') + '/dart-sdk-darwin-arm64.tar.gz',
'sha256sum': '7fd7de2d929d6729975bed3cb18ded754fcc023b35f00c61295fb772f63add6c',
'size_bytes': 205231858,
'generation': 1781242258444863,
}
],
'dep_type': 'cipd',
'dep_type': 'gcs',
'condition': 'host_os == "mac" and download_dart_sdk'
},
'engine/src/flutter/prebuilts/windows-x64/dart-sdk': {
Expand Down Expand Up @@ -481,6 +502,9 @@ deps = {
'engine/src/flutter/third_party/ocmock':
Var('flutter_git') + '/third_party/ocmock' + '@' + Var('ocmock_rev'),

'engine/src/flutter/third_party/updater':
Var('updater_git') + '@' + Var('updater_rev'),

'engine/src/flutter/third_party/libjpeg-turbo/src':
Var('flutter_git') + '/third_party/libjpeg-turbo' + '@' + '0fb821f3b2e570b2783a94ccd9a2fb1f4916ae9f',

Expand Down
1 change: 1 addition & 0 deletions TESTOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@
/dev/devicelab/bin/tasks/gradle_plugin_bundle_test.dart @gmackall @flutter/plugin
/dev/devicelab/bin/tasks/gradle_plugin_fat_apk_test.dart @gmackall @flutter/plugin
/dev/devicelab/bin/tasks/gradle_plugin_light_apk_test.dart @gmackall @flutter/plugin
/dev/devicelab/bin/tasks/hello_world_impeller_macos_sdfs.dart @b-luk @flutter/desktop
/dev/devicelab/bin/tasks/hello_world_macos__compile.dart @cbracken @flutter/desktop
/dev/devicelab/bin/tasks/hello_world_win_desktop__compile.dart @yaakovschectman @flutter/desktop
/dev/devicelab/bin/tasks/hot_mode_dev_cycle_ios_simulator.dart @louisehsu @flutter/tool
Expand Down
Loading
Loading