Skip to content
Boring Doc

Version Comparison Studio

Choose two real stable releases. Boring Doc lists every indexed change between them with its evidence, impact and migration instructions, and can fetch the verified source diff from GitHub.

Categories
Platform
Explain

3.13.9 → 3.16.9Oct 25, 2023 → Jan 25, 2024 · 10 releases in range

Changes in range
42
Breaking / removed
9
12 with migration guides
Deprecations
4
plan before they are removed
Official evidence
42
13 official migration guide, 29 official changelog

What changed?

42 indexed changes across 10 versions: 8 breaking change, 1 removed, 4 deprecated api, 29 bug fix.

Will this affect my application?

9 high-impact items. Start with: Migrating to Material 3; Migrate ShortcutActivator and ShortcutManager to KeyEvent system; The ThemeData.useMaterial3 property is now set to true by default; ….

What action should I take?

Read the 12 official migration guides first, apply `dart fix` where available, then upgrade and run your test suite. Deprecations can be scheduled; removals cannot.

How do I migrate safely?

Prefer stepping through stable series sequentially; each breaking-change page has a checklist, before/after code and the official guide. Verify with `flutter analyze`, `flutter test` and a profile-mode run on each target platform.

What this comparison covers
  • Release-note items are indexed for the most recent series only. For 3.16 this comparison shows official breaking-change guides and hotfix notes.
  • Release-note items are classified from PR titles (heuristic); breaking-change guides are classified from the official index.
  1. 3.16.0
    Nov 15, 2023
    13 changes
  2. 3.16.1
    Nov 27, 2023
    5 changes
  3. 3.16.2
    Nov 30, 2023
    2 changes
  4. 3.16.3
    Dec 6, 2023
    7 changes
  5. 3.16.4
    Dec 13, 2023
    3 changes
  6. 3.16.5
    Dec 20, 2023
    4 changes
  7. 3.16.6
    Jan 10, 2024
    4 changes
  8. 3.16.7
    Jan 11, 2024
    2 changes
  9. 3.16.8
    Jan 17, 2024
    1 changes
  10. 3.16.9
    Jan 25, 2024
    1 changes
Verified source diff1560 commits · 300 files · +10245 / −1212GitHub API truncated (250 commits / 300 files max)Full diff on GitHub

A source diff proves code changed; it does not by itself show that a public API is breaking. Use it to corroborate the announcements above.

