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.27.4 → 3.29.3Feb 5, 2025 → Apr 14, 2025 · 4 releases in range

Changes in range
40
Breaking / removed
4
5 with migration guides
Deprecations
2
plan before they are removed
Official evidence
40
6 official migration guide, 34 official changelog

What changed?

40 indexed changes across 4 versions: 3 breaking change, 1 removed, 2 deprecated api, 34 bug fix.

Will this affect my application?

4 high-impact items. Start with: ImageFilter.blur default tile mode automatic selection; Updated Material 3 Slider; Updated Material 3 progress indicators; ….

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.29 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.29.0
    Feb 12, 2025
    6 changes
  2. 3.29.1
    Mar 6, 2025
    18 changes
  3. 3.29.2
    Mar 14, 2025
    11 changes
  4. 3.29.3
    Apr 14, 2025
    5 changes
Verified source diff10000 commits · 300 files · +7759 / −4764GitHub 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 273other 16tooling 10changelog 1
Commits (250)
  • 65ff060Remove bringup: true from web tests. (#160788)
  • 62c6859Delete unused `engine_hash.dart` script (and test), simplify `engine_hash.sh`. (#160549)
  • 0ffc4ceRemove `--template=skeleton` and add a placeholder error message instead. (#160695)
  • 29d0435adding my name to authors (#160822)
  • 09a585bapply dart_style 3.0.1 (#160875)
  • 7a50802Add missing DEPS to runIf (#160913)
  • afc68e3gclient template file clarifications (#160882)
  • 8731c39[web] Make `FLUTTER_WEB_AUTO_DETECT` false by default (#160191)
  • cdce287Tweak language post-merge of #160695. (#160876)
  • b86154cClarify where `gclient` is run from. (#160889)
  • 36e0099Bump `flutter_template_images` to remove TODO. (#160917)
  • 840ef1cUpdate docs on `Color` to be more clear about normalized channel values. (#160798)
  • b15625cTurn deprecation message analyze tests back on (#160554)
  • 4cd0e33Implement golden-file matching for `integration_test` on Android and iOS devices (#160484)
  • 0197146Point to real Cocoon code in Tree-hygiene.md (#160914)
  • 9fd5bdd🐛 [tool] Installs the APK regardless of version (#160432)
  • ec66fe4Fix docImport issues (#160918)
  • 3762f2eRevert: "Move `integration_test` dependencies to non-`dev_dependencies`." (#160980)
  • 0b074a5Bump peter-evans/create-pull-request from 7.0.5 to 7.0.6 in the all-github-actions group (#161001)
  • d9b7e56Manual pub bump (#160985)
  • 27ba2f2[native assets] Roll dependencies (#160672)
  • dbf9e32Bump characters, collection, meta (#161066)
  • 2d17299Use the in-tree engine by default when using `--local-engine` or `--local-web-sdk` (#161110)
  • a6c057c[native_assets] Filter hook environment (#161084)
  • 0c3359dOmit hardcoded `--packages=.dart_tool/package_config.json`. (#160982)
  • 6d729b6rev to the latest dart-lang/http and remove older http_multi_server refs (#161067)
  • 351f274Add `SurfaceProducer.onSurfaceCleanup`, deprecate `onSurfaceDestroyed`. (#160937)
  • 5aa179eRemove the word normalized, remove minimum/maximum. (#161106)
  • dff62dcRoll Packages from eb7358231e43 to 07ae98c5aff9 (29 revisions) (#161174)
  • f00de04update repo to be forward compatible with shelf_web_socket v3.0 (#161101)
  • a9b3f6cUpdate `flutter_template_images` to `5.0.0`. (#161105)
  • ffc7ced[Impeller] protect onscreen cmd buffer with render ready semaphore. (#161140)
  • fbb7807Update Create Pull Request GitHub workflow reviewers (#161005)
  • 938dcdaMark firebase_release_smoke_test unflaky (#161006)
  • 8d60e7eUpdate GitHub URL for failing android_semantics_integration_test bringup (#160993)
  • 18163e3Mark flavors_test_macos unflaky (#160990)
  • 5a23a2aRemove now-unnecessary command `felt analyze`. (#160986)
  • 7141c2aUpdate golden canary (#161183)
  • 4f35112Updated eglConfigChoose error message and error clause. (#161178)
  • 16b9fe0`TestCompiler` emits why an error occurred, if applicable, and some refactors to do so (#160984)
  • 434ca75[Impeller] dont generate final 1x1 mip level to work around Adreno GPU bug (#161192)
  • bb805faRename `shellPath` to `flutterTesterBinPath`. (#161189)
  • 95c1bc1[Engine] Make `SkiaGoldClient` a NOP when the branch is not `main` or `master`. (#161187)
  • cda3515Use `flutter` repo for engine golds instead of `flutter-engine`. (#160556)
  • b552906Set java 11 as expected java version in all templates (#160349)
  • e66e04fRemove `verbose: true` from `canvas_test.dart`. (#161211)
  • bb4628eScale any clip path by 1 / DPR. (#161190)
  • e30bf85use uuid from package:uuid instead of from package:usage (#161102)
  • ff27e4aMark analyzer_benchmark unflaky (#160991)
  • b71247dMigrate engine labeler to top level (#161212)
  • 0cc5908Mark platform_channel_sample_test_macos unflaky (#160989)
  • e7e5b1cUpdate PopInvokedCallback Deprecated message (#160324)
  • 481950dImprove Plugins That Reference V1 Embedding Error Message (#160890)
  • f3d2204[Android] Add `.cxx` directories to app template `.gitignore` (#161069)
  • 986fd14Fold `_FlutterTestRunnerImpl` into `FlutterTestRunner`. (#161188)
  • fc261a1Fix broken link to Hot Reload gif in README (#161113)
  • e3b301fStamp golden files to verify engine Skia Gold is WAI. (#161240)
  • 8273197[Impeller] Update README on preview status on Android. (#161253)
  • e7a1b68[SwiftPM] Add separate feature flag for the app migration (#158897)
  • 4a4eb2aRoll Packages from 07ae98c5aff9 to 3fc6b7ace3ff (3 revisions) (#161244)
  • f6b9f93Extract analyze test expectations from test fixture (#161108)
  • 13ae4cdMove validation logic for `.ci.yaml` to `flutter/flutter`. (#161249)
  • 9467677Change timing of `onSurfaceDestroyed` to match `onSurfaceCleanup` (#161252)
  • 94c4d05Allow async platform responses in FlMockBinaryMessenger (#160636)
  • ad5e1fe[deps] remove references to archived repos (#161248)
  • a3a4995[Impeller] disable runtime mipmap generation on Adreno. (#161257)
  • 4b23b81Remove support for imperative apply of Flutter Gradle Plugin (#160947)
  • 322f7afClear selection state when exiting select mode (#161267)
  • f3633a9Marks Mac_benchmark flutter_gallery_macos__compile to be flaky (#160496)
  • 5f2bf18[Impeller] disable input attachment / self dependency on Adreno 630 and older. (#161274)
  • b5df290[Impeller] porter duff workarounds for Adreno GPU. (#161273)
  • 2b51318Revert "use uuid from package:uuid instead of from package:usage" (#161292)
  • 9d7f6ccRevert "fixed keyboardDismissBehavior on scroll without a drag" (#161277)
  • 7b8c5d8Reverts "[Impeller] porter duff workarounds for Adreno GPU. (#161273)" (#161318)
  • 603484fMarks Linux linux_desktop_impeller to be unflaky (#161302)
  • 8cc303eAdds onHover and onLongPress to IconButton widget (#160032)
  • f9a3747Updating AVD Dependency for Android 28 Emulator (#160978)
  • 04a60d6[Impeller] reland: fix porterduff shader and handle optimized out texture binding in GLES backend. (#161326)
  • 132e298Rename `native_driver` to `android_{driver_extensions|engine_test}` (#161263)
  • 1e9202eNormalize the translation column of the color matrix. (#161109)
  • 46341c6Make the encoding of a `YamlNode` to a `String` more explicit. (#161270)
  • d8c4fc0[SwiftPM] Turn on by default (#161275)
  • 0c25fa4[Impeller] re-enable Adreno 630 (#161287)
  • d9342aeUpdate engine instructions for monorepo (#161184)
  • 05899f8Reverts "[SwiftPM] Turn on by default (#161275)" (#161339)
  • 41a8939git ignore .ccls-cache (#161340)
  • 593b40dRevert "[SwiftPM] Add separate feature flag for the app migration (#158897)" (#161342)
  • a1b5917[flutter_tools] ignore viewpost ime and samsung spam messages. (#161199)
  • 67f24beRefactor keyboard manager tests (#160637)
  • 8607659remove formatter from snippet tool (#161347)
  • 5f77df9Roll Dart to Version 3.7.0-307.0.dev (#161278)
  • 6bda88b[Impeller] add opt in flag for SurfaceControl testing. (#161353)
  • e0b424bExclude `*texture*` as matching for `a: text input` (#161354)
  • 3d433ad`ImplicitlyAnimatedWidgetState` code cleanup (#160567)
  • f2e59e7Proposal to deprecate `webGoldenComparator`. (#161196)
  • fe73879Remove seemingly stale web Cirrus and "Web Installer" instructions (#161389)
  • a38abc8Support DDC library bundle format and remove support for DDC module format (#161276)
  • 96dffbe[Impeller] fix scaling of trampoline import of GLES textures into Vulkan. (#161331)
  • ebdda42Marks Linux analyzer_benchmark to be flaky (#161307)
  • da63431Roll Dart to Version 3.7.0-312.0.dev (#161394)
  • a336069Remove `accept_android_sdk_licenses.sh`, which appears unused. (#161388)
  • 900eab1remove`useMaterial3: true,` in from the template (#160525)
  • 59f630bRemove Cirrus CI from Flutter goldens. (#161396)
  • 34081dcAdd `mouseCursor` parameter to `ReorderableListView` (#160246)
  • 14c2c83Roll Packages from 3fc6b7ace3ff to 65547511c004 (11 revisions) (#161379)
  • 3fbabb8Fix link to engine docs in CONTRIBUTING.md (#161401)
  • afc90efintegration_test: Add gitignore of golden image (#161404)
  • daa4467Update Style-guide-for-Flutter-repo.md (#161344)
  • 4efb64bWe no longer have a separate engine repo. (#161400)
  • 9bed9d7Replace the always omitted `CPU` environment variable with `numberOfProcessors`. (#161392)
  • 99fe90aRemove `CIRRUS_TASK_NAME` from what I can tell, is always omitted on `LUCI` (#161391)
  • 89b3361Add a virtual-display (VD) platform view test, and refactor tests a bit. (#161349)
  • c4635e5Mark hot_mode_dev_cycle_macos_target__benchmark unflaky (#161000)
  • 6437b9bMark integration_ui_test_test_macos unflaky (#160999)
  • b9159ddMark animated_complex_opacity_perf_macos__e2e_summary unflaky (#160996)
  • 0624b56Mark hello_world_macos__compile unflaky (#160998)
  • 864d4f5Mark complex_layout_scroll_perf_macos__timeline_summary unflaky (#160997)
  • ee4d46dFixForward: method was renamed (#161431)
  • 771b8a4🔊 [tool] Add a wirelessly connected device name as `displayName` (#160497)
  • 9e211caUpdate `TextEditingController.text` documentation to recommend against using it in production code (#157769)
  • 50f7120CupertinoSheetRoute (#157568)
  • 6b8b579add semantics role and tab (#161260)
  • 00b6a4eRemove some miscellaneous references to Cirrus. (#161390)
  • bd1ebf2[android_engine_test] Remove background/foreground from surface texture trampoline test. (#161441)
  • d14140fProvide monitor information. (#161359)
  • 1c147a2Deprecate unused `ButtonStyleButton.iconAlignment` property (#160023)
  • cef35e7Update error message for when leading/trailing width exceeds `ListTile` width and add missing test (#161091)
  • 72db8f6Roll Packages from 65547511c004 to 3c3bc6832b39 (16 revisions) (#161515)
  • ee8aab7[Impeller] remove API 30 restriction for SurfaceControl testing. (#161438)
  • 6e8d807Convert base application name handling to kotlin source (start of FGP kt conversion) (#155963)
  • 449079dPropagate environment variables when `flutter drive` is invoked. (#161452)
  • 27f8bb9Udpate documentation on the third_party directories (#161407)
  • 5bd65c4Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (#160241)
  • 8856ccbContext menu button callback docs clarification (#161451)
  • d80be47Migrate DisplayList unit tests to DL/Impeller geometry classes (#161453)
  • 432843a[Impeller] Update guidance on prebuilt artifacts. (#161251)
  • 607c79cRemove `WEB_SHARD_COUNT`, which no longer exists post-Cirrus. (#161527)
  • 01fc232Fixed repeated strings for incompatible Gradle or AGP version in `create` command (#161223)
  • 5f06c09Explain more specifically how to use `flutter drive`/what it does (#161450)
  • b3e6535Add validator execution times to `flutter doctor --verbose` (#158124)
  • b95721cReverts "Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (#160241)" (#161555)
  • 0009cc3Mark `Mac_mokey microbenchmarks` as flakey (#161550)
  • 1d79946Remove last two references to Cirrus CI. (#161530)
  • 1d38029Copy `linux_host_engine` as `linux_host_engine_test`, removing `archives: [...]`. (#161532)
  • 067afb7Add route settings to CupertinoSheetRoute (#161528)
  • 0d906f5[web:a11y] treat empty tappables as buttons (#161360)
  • 366ed7fFix paths when running clang-tidy on git diffs (#161496)
  • d102e11Remove references to `cirrus`, mostly in doc comments. (#161529)
  • fe598e7Move the analyzer_benchmark to Mac arm64 devicelab bots (#161405)
  • 1b0441cAutocomplete Options Width (#143249)
  • 9cab4ffUse wildcards (#161548)
  • 3f98111Roll Dart to Version 3.7.0-323.0.dev (#161567)
  • c16b9c5[Web] Allow specifying the strategy on when to use <img> element to display images (#159917)
  • e23c312Update InputDecoration.border documentation (#161415)
  • f2c15f9Fix crash when closing a window with `Alt+F4` in multi-win Flutter on Windows (#161375)
  • c9923caRemove unused method (#161572)
  • ed9f920Roll Packages from 3c3bc6832b39 to d1fd6232ec33 (4 revisions) (#161597)
  • 836fd6eReplace `fetch `with `gclient sync`. (#161565)
  • e683e10Added special case for fat width arcs (#161255)
  • 8815d0aFix `showLicensePage` does not inherit ambient `Theme` (#161599)
  • 40c2b86update changelog for 3.27.2 release (#161569)
  • 0369b35Update package revisions to latest (#161525)
  • 818133b[Android] Actually remove dev dependencies from release builds (#161343)
  • 19a212bCheck that localization files of stocks app are up-to-date (#161608)
  • 3da003cLast Engine<>Framework lint sync (#161560)
  • 80942d5[Impeller] fixes for AHB swapchains. (#161562)
  • e5b1ab0[canvaskit] Fix GIF decode failure (#161536)
  • fa04f4a[SwiftPM] Make 'flutter build ios-framework' generate an empty Package.swift (#161464)
  • 1b7cd83[Engine] Support asymmetrical rounded superellipses (#161409)
  • bce2e22[DisplayList] remove obsolete use of Skia goemetry objects in DL utils (#161553)
  • b53181a[deps] remove no-longer-used repo deps (#161605)
  • b318990Remove `gradle_deprecated_settings` test app, and remove reference from lockfile exclusion yaml (#161622)
  • a328b36Clean up engine's analysis_options.yaml (#161554)
  • d832220Fixed XiaoMi statusBar Bug (#161271)
  • e0d7b58Feature/twitter keyboard (#161025)
  • b515f82[Impeller] null check device buffer in image encoding. (#161194)
  • e517ae3Refactor `android_engine_test`, make it easier to debug/deflake locally. (#161534)
  • 97acba4Roll pub packages (#161632)
  • fd1c02dExclude the top-level `engine` directory from `generate_gradle_lockfiles`. (#161635)
  • 14d4abbRoll pub packages (#161643)
  • 2b34d78Fix `TabBar` glitchy elastic `Tab` animation (#161514)
  • 1e79b65Manual roll of Skia to e7b8d078851f (#161609)
  • 44ff2f5Fix DropdownMenu isCollapsed decoration does not Reduce height (#161427)
  • 1580a3dRoll Packages from d1fd6232ec33 to f73cb00e127b (2 revisions) (#161672)
  • a10e25e[DisplayList] Migrate from SkRSXform to Impeller RSTransform (#161652)
  • fd2b563Update two_dimensional_scrollables triage routing (#161667)
  • 010c8a8Revert "Autocomplete Options Width" (#161666)
  • 53c27e5Update dart revision for beta release 3.29 (#162127)
  • 4545970Check in engine.version (#162264)
  • 2c6c4dd[CP][Impeller] check both linear sampling props for AHBs. (#162043) (#162187)
  • 920ce84[CP][impeller] prevent PowerVR from using Vulkan backend. (#161841) (#162188)
  • e77a96d[CP][Impeller] adjust coverage origin when rounding out SaveLayer bounds (#161838) (#162189)
  • 670206c[CP][Impeller] remove Adreno denylist entries. (#161740) (#162191)
  • 5ab0df4[CP][Impeller] when mips are disabled, also disable from sampler options (#161765) (#162193)
  • 3262042[CP][Impellerc] correctly pad arrays of vec3s in reflector. (#161697) (#162190)
  • d1e425d[CP][Impeller] Update partial repaint to use a fullsize onscreen. (#161626) (#162194)
  • 593a51f[CP][Impeller] when a command pool has many unused buffers, reset with release resources flag. (#162207)
  • 6440935[CP][Impeller] Skip clip entity replay that cannot impact current clip. (#162113) (#162195)
  • 3d63c783.29 engine bump and dart rev (#162471)
  • 5000ea8[Impeller] Avoid NaN values when setting up for the fast squircle blu… (#162485)
  • c21336e3.29 beta engine version bump (#162520)
  • 1d03bf2[CP][Impeller] Disable Vulkan on Emulators. (#162454) (#162536)
  • b29799c[CP][Impeller] Increase conical gradient precision. (#162543) (#162619)
  • 8a61a07[CP][Beta] Unblock drag gestures in CupertinoSheetRoute content (#162629)
  • bd28ab6[beta] Show error on macOS if missing Local Network permissions (#162119)
  • f73bfc4[flutter_releases] Flutter stable 3.29.0 Framework Cherrypicks (#162899)
  • 35c388aUpdate engine.version for 3.29.0 release (#163003)
  • 81e3a42[CP] Disable Vulkan on known bad Xclipse GPU drivrs (#163616)
  • 652d388[CP-stable]Run Mac_arm64 framework_tests_misc on Mac-14 with Xcode 16 (#163316)
  • 383d56e[CP][Impeller] Fix crash when using BackdropFilters in certain GLES drivers. (#163581)
  • 33859b0[CP-stable] Support CupertinoSliverNavigationBar.search with condensed large title (#162912)
  • d73fc34[CP] all jittery glyph fixes (#163058)
  • 9bc7df0[CP-stable]Fix buttons with icons ignore provided `foregroundColor` (#163201)
  • de3ca3d[CP][iOS] always post new task during gesture dispatch. (#163666)
  • 703ef37[CP][Impeller] disable Vulkan on known bad exynos SoCs. (#163236) (#163265)
  • 7253c79[CP][Impeller] Fix text glitch when returning to foreground. (#163754)
  • 7d0f4d9[CP][Stable] Check for tracked engine.version before overriding (#163741)
  • f662dd5[CP-stable]fix reorderable_list_test.dart (#164050)
  • 836b6fd[CP] Fixes for Impeller DrawVertices issues involving snapshots with empty sizes (#163261)
  • a8a9ded[CP][Impeller] ensure that OpenGL "flipped" textures do not leak via texture readback. (#163501) (#163667)
  • ccf215b[CP] Roll .ci.yaml changes into the LUCI configuration only when the master branch is updated (#164155)
  • 10998cd[CP-stable][Reland] Fix `Tab` linear and elastic animation blink (#162315) (#163830)
  • 22cc257[CP-stable]Reenable linux_web_engine mac tests on Mac-14 (#164119)
  • ea7fb0a[CP-stable][web] robustify safaridriver launch sequence (#164191)
  • dd73bfa[CP-stable]Intercept error when iOS 18.4 crashes with JIT mode and give guided error (#164193)
  • 871f65a[Release] Create release-candidate-branch.version (#162383)
  • 09de023[stable] Cherry pick changelog update (#164143)
  • bfcf486[stable] Cherry-pick change to CanvasKit build flags to fix double download (#164341)
  • 9ae7906[CP][Impeller] Move AHB check into Flutter main, don't disable ImageReader on 29. (#164496)
  • 1baad11[CP][Stable] Fix race condition causing crash when interacting with an animating scrollable (#164708)
  • bd5f992[CP][Impeller] handle failure of allocation of surface for toImage/toImageSync (#164938)
  • 2cee248[CP-stable] Add empty io.flutter.app.FlutterApplication to give deprecation notice, and un-break projects that have not migrated (#164730)
  • fbf3485[stable] Cherrypick fix for stretched embedded app on mobile (#164406)
  • 9999151[CP][iOS] increase max concurrent background tasks to 64. (#164506)
  • 1745181[flutter_releases] Flutter stable 3.29.0 Framework Cherrypicks (#165057)
  • 70bd597[CP] Change fallback behavior for devices pre API 29 to Skia regardless of Impeller state. (#165090)
  • 31b3a7d[stable] Fixes rendering text rotated 180 degrees (#165080)
  • b37d0b7[CP] fix missing glyph error. (#165055)
  • 135f1a5Add Remaining Changelog entries for 3.29.2 (#165101)
  • 18b71d6[CP] Disable Vulkan on MediaTek SoC. (#164495)
  • c236373[flutter_releases] Flutter stable 3.29.0 engine version change (#165139)
  • 3548963Cherry pick to fix linux tests (#166021)
  • e272b5c[stable] Removes assumption that basis scalar and rounded_scalar match (#165428)
  • 915efb1Unbreak presubmit for stable (#166594)
  • 1248314[stable] fix validation check when restoring to onscreen with BDF and mips. (#165430)
  • 00a5e71[stable] Update tests to use Xcode 16.2 and iOS 18.2 Simulator (#166789)
  • 6806f6b[CP-stable][Gen-l10n] Infer placeholder types on both templates and localizations (#166337)
  • dd7ad71[CP-Stable] Unset GIT_DIR and other variables before updating (#166772)
  • cf56914[CP-stable][ Hot Restart ] Fix possible hang due to unhandled exception in UI isolates on hot restart (#166064)
  • ea121f8[flutter_releases] Pin engine version for 3.29.3 stable (#166936)

Breaking Breaking change 3

BreakingHigh impact3.29.0 migration guide

ImageFilter.blur default tile mode automatic selection

The `ui.ImageFilter.blur`'s default tile mode is now automatically selected by the backend. Previously `TileMode.clamp` was used unless a different tile mode was specified. Now, the default is `null` and specifies automatic selection unless a specific tile mode is specified.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.29.0 migration guide

Updated Material 3 Slider

The `Slider` has been updated to match the Material 3 Design specifications.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact3.29.0 migration guide

Updated Material 3 progress indicators

The `LinearProgressIndicator` and `CircularProgressIndicator` have been updated to match the Material 3 Design specifications.

Official migration guideVerified classificationFrameworkSource Details

Removed Removed 1

RemovedHigh impact3.29.0android

Removal of v1 Android embedding Java APIs

Android's v1 embedding has been removed in Flutter 3.29.0. This follows the deprecation described in Android v1 embedding app and plugin creation deprecation. The following is a full list of classes removed.

Official migration guideVerified classificationFrameworkSource Details

Deprecated Deprecated API 2

DeprecatedMedium impact3.29.0web migration guide

Deprecate WebGoldenComparator

The `flutter_test` package and `flutter` tool will no longer use the `webGoldenComparator` top-level variable, and instead use the original `goldenFileComparator` top-level variable (like the non-web platforms).

Official migration guideVerified classificationFrameworkSource Details

Bug fix Bug fix 34

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?