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.19.6 → 3.22.3Apr 17, 2024 → Jul 18, 2024 · 4 releases in range

Changes in range
35
Breaking / removed
6
5 with migration guides
Deprecations
0
plan before they are removed
Official evidence
35
6 official migration guide, 29 official changelog

What changed?

35 indexed changes across 4 versions: 4 breaking change, 2 removed, 29 bug fix.

Will this affect my application?

6 high-impact items. Start with: Rename MaterialState to WidgetState; Introduce new ColorScheme roles; Nullable PageView.controller; ….

What action should I take?

Read the 5 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.22 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.22.0
    May 13, 2024
    6 changes
  2. 3.22.1
    May 22, 2024
    3 changes
  3. 3.22.2
    Jun 6, 2024
    13 changes
  4. 3.22.3
    Jul 18, 2024
    13 changes
Verified source diff1417 commits · 300 files · +4856 / −3268GitHub 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 280other 14tooling 6
Commits (250)
  • be78542Platform view devicelab ad banner scroll list real ads (#144745)
  • 7f1c93dReverts "Platform view devicelab ad banner scroll list real ads (#144745)" (#145189)
  • 60674faRoll Flutter Engine from 7b49dc9dd073 to 622b37282f20 (2 revisions) (#145179)
  • 9b276beRoll Flutter Engine from 622b37282f20 to 995d8903e074 (8 revisions) (#145191)
  • 985576dRoll Flutter Engine from 995d8903e074 to 1e199ce6239d (1 revision) (#145196)
  • 8d54abfRoll pub packages manually (#145170)
  • eeff96dRoll Packages from b21c5424783a to 756dcc11180b (6 revisions) (#145214)
  • 58eb0e8Update a11y for SliverAppBar (#144437)
  • a97af20Run gradle_plugin_*_apk_test on presubmit on flutter_tool changes. (#142090)
  • d113ee4Roll Flutter Engine from 1e199ce6239d to 76f33eb0eced (3 revisions) (#145221)
  • da4d0e4Reland: "Platform view devicelab ad banner scroll list real ads" (#145224)
  • c770ca7Roll Flutter Engine from 76f33eb0eced to d107f65a8ee6 (3 revisions) (#145223)
  • ca2d486Reverts "Reland: "Platform view devicelab ad banner scroll list real ads" (#145224)" (#145228)
  • 71606afRoll Flutter Engine from d107f65a8ee6 to c2fd5333a5d2 (4 revisions) (#145226)
  • 1c153c3Renaming the virtual device Nexus5 name to Nexus5.gce_x86 (#145225)
  • 55d8b20Roll Flutter Engine from c2fd5333a5d2 to ba1115c30381 (3 revisions) (#145237)
  • 20105dbRoll Flutter Engine from ba1115c30381 to 2db915c64e6e (2 revisions) (#145240)
  • 15e90adRoll Flutter Engine from 2db915c64e6e to 7f15dc1200bc (1 revision) (#145245)
  • cc01701Use a separate `TextPainter` for intrinsics calculation in `RenderEditable` and `RenderParagraph` (#144577)
  • 2ac7b95Roll Flutter Engine from 7f15dc1200bc to d46c1fa17dda (2 revisions) (#145248)
  • 33bf475Roll Flutter Engine from d46c1fa17dda to 6ddaa40bf1a6 (1 revision) (#145250)
  • 7599666Roll Flutter Engine from 6ddaa40bf1a6 to 6f180615e6ac (1 revision) (#145251)
  • a2678bePlatform view devicelab ad banner scroll list real ads (#145239)
  • 483aa35Roll Flutter Engine from 6f180615e6ac to 3abc25139959 (1 revision) (#145253)
  • 360d46fRoll Flutter Engine from 3abc25139959 to 120e52b8a1c2 (1 revision) (#145254)
  • 988bee8Roll Flutter Engine from 120e52b8a1c2 to 91b9cf24d328 (1 revision) (#145256)
  • 3109b11Introduce `Split` curve (#143130)
  • 2fc76c7Reland #128236 "Improve build output for all platforms" (#143166)
  • 48c1c23Reverts "Reland #128236 "Improve build output for all platforms" (#143166)" (#145261)
  • e7baebdRoll Flutter Engine from 91b9cf24d328 to e4602aa149d8 (1 revision) (#145259)
  • 16d0731Roll Flutter Engine from e4602aa149d8 to 618ee6c8ba34 (1 revision) (#145266)
  • ed845c7Roll Flutter Engine from 618ee6c8ba34 to dd4050334ff3 (1 revision) (#145270)
  • b24b6b1Roll Flutter Engine from dd4050334ff3 to cfbf11d757d1 (1 revision) (#145275)
  • c7123c9Factor out use of "print" in flutter_goldens (#144846)
  • 7c860ddRoll Flutter Engine from cfbf11d757d1 to 4c420dd2dfd9 (2 revisions) (#145280)
  • 69a3f54Roll Flutter Engine from 4c420dd2dfd9 to 5c31faa15ab7 (2 revisions) (#145294)
  • dd865ceRoll Flutter Engine from 5c31faa15ab7 to 89c775963926 (1 revision) (#145303)
  • 03b5ea5Roll Flutter Engine from 89c775963926 to aebc0021cd18 (1 revision) (#145305)
  • c6f2b53Roll Flutter Engine from aebc0021cd18 to eac9db75f902 (1 revision) (#145308)
  • 28fea59Roll Flutter Engine from eac9db75f902 to f11015e14d24 (2 revisions) (#145321)
  • 06ed849Update `inherited_theme_test.dart`, `ink_paint_test.dart`, `ink_splash_test.dart`, `opacity_test.dart` for Material 3 (#144013)
  • 50e7f2bInputDecorator M3 tests migration - Step6 - constraints (#145213)
  • b346eb3Roll Flutter Engine from f11015e14d24 to 86de0f75606f (1 revision) (#145322)
  • f217fc1Roll Packages from 756dcc11180b to a757073ac4ea (3 revisions) (#145325)
  • e1b0005Roll Flutter Engine from 86de0f75606f to 89fb886a162c (1 revision) (#145327)
  • f4ee956Roll Flutter Engine from 89fb886a162c to 9162c8309e24 (2 revisions) (#145336)
  • 7f368f7Add --no-dds to Mac_arm64_ios version of hot_mode_dev_cycle_ios__benchmark (#145335)
  • ca39806Roll Flutter Engine from 9162c8309e24 to 90c4d64d410f (1 revision) (#145342)
  • 71c1abaSwitch hot_mode_dev_cycle_linux__benchmark to run in postsubmit (#145343)
  • f84407eRoll Flutter Engine from 90c4d64d410f to 016206de75bc (2 revisions) (#145345)
  • f704560Roll Flutter Engine from 016206de75bc to 3fde3678a357 (2 revisions) (#145350)
  • 98369bdIntroduce methods for computing the baseline location of a RenderBox without affecting the current layout (#144655)
  • 993f554Fix for issue 140372 (#144947)
  • 89ef73eRoll pub packages + update DAP tests (#145349)
  • ed2c7edBump github/codeql-action from 3.24.7 to 3.24.8 (#145358)
  • acd28f0Roll Flutter Engine from 3fde3678a357 to 89df726bf13a (1 revision) (#145359)
  • b34048cRoll Flutter Engine from 89df726bf13a to 0ee413ee276a (3 revisions) (#145365)
  • c6b0240Roll Flutter Engine from 0ee413ee276a to 3d909f14118e (5 revisions) (#145370)
  • 4f1c789Roll Flutter Engine from 3d909f14118e to c0d1b0d5d43f (1 revision) (#145371)
  • da8aaf2Roll Flutter Engine from c0d1b0d5d43f to 4a86b5b17c39 (1 revision) (#145373)
  • ca864c0Roll Flutter Engine from 4a86b5b17c39 to ac8f1f233d6f (3 revisions) (#145375)
  • 16bd4bbRoll Flutter Engine from ac8f1f233d6f to 59519ceee30a (2 revisions) (#145379)
  • 88a9b58Roll Flutter Engine from 59519ceee30a to de6b8f49b849 (1 revision) (#145381)
  • 6f61f61Activate shortcuts based on NumLock state (#145146)
  • ae10fdfRoll Flutter Engine from de6b8f49b849 to c9fbe6bab899 (2 revisions) (#145383)
  • 9213b1fRoll Flutter Engine from c9fbe6bab899 to 4cec701f4635 (1 revision) (#145386)
  • d31a85bRoll Flutter Engine from 4cec701f4635 to d8fbcfbd799c (1 revision) (#145390)
  • e116867Roll Flutter Engine from d8fbcfbd799c to 7ea6b003ffeb (2 revisions) (#145398)
  • 8f71cfdRoll Packages from a757073ac4ea to a2f4ce0a5057 (3 revisions) (#145399)
  • 28498feRoll Flutter Engine from 7ea6b003ffeb to 59138d5f8e88 (1 revision) (#145404)
  • 3236957chore: fix some comments (#145397)
  • 6190c5eWidget state properties (#142151)
  • 2b317d5Add a `minTileHeight` to ListTile widget so its height can be customized to less than the default height. (#145244)
  • 5c54509Roll Flutter Engine from 59138d5f8e88 to 7095e6a4a643 (1 revision) (#145409)
  • 9cb90d4Roll Flutter Engine from 7095e6a4a643 to bacb027aa824 (2 revisions) (#145424)
  • a802862Fix remote DDS in proxied devices. (#145346)
  • 4d5e675Roll Flutter Engine from bacb027aa824 to bd3a9241c2c5 (1 revision) (#145427)
  • a59c1a1Roll Flutter Engine from bd3a9241c2c5 to dce639a4c453 (3 revisions) (#145429)
  • db21309Roll Flutter Engine from dce639a4c453 to 00bfdb580b1b (1 revision) (#145435)
  • 7ffd36cRoll Flutter Engine from 00bfdb580b1b to 3f67bc531eef (1 revision) (#145438)
  • 056f25cRoll Flutter Engine from 3f67bc531eef to 24b84203f6cc (1 revision) (#145441)
  • 852a10dRoll Flutter Engine from 24b84203f6cc to e96b2b0047f7 (1 revision) (#145444)
  • b110c73Roll Flutter Engine from e96b2b0047f7 to 1e89d04c6b52 (1 revision) (#145446)
  • b2575d5Roll Flutter Engine from 1e89d04c6b52 to 32ae508316a6 (2 revisions) (#145449)
  • 994c2fdRoll Flutter Engine from 32ae508316a6 to f42fc937028c (1 revision) (#145456)
  • b96c13dRoll Flutter Engine from f42fc937028c to 883adfe2ef61 (1 revision) (#145459)
  • ff7a84bRoll Flutter Engine from 883adfe2ef61 to fc2b7a9076b4 (1 revision) (#145469)
  • 8c9684dRoll Packages from a2f4ce0a5057 to 23e56af4a622 (5 revisions) (#145470)
  • 6b568f3Reland #128236 "Improve build output for all platforms" (#145376)
  • be0b422Roll Flutter Engine from fc2b7a9076b4 to f803f2adec54 (1 revision) (#145475)
  • a01eac7Reverts "Reland #128236 "Improve build output for all platforms" (#145376)" (#145487)
  • f6fea45Roll Flutter Engine from f803f2adec54 to 1b52f57ca07c (1 revision) (#145479)
  • f9f77a4Roll Flutter Engine from 1b52f57ca07c to d1fe8994dedf (8 revisions) (#145491)
  • 39bdff1Remove embedding v1 code in framework (#144726)
  • 01fc13dAdd helper widget parameter to InputDecoration (#145157)
  • a04b557Roll Flutter Engine from d1fe8994dedf to fe6927c79dc3 (1 revision) (#145493)
  • 274152fRoll Flutter Engine from fe6927c79dc3 to 98cfd9213332 (1 revision) (#145498)
  • 61b3f97Roll pub packages (#145476)
  • e95df00Roll Flutter Engine from 98cfd9213332 to 912c61f30512 (1 revision) (#145504)
  • 416a4b8Roll Flutter Engine from 912c61f30512 to 34b304a27f73 (1 revision) (#145511)
  • b88810dRoll Flutter Engine from 34b304a27f73 to 45ed36c17bb7 (1 revision) (#145513)
  • 0e268b5Roll Flutter Engine from 45ed36c17bb7 to a73e01364de0 (1 revision) (#145516)
  • e077e15Roll Flutter Engine from a73e01364de0 to 23dc0cacc4db (2 revisions) (#145517)
  • 4b046f1Roll Flutter Engine from 23dc0cacc4db to c0d3ac3178fa (1 revision) (#145519)
  • 6165742Roll Flutter Engine from c0d3ac3178fa to 6de3d9b6196a (1 revision) (#145520)
  • 3bfa829Roll Flutter Engine from 6de3d9b6196a to 14b67475cf80 (1 revision) (#145529)
  • 33380c6Roll Flutter Engine from 14b67475cf80 to 7cdb240c4a16 (1 revision) (#145533)
  • 5545c95Roll pub packages (#145509)
  • fd18e5cReverts "Roll pub packages (#145509)" (#145550)
  • 4bbe6d5Add WidgetsApp.debugShowWidgetInspectorOverride again (deprecated) (#145334)
  • dbf0637Roll Packages from 23e56af4a622 to b7fbe68d4ec2 (3 revisions) (#145547)
  • 18340eaRoll Flutter Engine from 7cdb240c4a16 to bad4a30e1c75 (2 revisions) (#145551)
  • 0646600Roll Flutter Engine from bad4a30e1c75 to eb262e9c34db (1 revision) (#145555)
  • 98d10b6Roll Flutter Engine from eb262e9c34db to a2ed373fa70f (2 revisions) (#145556)
  • 31209d0`flutter test --wasm` support (#145347)
  • eaf509aEliminate more window singleton usages (#145560)
  • afe0150Clarify AutomaticKeepAliveClientMixin semantics in build method (#145297)
  • d69833cRoll Flutter Engine from a2ed373fa70f to 1b842ae58b3d (1 revision) (#145565)
  • c759c22Fixed race condition in PollingDeviceDiscovery. (#145506)
  • a36569dRoll Flutter Engine from 1b842ae58b3d to a46a7b273a5b (2 revisions) (#145569)
  • 3b390c5Add a `--no-gradle-generation` mode to the `generate_gradle_lockfiles.dart` script (#145568)
  • 11c034fFix nullability of getFullHeightForCaret (#145554)
  • e1c6445Roll Flutter Engine from a46a7b273a5b to e2f324beac3b (1 revision) (#145576)
  • 784f19cFix `BorderSide.none` requiring explicit transparent color for `UnderlineInputBorder` (#145329)
  • 0f685f8Add some cross references in the docs, move an example to a dartpad example (#145571)
  • d755bc2Replace `RenderBox.compute*` with `RenderBox.get*` and add `@visibleForOverriding` (#145503)
  • 5058c26Roll Flutter Engine from e2f324beac3b to 5a12de1beab7 (1 revision) (#145578)
  • 5fab92fRoll Flutter Engine from 5a12de1beab7 to f9a34ae0b14f (1 revision) (#145581)
  • 859eb2eAdds numpad navigation shortcuts for Linux (#145464)
  • 7fb35dbIntensive `if` chain refactoring (#145194)
  • 7ad647aRoll Flutter Engine from f9a34ae0b14f to eba6e31498b8 (1 revision) (#145598)
  • 14774b9Roll Flutter Engine from eba6e31498b8 to 09dadce76828 (1 revision) (#145603)
  • c5047e02DScrollView - Fix drag when one axis does not have enough content (#145566)
  • 26909e0Roll Flutter Engine from 09dadce76828 to 63ff0dedd8e6 (2 revisions) (#145611)
  • e9a0c35Roll Flutter Engine from 63ff0dedd8e6 to 68301f268278 (2 revisions) (#145613)
  • 7009b92Roll Packages from b7fbe68d4ec2 to 611aea1657fb (4 revisions) (#145615)
  • de68c93Roll Flutter Engine from 68301f268278 to cc8f752b81e5 (1 revision) (#145621)
  • 4820e0cFix skipping golden comparator for CI environments (#145619)
  • 233dd97Roll Flutter Engine from cc8f752b81e5 to 52142e428760 (4 revisions) (#145625)
  • 6836b04Disable flaky text_editing_integration tests temporarily. (#145629)
  • df75d24[web][docs] Improve HtmlElementView widget docs. (#145192)
  • 42d6f71Roll Flutter Engine from 52142e428760 to bc4fa4367edb (1 revision) (#145626)
  • 716f827Add workaround for bug adding unicode strings to test reports. (#145607)
  • 5b6a121Bump github/codeql-action from 3.24.8 to 3.24.9 (#145627)
  • 085dbd8Roll Flutter Engine from bc4fa4367edb to 8a51e124fbf1 (4 revisions) (#145630)
  • c7dc2ceRoll Flutter Engine from 8a51e124fbf1 to 7690eb12ded5 (1 revision) (#145634)
  • 09b1afbRoll Flutter Engine from 7690eb12ded5 to 42d4262b4b20 (1 revision) (#145635)
  • 9ae8a6bReland #128236 "Improve build output for all platforms" (#145495)
  • 73e78fdRoll Flutter Engine from 42d4262b4b20 to 689ea4b10b17 (1 revision) (#145636)
  • 638e471Roll Flutter Engine from 689ea4b10b17 to 7aa8521e640e (1 revision) (#145643)
  • d8854fdRoll Flutter Engine from 7aa8521e640e to 2f5afdf62365 (2 revisions) (#145651)
  • 3373961Roll Flutter Engine from 2f5afdf62365 to 7c139e0a4897 (1 revision) (#145655)
  • e10049bTurn off randomization for leak detection bots. (#145624)
  • 9fee27bLeak clean up. (#144803)
  • 52dc43fRoll Flutter Engine from 7c139e0a4897 to 0734f47f2a3d (1 revision) (#145662)
  • a5cf419Roll Flutter Engine from 0734f47f2a3d to efdde39a2a57 (2 revisions) (#145668)
  • cd78554make hot reload reflect changes to asset transformer configurations (#144660)
  • 7f06c26Roll Flutter Engine from efdde39a2a57 to ae758d54630d (1 revision) (#145669)
  • 62adaffRoll Flutter Engine from ae758d54630d to 857584c458ff (2 revisions) (#145673)
  • 23687c5Add `AnimationStyle` to `showBottomSheet` and `showModalBottomSheet` (#145536)
  • 280037fRoll Flutter Engine from 857584c458ff to 2e8d77dbb0f0 (1 revision) (#145678)
  • baa54fd[deps] Bump native assets dependencies (#145612)
  • b39660dRoll Packages from 611aea1657fb to 28d126c54c63 (1 revision) (#145690)
  • 2851ed3Fix typo in hitTest docs (#145677)
  • a9f18b8[Fix]: Searchbar doesn't lose focus when tapped outside (#145232)
  • 2dd2764Roll Flutter Engine from 2e8d77dbb0f0 to ef896e942f44 (1 revision) (#145705)
  • 47bfa82Memory leaks clean up 1 (#145691)
  • 453a04dTwoDimensionalChildDelegate should dispatch creation and disposal events (#145684)
  • 9fa731dUpdate semantics.dart (#145683)
  • dbdceadRoll Flutter Engine from ef896e942f44 to 04191a122e9a (1 revision) (#145709)
  • 31f4f2bAdd a `--print-dtd` flag to print the DTD address served by DevTools server (#144272)
  • 330a2caUpdate links in analysis_options.yaml (#145706)
  • 5e19b33Fix vertical `Stepper` draws connector on the last step (#145703)
  • b05937dRoll Flutter Engine from 04191a122e9a to 5fc95a3277ea (3 revisions) (#145722)
  • 2832611Refactor add_to_app_life_cycle_tests (#145546)
  • 8363e78Fix `SearchAnchor` triggers unnecessary suggestions builder calls (#143443)
  • bc9e789Roll Flutter Engine from 5fc95a3277ea to b2001fa6d773 (1 revision) (#145730)
  • a8345d5Roll Flutter Engine from b2001fa6d773 to 3c881b75cc28 (1 revision) (#145733)
  • 55528baRoll Flutter Engine from 3c881b75cc28 to b2d93a64cbc7 (1 revision) (#145759)
  • 388f321[flutter_tools] Enable WebAssembly compilation everywhere, remove feature flag (#145562)
  • 81f969eFix `ExpansionTile` Expanded/Collapsed announcement is interrupted by VoiceOver (#143936)
  • 1583289Be tolerant of backticks around directory name in `pub` output. (#145768)
  • 8953ba6Fix memory leak in Overlay.wrap. (#145744)
  • 94c63f8Memory leaks clean up 2 (#145757)
  • 1279df8Roll Packages from 28d126c54c63 to ab1630b9b9bd (1 revision) (#145755)
  • 8d31c58Roll Flutter Engine from b2d93a64cbc7 to cffd1dcfe6a5 (9 revisions) (#145773)
  • d2c8552Fix disabled `DropdownMenu` doesn't defer the mouse cursor (#145686)
  • e5e70b0Correct typo: "Free" to "Three" in comments (#145689)
  • 7f4d621Roll Flutter Engine from cffd1dcfe6a5 to baede78d2352 (2 revisions) (#145778)
  • 0779480Roll Flutter Engine from baede78d2352 to 5c7aea6f20fc (2 revisions) (#145784)
  • b3c9f5fRoll Flutter Engine from 5c7aea6f20fc to 026d8902e3b5 (1 revision) (#145785)
  • 385bec0Roll pub packages and regenerate gradle lockfiles (#145727)
  • d2a1938Bump codecov/codecov-action from 4.1.0 to 4.1.1 (#145787)
  • 9786682[web] Add BackgroundIsolateBinaryMessenger.ensureInitialized to web. (#145786)
  • d07a0b5Roll Flutter Engine from 026d8902e3b5 to 92ebd47dd8a8 (1 revision) (#145788)
  • 1c8b378Update localization files. (#145780)
  • c09c65fRoll Flutter Engine from 92ebd47dd8a8 to d872d50e53f4 (6 revisions) (#145801)
  • 202a377Roll Flutter Engine from d872d50e53f4 to 441005698702 (1 revision) (#145803)
  • c610723Roll Flutter Engine from 441005698702 to cad8e7a9ad70 (1 revision) (#145804)
  • 34728caRoll Flutter Engine from cad8e7a9ad70 to 064a4f5d9042 (1 revision) (#145805)
  • ceea431Roll Flutter Engine from 064a4f5d9042 to d6c6ba5aa157 (1 revision) (#145807)
  • c881eeeRoll Flutter Engine from d6c6ba5aa157 to da64c6bcbbb6 (1 revision) (#145811)
  • 4eab267Roll Flutter Engine from da64c6bcbbb6 to 00dab0d9d310 (1 revision) (#145830)
  • 6c0a4caRefactor web long running tests (#145776)
  • 4190b2aRoll Packages from ab1630b9b9bd to e6b3e11d9d5a (6 revisions) (#145833)
  • c6f9cdfRoll Flutter Engine from 00dab0d9d310 to b7dddee939f2 (2 revisions) (#145841)
  • 44fb840Roll Flutter Engine from b7dddee939f2 to d65662541682 (2 revisions) (#145851)
  • 6807eacRoll Flutter Engine from d65662541682 to 73c145c9ac3a (8 revisions) (#145862)
  • ab4db16Roll Flutter Engine from 73c145c9ac3a to c602abdbae16 (1 revision) (#145865)
  • 2079f34[WIP] Predictive back support for routes (#141373)
  • f5b65baRemove deprecated `TextTheme` members (#139255)
  • aba1621Roll Flutter Engine from c602abdbae16 to 922c7b133bc2 (7 revisions) (#145877)
  • 859a5abRoll Flutter Engine from 922c7b133bc2 to b3516c4c5683 (1 revision) (#145879)
  • e63c503Reverts "Roll Flutter Engine from 922c7b133bc2 to b3516c4c5683 (1 revision) (#145879)" (#145900)
  • 1940955Reverts "Roll Flutter Engine from c602abdbae16 to 922c7b133bc2 (7 revisions) (#145877)" (#145901)
  • 66d1872Manual roll Flutter Engine from c602abdbae16 to 9df2d3a0778e (10 revisions) (#145903)
  • ee5e6faRoll Flutter Engine from 9df2d3a0778e to 7c9d5adb6ff8 (3 revisions) (#145909)
  • 42988d1Add `viewId` to `TextInputConfiguration` (#145708)
  • c311d42Roll Packages from e6b3e11d9d5a to 924c7e6e899d (5 revisions) (#145915)
  • 0bcd228Update `TabBar` and `TabBar.secondary` to use indicator height/color M3 tokens (#145753)
  • 67271f6Roll Flutter Engine from 7c9d5adb6ff8 to 043af350ae85 (2 revisions) (#145917)
  • 5ec5620Refactor skp_generator_tests (#145871)
  • aa9ac36Roll Flutter Engine from 043af350ae85 to f71e5ad8586b (1 revision) (#145919)
  • 89ea492Roll Flutter Engine from f71e5ad8586b to a396dc1a03a9 (3 revisions) (#145928)
  • 29babcb[flutter_releases] Flutter beta 3.22.0-0.0.pre Framework Cherrypicks (#146239)
  • 2007853[cp] update engine version (#146312)
  • fa0a4c0[CP-beta]Copy part files and sourcemaps when building with dart2js. (#146361)
  • bc38ac0[CP-beta] Increase the recommended Xcode version to Xcode 15 (#146440)
  • 40f3a79[CP-beta]Fix `getOffsetForCaret` crash (#146813)
  • 7d2151dUpgrade package:vm_service to 14.2.1 (#146896)
  • 27dfff1[CP-beta] Bump `package:unified_analytics` to `5.8.8+1` (#146948)
  • 312b9e8[flutter_releases] Flutter beta 3.22.0-0.2.pre Framework Cherrypicks (#147024)
  • 8e34fb0[CP-beta]Opt out users from GA3 if opted out of GA4 (#147060)
  • 87b6524[flutter_releases] Flutter beta 3.22.0-0.3.pre Framework Cherrypicks (#147274)
  • 5dcb86f[flutter_releases] Flutter stable 3.22.0 Framework Cherrypicks (#147950)
  • ec6611b[CP-stable]Fixes incorrect read/write permissions on Flutter.framework and FlutterMacOS.framework (#148717)
  • b76707a[flutter_releases] Flutter stable 3.22.1 Framework Cherrypicks (#148816)
  • a14f74f[CP] [devicelab] explicitly enable vulkan validation in test. (#147382) (#148863)
  • d8e72c6[CP-stable]Refactor route focus node creation (#149378)
  • 2ac7536[CP-stable]Enhance ColorScheme.fromSeed with a new `variant` parameter (#148916)
  • 071635b[CP-stable] Remove `TextEditingController` private member access (#149042) (#149208)
  • 95ad5b5[flutter_releases] Flutter stable 3.22.2 Framework Cherrypicks (#149752)
  • e3f15a5[CP-stable] Add frame number and widget location map service extension (#149345)
  • 761747b[CP] Fix TwoDimensionalViewport's keep alive child not always removed (when no longer should be kept alive) (#149639)
  • 855aab9[CP] Point kotlin message in `gradle_errors.dart` towards new place (#149881)
  • 37c6548[CP-stable][CLI tool] in `flutter test`, consider `--flavor` when validating the cached asset bundle (#150617)
  • 0054d43[CP] Fix Linux numpad shortcuts on web (#150723)
  • 3e81a1d[CP-stable][tool] make `ErrorHandlingFileSystem.deleteIfExists` catch error code 3 (`ERROR_PATH_NOT_FOUND` on Windows) (#150787)
  • 754bbba[CP-stable] Upgrade dependency on package:unified_analytics from 5.8.8+1 to 5.8.8+2 (#151046)
  • b0850be[flutter_releases] Flutter stable 3.22.3 Framework Cherrypicks (#151687)

Breaking Breaking change 4

BreakingHigh impact3.22.0 migration guide

Rename MaterialState to WidgetState

`MaterialState`, and its related APIs, have been moved out of the Material library and renamed to `WidgetState`.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.22.0 migration guide

Introduce new ColorScheme roles

New color roles in `ColorScheme` include seven tone-based surfaces and containers, and twelve accent colors for primary, secondary, and tertiary groups. This update deprecates three existing color roles: `background`, `onBackground`, and `surfaceVariant`. The `ColorScheme` constructed by the updated `ColorScheme.fromSeed` method now generates different values compared to the previous version, adapting to the Material Design 3 guidelines.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.22.0 migration guide

Nullable PageView.controller

If a controller isn't provided in the constructor, the `controller` member is `null`. This makes `PageView` and its `controller` property consistent with other widgets.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.22.0 migration guide

Rename MemoryAllocations to FlutterMemoryAllocations

Disposables in pure Dart projects can't use `MemoryAllocations` in Flutter. So, to be leak-trackable they need a Dart-only class. `MemoryAllocations` in Flutter is renamed to make the name available to a non-Flutter, Dart project.

Official migration guideVerified classificationFrameworkSource Details

Removed Removed 2

RemovedHigh impact3.22.0

Deprecated API removed after v3.19

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

Official migration guideVerified classificationFrameworkSource Details
RemovedHigh impact3.22.0android migration guide

Dropping support for Android KitKat

Flutter's minimum supported Android version is now Lollipop (API 21). Beginning with Flutter's 3.22 stable release, Flutter will no longer work on devices running Android KitKat (API 19).

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?