dev/infra 269other 20tooling 11
Commits (250)
  • b03f533Roll Flutter Engine from 51a402860f5b to 573e44b91887 (1 revision) (#134920)
  • c2b1e48Improve DropdownMenu sample code for requestFocusOnTap on mobile platforms (#134867)
  • 6068ff2Roll Flutter Engine from 573e44b91887 to 75e5ba3c4671 (1 revision) (#134923)
  • cf317b5Roll Flutter Engine from 75e5ba3c4671 to 77965cabbaf9 (1 revision) (#134925)
  • d6d90b0Roll Flutter Engine from 77965cabbaf9 to 4107ee0dc8b1 (1 revision) (#134927)
  • 2337c64Native assets support for Linux (#134031)
  • 06e346aRoll Flutter Engine from 4107ee0dc8b1 to be7a039c5451 (1 revision) (#134937)
  • b7d0e8cRoll Packages from bc8c2f20910b to d4e245421737 (6 revisions) (#134945)
  • b195c94Migrate the "Missing frames / speed related performance issues" issue template to use Github forms (#134033)
  • bac5e5dRoll Flutter Engine from be7a039c5451 to e1c784e3f841 (3 revisions) (#134956)
  • 9dd3e1eFix memory leak in _DarwinViewState. (#134938)
  • 6425a3b[flutter roll] Revert "LinkedText (Linkify)" (#134955)
  • abf8361Don't uninstall before retrying to connect during app launch (#134542)
  • 56cbf3eCover more test/widgets tests with leak tracking #5 (#134869)
  • 658710bCover more tests with leak tracking. (#134805)
  • 2396a41Cover more test/widgets tests with leak tracking #6 (#134884)
  • da0f9a9Enable private field promotion for framework (#134473)
  • 43407cfAccess to fragment in router state on page refresh (#131123)
  • f2050e8Fixes focus traversal crash if the current node can't request focus (#134954)
  • 5c6ef59Resolve breaking change of adding a method to ChangeNotifier. (#134953)
  • a9183f6Revert "Resolve breaking change of adding a method to ChangeNotifier." (#134978)
  • ab66f55Reland Resolve breaking change of adding a method to ChangeNotifier. (#134983)
  • 8936504Roll Flutter Engine from e1c784e3f841 to 589bde9a95c9 (16 revisions) (#134998)
  • f246dc7Bring native_assets ios tests out of staging (#135015)
  • d3c6056Update CI to Chrome 117. (#134761)
  • 4ce7fddRemove 'must be non-null' and 'must not be null' comments from non-framework libraries (#134994)
  • 5b47fefManual roll Flutter Engine from 589bde9a95c9 to 28f14e6eec4f (11 revisions) (#135041)
  • 6569395Manual roll Flutter Engine from 28f14e6eec4f to 10c480310926 (6 revisions) (#135066)
  • ba2dde4Specify suggested format in doc comment. (#134887)
  • c7c9d8e[web] Encode AssetManifest.bin as JSON and use that on the web. (#131382)
  • 5c6b031Retry Linux web tests 1 time on roll presubmit (#135073)
  • 13e34bdManual roll Flutter Engine from 10c480310926 to a7af55c56aa6 (4 revisions) (#135071)
  • 52ef9d8[flutter roll] Revert "Native assets support for Linux" (#135069)
  • 14b832acover more tests with leak tracking (#134837)
  • fe9a2c5Remove 'must not be null' comments from painting and rendering libraries. (#134993)
  • 07e70a4Manual roll Flutter Engine from a7af55c56aa6 to 0d7db40c27fd (7 revisions) (#135079)
  • 6cf7ca0Roll Flutter Engine from a7af55c56aa6 to 5a924a9017d7 (10 revisions) (#135085)
  • f4b5fc1Unpin url launcher (remake) (#134958)
  • a1e49beRemove 'must be non-null' and 'must not be null' comments from material. (#134991)
  • e300fdaRoll Flutter Engine from 5a924a9017d7 to 81b93fc4a2cc (2 revisions) (#135093)
  • a5db10eRoll Flutter Engine from 81b93fc4a2cc to 36379b62bec8 (2 revisions) (#135095)
  • 1e56af5Roll Flutter Engine from 36379b62bec8 to 24f7ac38dfa2 (2 revisions) (#135096)
  • 3c25a9fRoll Flutter Engine from 24f7ac38dfa2 to 9c6b2500282b (3 revisions) (#135098)
  • aae6c6dRoll Flutter Engine from 9c6b2500282b to df4e6c079682 (1 revision) (#135101)
  • cb4b402Roll Flutter Engine from df4e6c079682 to 83b4df415bf3 (2 revisions) (#135102)
  • d0004c9Roll Flutter Engine from 83b4df415bf3 to 67d4aaef3c7b (1 revision) (#135128)
  • c3db020Cover more test/widgets tests with leak tracking #9 (#135054)
  • 98ebab5Cover more test/widgets tests with leak tracking #8 (#135045)
  • 7212a07Roll Flutter Engine from 67d4aaef3c7b to 6535421b30d3 (1 revision) (#135139)
  • a1f8c99Roll Flutter Engine from 6535421b30d3 to 5f82fc2f6f24 (2 revisions) (#135142)
  • 8cda3beRemove 'must not be null' comments from various libraries. (#134984)
  • 3a78e5cRoll Packages from d4e245421737 to 51e74b97508a (12 revisions) (#135145)
  • 594ff98[Android] Add Java/AGP/Gradle incompatibility warning to `flutter create` (#131444)
  • 52969a0Roll Flutter Engine from 5f82fc2f6f24 to 6f256257b79f (1 revision) (#135147)
  • 6e5134bRemove 'must be non-null' and 'must not be null' comments in widgets library (#134992)
  • 4d8e390Roll Flutter Engine from 6f256257b79f to 55314d08d792 (2 revisions) (#135151)
  • 22e4088codeisn extension safe iOS framework (#134966)
  • 9b767e6cover more tests with leak tracing (#134833)
  • 96a4ae9Cover more test/widgets tests with leak tracking #10 (#135143)
  • b0a90aeEnable strict-inference (#135043)
  • e6d160aCover more test/widgets tests with leak tracking #7 (#134943)
  • a96bf71Cover cupertino/form_section_test with leak tracing (#135158)
  • b433b17Upgrade AGP version in tracing_tests (#134671)
  • d6d2e89finer grained logging of Chromium launch sequence (#135078)
  • a4bc894[deps] Update package:web dependency. (#135174)
  • 1bfd6a1Roll Flutter Engine from 39c0f2ea1f53 to 89d864552acd (4 revisions) (#135169)
  • 04854e8Fix memory leak in _SelectableTextState (#135049)
  • 2868bc1Fix leak in hardware_keyboard_test.dart (#134380)
  • 237db2bcover more tests with leak tracing (#134834)
  • a0406ccMark ReastaurationManager not disposed (#134832)
  • f92884cRename `debugProfilePlatformChannels` to a constant that works in release mode (#134922)
  • c416aa4Roll Flutter Engine from 89d864552acd to 76e5e35ab395 (21 revisions) (#135192)
  • b90a13fRoll Flutter Engine from 76e5e35ab395 to 88aad1056781 (1 revision) (#135198)
  • 518b775Roll Flutter Engine from 88aad1056781 to 3e66ffa6aae6 (2 revisions) (#135200)
  • 07cc3f7Form fields onChange callback should be called on reset (#134295)
  • 089e93aRoll Flutter Engine from 3e66ffa6aae6 to a4b1ef79596a (1 revision) (#135206)
  • 687f9c8Roll Flutter Engine from a4b1ef79596a to 584861202198 (2 revisions) (#135214)
  • beeb3ceCover some cupertino tests with leak tracing (#135149)
  • 22748e3Roll Flutter Engine from 584861202198 to 6c1e58c86e8c (1 revision) (#135216)
  • 8f04f0cRoll Packages from 51e74b97508a to d0411e450a8d (1 revision) (#135224)
  • 5708b76Roll Flutter Engine from 6c1e58c86e8c to fa032d52a118 (1 revision) (#135227)
  • 7771884Handle breaking changes in leak_tracker. (#135185)
  • 4204f07Add RestorationManager disposals in test/services/restoration_test.dart. (#135218)
  • de44dafAdd a parameter to configure InputDecorator hint fade animations duration (#135211)
  • 203ec67Fix violation of the render rule in Windows Startup Test (#134245)
  • da1f801Roll Flutter Engine from fa032d52a118 to 78c1ad249b57 (1 revision) (#135238)
  • c627dbfAdd `--frontend-server-starter-path` option to `flutter run` and `flutter test` (#135038)
  • 30a9f99Send analytics on 'build ios' and 'build ipa' for plist impeller value (#135193)
  • d0664bca few web tweaks for a11y assessment app (#134479)
  • 45e4a0eFix a TextSpan test (#135187)
  • 528a281Update alwaysNeedsCompositing in RenderParagraph (#135076)
  • daea6e0remove field override, assign to super field instead (#135165)
  • ffecedbCover more test/widgets tests with leak tracking #11 (#135231)
  • 5def6f2Roll Flutter Engine from 78c1ad249b57 to 7a9409e12fab (8 revisions) (#135266)
  • 9d42ad8Fix memory leak in NestedScrollViewState. (#135248)
  • 5163d81Roll Flutter Engine from 7a9409e12fab to 2a33fdc4be48 (3 revisions) (#135270)
  • 68d5c17Roll Flutter Engine from 2a33fdc4be48 to e726798410af (1 revision) (#135271)
  • 85e52d4Roll Flutter Engine from e726798410af to e0fb071ead2f (2 revisions) (#135276)
  • 0377e80Size CupertinoTextSelectionToolbar to children (#133386)
  • 2def951Reland "Native assets support for Linux" (#135097)
  • f388559Roll Flutter Engine from e0fb071ead2f to f8e909b88f3f (1 revision) (#135281)
  • 09f7d7cRemove extra padding if a dropdown menu entry also has a leading icon (#135004)
  • 12d761aRoll Flutter Engine from f8e909b88f3f to 3a2346ade2f2 (4 revisions) (#135283)
  • 801a1c9Added option to disable [NavigationDrawerDestination]s (#132349)
  • 8de97caRoll Flutter Engine from 3a2346ade2f2 to 3d54e44d0654 (2 revisions) (#135288)
  • 723ba03Roll Flutter Engine from 3d54e44d0654 to 2fa8dec336d0 (1 revision) (#135289)
  • 99192f8Roll Flutter Engine from 2fa8dec336d0 to b642e4f4dffa (1 revision) (#135295)
  • 6502883Roll Flutter Engine from b642e4f4dffa to 9d06c176cf98 (2 revisions) (#135304)
  • f581634Roll Flutter Engine from 9d06c176cf98 to e97155428ad4 (1 revision) (#135306)
  • 06780cbRoll Flutter Engine from e97155428ad4 to ef9ceed1af08 (1 revision) (#135308)
  • 74c6693Roll Packages from d0411e450a8d to 98ebcd3d9c05 (3 revisions) (#135310)
  • dbe0ccdRefactor "app plugin loader" Gradle Plugin so it can be applied using the declarative `plugins {}` block (#127897)
  • 76a938bReenable 'Linux packages_autoroller' in prod with kms key update (#135316)
  • a09b1e4Roll Flutter Engine from ef9ceed1af08 to 92be04f73d5d (3 revisions) (#135319)
  • 9fe6ed1Roll pub packages (#135315)
  • 99ac6b8_RenderChip should not create OpacityLayer without disposing. (#134708)
  • feb6d6eRoll Flutter Engine from 92be04f73d5d to 954ea95be336 (2 revisions) (#135325)
  • 579e196Stop reporting new_gen_gc_count to SkiaPerf (#135324)
  • a4e3f93Fix memory leak in _MatchesReferenceImage (#135150)
  • c00e979Fix _paintAvatar in chip.dart to dispose layer. (#135228)
  • 49e1686TabController should dispatch creation in constructor. (#133952)
  • 57ccf3aRoll Flutter Engine from 954ea95be336 to e4bfdc1a67de (1 revision) (#135332)
  • 1d76995Convert relative to absolute import. (#135337)
  • 70fd335Move some tests from staging to prod (#135333)
  • 6379648[iOS,macOS] Clean up obsolete PlatformView warning (#135040)
  • f5d9185Roll Flutter Engine from e4bfdc1a67de to 564480337eae (4 revisions) (#135341)
  • 7671627Roll Flutter Engine from 564480337eae to 614859053262 (7 revisions) (#135362)
  • 69004a8Roll Flutter Engine from 614859053262 to ee27600dfbe2 (1 revision) (#135364)
  • 6d88adeMarks Linux_android opacity_peephole_grid_of_alpha_savelayers_perf__e2e_summary to be flaky (#135119)
  • 6d4a5e3Marks Linux_android flutter_gallery__start_up_delayed to be flaky (#134632)
  • 4f5c815Marks Linux_android platform_channels_benchmarks to be flaky (#135106)
  • 3ba8472Marks Mac_ios static_path_tessellation_perf_ios__timeline_summary to be unflaky (#133127)
  • 389d482Marks Mac_ios animated_advanced_blend_perf_ios__timeline_summary to be unflaky (#132630)
  • 82a972bMarks Mac_ios very_long_picture_scrolling_perf_ios__e2e_summary to be unflaky (#134629)
  • 713272eRoll Flutter Engine from ee27600dfbe2 to 2daf5e7bb249 (1 revision) (#135371)
  • 260c16cMarks Linux_pixel_7pro picture_cache_perf__timeline_summary to be unflaky (#134118)
  • 6240c89Marks Mac_ios draw_points_perf_ios__timeline_summary to be unflaky (#127933)
  • c0bde99Marks Mac_ios dynamic_path_tessellation_perf_ios__timeline_summary to be unflaky (#133128)
  • 417aaf5Marks Windows module_test to be unflaky (#134121)
  • 2c1f517Marks Mac_ios draw_vertices_perf_ios__timeline_summary to be unflaky (#134625)
  • 8bc223eMarks Mac_ios draw_atlas_perf_ios__timeline_summary to be unflaky (#134626)
  • a6e98d3Marks Windows_android channels_integration_test_win to be unflaky (#135374)
  • 797d34eMarks Linux_pixel_7pro hello_world_impeller to be unflaky (#135372)
  • 49f1a6bFix failing test at master. (#135394)
  • 2f56288Marks Linux_samsung_a02 new_gallery__transition_perf to be unflaky (#135373)
  • 07ce6a7Revert "Marks Linux_samsung_a02 new_gallery__transition_perf to be unflaky" (#135399)
  • 6a9df55Add a basic golden test for `CupertinoTextSelectionToolbar` (#135267)
  • be085a9Roll Flutter Engine from 2daf5e7bb249 to 3ea1174ecfaa (4 revisions) (#135396)
  • d5a8cd3Roll Flutter Engine from 3ea1174ecfaa to e1c1022c2d6d (2 revisions) (#135403)
  • 3c4b81dRoll Flutter Engine from e1c1022c2d6d to e6d3bac5c723 (2 revisions) (#135410)
  • 16ae8c0Revert "Marks Linux_pixel_7pro hello_world_impeller to be unflaky" (#135388)
  • 9c7ab90Roll Flutter Engine from e6d3bac5c723 to 2c4c1108aa87 (1 revision) (#135424)
  • 4ae2e91Roll Packages from 98ebcd3d9c05 to e548ae1d2045 (5 revisions) (#135431)
  • def1753Roll Flutter Engine from 2c4c1108aa87 to 1ae3d20332f0 (4 revisions) (#135438)
  • 52914c7simulatedAccessibilityTraversal account for force merging (#135178)
  • fffbbf2[Velocity Tracker] Fix: Issue 97761: Flutter Scrolling does not match iOS; inadvertent scrolling when user lifts up finger (#132291)
  • 79caa83Fix and Test Conditional Validator Behavior in FormField (#132714)
  • cb4b4d4[macOS,iOS] Improve CocoaPods upgrade instructions (#135453)
  • 965337bRoll Flutter Engine from 1ae3d20332f0 to 3f606570ac7c (6 revisions) (#135457)
  • d28c10cRoll Flutter Engine from 3f606570ac7c to 6bf8067392cf (8 revisions) (#135472)
  • b097d24Add "Frame Request Pending" lag to collected metrics (#135279)
  • f6f18d0Roll Flutter Engine from 6bf8067392cf to 75950dc280d5 (4 revisions) (#135480)
  • f11fb9aRoll Flutter Engine from 75950dc280d5 to 230dfeed79ed (3 revisions) (#135489)
  • feb5eeeRoll Flutter Engine from 230dfeed79ed to 7b989a28514e (2 revisions) (#135494)
  • 936763fRoll Packages from e548ae1d2045 to 619af75f7966 (4 revisions) (#135505)
  • 3cfe372Wait for CONFIGURATION_BUILD_DIR to update when debugging with Xcode (#135444)
  • 7143284[Windows] Add more Arm64 compile and run tests (#135475)
  • 54678fdRoll Flutter Engine from 7b989a28514e to acdb364a42d5 (2 revisions) (#135516)
  • c21bf45Switch flutter_tools to run frontend server from AOT snapshot (#135255)
  • d81c8aaSelectionArea long press selection overlay behavior should match native (#133967)
  • 67d4a83Allow multiple ParentDataWidgets to write to ParentData (#133581)
  • 851497f[flutter_tools] fix tests with no native assets running native asset build (#135474)
  • eae421e[documentation] remove repeated "For example," in RenderSliverEdgeInsetsPadding documentation (#135297)
  • a1639beRevert "Switch flutter_tools to run frontend server from AOT snapshot" (#135537)
  • bea63d7Roll Flutter Engine from acdb364a42d5 to 0a8ad236e4af (5 revisions) (#135527)
  • 3ad9998Roll Flutter Engine from 0a8ad236e4af to f70f65f7a622 (5 revisions) (#135549)
  • 3e7c388✨ `flutter config --list` (#135401)
  • ff4a0f6Native assets support for Windows (#134203)
  • 9fedb1aMarks Linux_pixel_7pro hello_world_impeller to be unflaky (#135564)
  • 2a19b71Roll Packages from 619af75f7966 to 21c2ebb39c07 (6 revisions) (#135602)
  • d3c45f1Config changes for linux coverage. (#135604)
  • 433bca5Fix `SearchAnchor`'s search view isn't updated when the theme changes & widgets inside the search view do not inherit local themes (#132749)
  • 47f12camade top level if checks gaurd clauses (#135070)
  • 80fb7bdSupport ensureVisible/showOnScreen/showInViewport for 2D Scrolling (#135182)
  • 21ad712Implement SelectionArea single click/tap gestures (#132682)
  • f2cf0ccManual roll Flutter Engine from f70f65f7a622 to be32dcc9117a (31 revisions) (#135637)
  • f644e4fManual roll Flutter Engine from be32dcc9117a to 44aef2e61718 (4 revisions) (#135646)
  • 2cd0b60Roll Flutter Engine from 44aef2e61718 to c47faed53afe (1 revision) (#135647)
  • 4600b12Update `TextField.style` documentation for Material 3 (#135556)
  • 9b335d9Roll Flutter Engine from c47faed53afe to d2540d87fd96 (2 revisions) (#135652)
  • 09b89f4Roll Flutter Engine from d2540d87fd96 to 937bf0432214 (1 revision) (#135660)
  • 666d8f8Roll Flutter Engine from 937bf0432214 to 495955a3b5de (1 revision) (#135665)
  • dd341d4Upload generated frame-request-pending stats (#135645)
  • 63b98d5Revert "Upload generated frame-request-pending stats" (#135672)
  • 8d01d55Roll Flutter Engine from 495955a3b5de to d09c2dbe2292 (1 revision) (#135669)
  • 449c927Roll Flutter Engine from d09c2dbe2292 to 82b69dadc07a (2 revisions) (#135675)
  • d134345Fix `RangeSlider` throws an exception in a `ListView` (#135667)
  • 880a0a1Roll Packages from 21c2ebb39c07 to c070b0a7a80a (3 revisions) (#135676)
  • 3b19c2e[web] fix: do not call onSubmitted of TextField when switching browser tabs on mobile web (#134870)
  • c35515aMarks Windows module_custom_host_app_name_test to be unflaky (#135567)
  • aa498cdAdd API to read flavor from framework at run time (#134179)
  • 6cde5daRoll Flutter Engine from 82b69dadc07a to d9eaebd05851 (1 revision) (#135679)
  • 4ed9ab8🚀 Add more fields to `RefreshProgressIndicator` (#135207)
  • f76c150Reverts "Marks Windows module_custom_host_app_name_test to be unflaky" (#135692)
  • 9fdb167Added option to disable [NavigationDestination]s ([NavigationBar] destination widget) (#132361)
  • 8860dd2Roll Flutter Engine from d9eaebd05851 to 9789dbc2ec3f (2 revisions) (#135688)
  • e61f9e0Fix TabBarView.viewportFraction change is ignored (#135590)
  • 97847e0Roll Flutter Engine from 9789dbc2ec3f to dbb60932a6ab (2 revisions) (#135694)
  • b5c8fd1Roll pub packages (#135455)
  • 371aadd[tool] fallback to sigkill when closing Chromium (#135521)
  • 4968963Roll Flutter Engine from dbb60932a6ab to cc7c3c1f0f41 (2 revisions) (#135701)
  • 55c7a2eMarks Linux_android flutter_gallery__start_up_delayed to be unflaky (#135565)
  • 3509a1dRemove assertions on getOffsetToReveal (#135634)
  • de20e74Roll Flutter Engine from cc7c3c1f0f41 to 485543c6765a (8 revisions) (#135717)
  • e5d3b70Pin leak_tracker before publishing breaking change. (#135720)
  • d13cd88[flutter_tools] remove VmService screenshot for native devices. (#135462)
  • 951653aAdd arch property for windows_arm64 platform (#135725)
  • f0abad6[flutter_releases] Flutter beta 3.16.0-0.1.pre Framework Cherrypicks (#136303)
  • fe6553bRoll engine to 249cc9b8. (#136428)
  • cd285a9[flutter_tools] handle ERROR_INVALID_FUNCTION when trying to symlink across drives (#136681)
  • 180a858update analytics in generate api docs site to use new UA4 (#136497) (#136742)
  • f00b8f5[CP][Android] Update Java/AGP/Gradle warning compatible Java range (#136766)
  • 476aa71[flutter_releases] Flutter beta 3.16.0-0.3.pre Framework Cherrypicks (#136932)
  • 4e5e12eCherry-pick package:web update to version 0.3.0 from 0.2.1-beta (#137195)
  • 379c3f4[flutter_releases] Flutter beta 3.16.0-0.4.pre Framework Cherrypicks (#137709)
  • 4822f90[flutter release cp] Reland "Fixes ability to call nextFocus() on a node to focus its desc… (#138014)
  • 092a710Bumping version tag of provisioning profile cipd package. (#137710) (#137782)
  • adc7dfe[flutter release] update engine version of Flutter 3.16 candidate.0 (#138045)
  • db7ef5b[flutter_releases] Flutter stable 3.16.0 Framework Cherrypicks (#138506)
  • 20467baCP catch StdinException when setting terminal to SingleCharMode (#138032)
  • d17e418[CP] prevent tool crash when `IntelliJValidatorOnMac` encounters an installation with a missing `CFBundleIdentifier` (#138176)
  • 6f753f7[CP] Fix file deletion crash in BuildIOSArchiveCommand.runCommand (#138752)
  • 7f20e5d[flutter_releases] Flutter stable 3.16.1 Framework Cherrypicks (#139075)
  • 9e1c857[flutter_releases] Flutter stable 3.16.2 Framework Cherrypicks (#139273)
  • 784a44fCP bump DDS to fix DAP threadID integer parsing bug (#139158)
  • 6d998fe[CP] Add ability to customize `NavigationBar` indicator overlay and fix in… (#139162)
  • b0366e0[flutter_releases] Flutter stable 3.16.3 Framework Cherrypicks (#139618)
  • 54f1b88[CP] Gold fix for stable branch (#139764)
  • 3b804f1[macOS] Suppress Xcode 15 createItemModels warning (#138243) (#139782)
  • 7417c4e[CP] have `Java.version` return null if `java --version` fails or cannot be run (#139698)
  • 2e9cb0a[CP] Catch error for missing directory in `FontConfigManager` (#138496) (#139743)
  • 78666c8[flutter release] Update Engine revision to 3f3e560236539b7e2702f5ac790b2a4691b32d49 fo… (#140424)
  • 5a21b62CP: Manually update DWDS to 21.0.0+1 to fix null-cast error when debugging from VS Code (#140711)
  • 4476a6d[CP] Run tests on either macOS 12 or 13 (#140892)
  • 4ec0689[CP] Fix tool crash while debugging an iOS device and deleting a temp directory fails (#140842)
  • 019fc5d[CP] Migrate command usage values (#139383) (#141019)
  • 46787eeSet template and migrate apps to iOS 12 minimum (#140921)
  • ef1af02[flutter_releases] Flutter stable 3.16.7 Framework Cherrypicks (#141406)
  • 67457e6[flutter_releases] Flutter stable 3.16.8 Framework Cherrypicks (#141648)
  • 4145645[flutter_releases] Flutter stable 3.16.9 Framework Cherrypicks (#142231)

Breaking Breaking change 8

BreakingHigh impact3.16.0 migration guide

Migrating to Material 3

The Material library has been updated to match the Material 3 Design spec. Changes include new components and component themes, updated component visuals, and much more. Many of these updates are seamless. You'll see the new version of an affected widget when recompiling your app against the 3.16 (or later) release. But some manual work is also required to complete the migration.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.16.0 migration guide

Migrate ShortcutActivator and ShortcutManager to KeyEvent system

For some time now (years), Flutter has had two key event systems implemented. The new system reached parity with the old platform-specific raw key event system, and the raw system will be removed. To prepare for that, the Flutter APIs that use the old system are being modified, and for a select few of them we have decided to make breaking changes in the API in order to preserve the quality of the API.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.16.0 migration guide

The ThemeData.useMaterial3 property is now set to true by default

The Material library has been updated to match the latest Material Design spec. Changes include new components, new component themes, and updated component visuals. As of this release, `ThemeData.useMaterial3` is set `true` by default.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.16.0android migration guide

Android 14 nonlinear font scaling enabled

Android 14 introduced nonlinear font scaling up to 200%. It may change how your app looks when the user changes the accessibility text scaling in system preferences.

Official migration guideVerified classificationFrameworkSource Details

Removed Removed 1

RemovedHigh impact3.16.0

Deprecated API removed after v3.13

In accordance with Flutter's Deprecation Policy, deprecated APIs that reached end of life after the 3.13 stable release have been removed.

Official migration guideVerified classificationFrameworkSource Details

Deprecated Deprecated API 4

DeprecatedMedium impact3.16.0android migration guide

Deprecate textScaleFactor in favor of TextScaler

In preparation for adopting the Android 14 nonlinear font scaling feature, all occurrences of `textScaleFactor` in the Flutter framework have been deprecated and replaced by `TextScaler`.

Official migration guideVerified classificationFrameworkSource Details
DeprecatedMedium impact3.16.0 migration guide

Deprecated Paint.enableDithering

`Paint.enableDithering` is now `true` by default (previously, `false`), and is _deprecated_ pending removal - Flutter no longer supports user-configurable dithering settings.

Official migration guideVerified classificationFrameworkSource Details

Bug fix Bug fix 29

AI explanationAI-generated · grounded in cited sources
AI explanations are not configured
Set AI_PROVIDER (for example to openai-compatible with a local Ollama or LM Studio endpoint) to enable grounded explanations. Everything else on this page works without an AI provider.
Was this useful?