Google`s UI toolkit for crafting beautiful, natively compiled applications!

Flutter for Mac

Flutter for Mac

  -  1.9 GB  -  Open Source
  • Latest Version

    Flutter 3.38.0 LATEST

  • Review by

    Daniel Leblanc

  • Operating System

    macOS 10.12 Sierra or later

  • User Rating

    Click to vote
  • Author / Product

    Google / External Link

  • Filename

    flutter_macos_3.38.0-stable.zip

Flutter for Mac is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. Install the Flutter app for macOS today! It’s free and open source.

Paint your app to life in milliseconds with Stateful Hot Reload. Use a rich set of fully customizable widgets to build native interfaces in minutes.

Quickly ship features with a focus on native end-user experiences. The layered architecture allows for full customization, which results in incredibly fast rendering and expressive and flexible designs.



Flutter’s widgets incorporate all critical platform differences such as scrolling, navigation, icons, and fonts, and your Flutter code is compiled to native ARM machine code using Dart's native compilers. Thus Flutter Desktop gives you full native performance on both iOS and Android.

Flutter's hot reload helps you quickly and easily experiment, build UIs, add features, and fix bugs faster. Experience sub-second reload times, without losing state, on emulators, simulators, and hardware for iOS and Android.

Delight your users with Flutter's built-in beautiful Material Design and Cupertino (iOS-flavor) widgets, rich motion APIs, smooth natural scrolling, and platform awareness.

Flutter’s widgets incorporate all critical platform differences such as scrolling, navigation, icons, and fonts to provide full native performance on both iOS and Android.

How to Use
  • Extract the ZIP file to desired location
  • Add Flutter to your system PATH
  • Run flutter doctor in Terminal
  • Install Xcode from Mac App Store
  • Enable Xcode command line tools
  • Install CocoaPods for iOS builds
  • Create a new Flutter project with flutter create
  • Use VS Code or Android Studio for development
  • Run your app using flutter run in Terminal
System Requirements

macOS 12 (Monterey) or later

Apple Silicon or Intel processor

Xcode 14 or newer

CocoaPods (for iOS development)

At least 4 GB RAM (8 GB recommended)

Disk space: 2.8 GB (excluding IDE/tools)

PROS
  • Fast development with hot reload
  • Single codebase for all platforms
  • Strong community and plugins
  • Rich UI components
  • Backed by Google and open source
CONS
  • Larger app size than native
  • Limited macOS support features
  • Requires frequent updates
  • Slow compile time for iOS
  • Learning curve for Dart language
Also Available: Download Flutter for Windows

Why is this app published on FileHorse? (More info)

What's new in this version:

Changed:
Framework:
- Add dartpad example to RoundedSuperellipseBorder
- [web] Remove all usages of js_util
- Properly lay out and position RenderWebImage
- Add a getter to get the recorder used by painting context
- add debugPaintTextLayoutBoxes for debugging text layout
- Platform views shouldn't receive pointer events when not laid out
- TestTextInput should reset its key handler between tests
- Recommend using Flutter feature flags over platform-specific configs
- WebParagraph initial commit
- Add CLA note to tree hygiene
- Feat: Add momentary varient of CupertinoSlidingSegmentedControl
- Add hitTestChildren to baseline-aligned stack
- Bump meta to 0.17.0
- Improve assertion message in AlignmentDirectional.resolve
- Fix: Ensure Text widget locale is included in semantics language tag
- Roll pub packages
- Migrate to null aware elements - Part 1
- Add missing deprecations to CupertinoDynamicColor.
- Improve assertion message in _MixedBorderRadius.resolve()
- Remove deprecated AssetManifest.json file
- fix(scrollbar): Update padding type to EdgeInsetsGeometry
- Reland - Manual roll of Dart from 5ede85aff798 to 14ea8d342149
- Migrate to null aware elements - Part 2
- docs: Clarify Transform.rotate origin interaction with alignment
- [ Widget Previews ] Add support for MultiPreviews
- Migrate to null aware elements - Part 4
- fix: adjust scrollable size assertion with tolerance
- Add a SliverList code sample
- [web] Text editing test accepts both behaviors in Firefox
- Improve assertion message in EdgeInsetsDirectional.resolve
- Fix the issue where calling showOnScreen on a sliver after a pinned child in SliverMainAxisGroup does not reveal it.
- [engine] Null aware elements clean-ups
- fix: :bug: Add equality and hashCode implementations to ResizeImage
- Make sure that a RawAutocomplete doesn't crash in 0x0 environment
- Reformat text.dart's code snippets
- Add the 'windowing' feature flag and use to wrap an implementation for regular windows that always throws
- Suppress deprecated iOS windows API in integration_test
- [ Widget Preview ] Cleanup for experimental release
- Add radius clamping to web RSuperellipse
- Fix ReorderableList proxy animation for partial drag-back
- Remove jetifier usages from framework and engine
- Fix the issue of over-scrolling in SliverMainAxisGroup with a PinnedHeaderSliver.
- Roll Clang to 8c7a2ce01a77c96028fe2c8566f65c45ad9408d3
- Fix directional focus in nested scrollables with different axis
- Null aware elements clean-ups
- feat: Cupertino sheet implement upward stretch on full sheet
- [VPAT][A11y] Announce Autocomplete search results status
- Implements the Android native stretch effect as a fragment shader (Impeller-only).
- Reverts "Implements the Android native stretch effect as a fragment shader (Impeller-only). (#169293)"
- [a11y] : set isFocused will update isFocusable to true
- Improve SweepGradient angle and TileMode documentation
- Reapply "Add set semantics enabled API and wire iOS a11y bridge (#161…
- Improve Stack widget error message for bounded constraints
- Update CupertinoSliverNavigationBar.middle
- Reverts "Reapply "Add set semantics enabled API and wire iOS a11y bridge (#161… (#171198)"
- Refactor text and runtime effect to separate skia and impeller implementations.
- [skwasm] Port to DisplayList objects
- NavigatorPopScope examples no longer use deprecated onPop.
- [web] Refactor LayerScene out of CanvasKit
- [web] Migrate non-CanvasKit-specific tests to ui/
- Make SystemUiOverlayStyle to be diagnosticable
- [iOS][Secure Paste] Custom edit menu actions
- fix typo in test_profile/README.md
- Fix SliverMainAxisGroup and SliverCrossAxisGroup gestures' local positions.
- Flutter driver deserialization
- Retry "Implements the Android native stretch effect as a fragment shader (Impeller-only)."
- [WebParagraph] More plumbing towards making it usable in Flutter apps
- [a11y] [test] containsSemantics can ignore SemanticsValidationResult
- [impeller] Support partitioned host buffer
- Implement Overlay.of with inherited widget
- [flutter_test] update the _isImportantForAccessibility method in SemanticsController to include tooltip
- Reapply "Add set semantics enabled API and wire iOS a11y bridge"
- Add SliverGrid.list convenience constructor
- Fix typo in widget_inspector.dart
- Include SemanticsValidationResult in debugDumpSemanticsTree
- Fix: Assertion failure in RawScrollbarState with dynamic controller assignment
- Ensures initial semantics state is sent to engine
- Considers large title height in CupertinoNavigationBar's preferred size
- Correct intrinsics calculation for CupertinoTextField with placeholder
- Allow OverlayPortal.overlayChildLayoutBuilder to choose root Overlay
- [ Widget Preview] Add group property to Preview
- Fix: Use route navigator for CupertinoSheetRoute pop
- fix(Semantics): Ensure semantics properties take priority over button's
- Fix SliverMainAxisGroup scrollOffsetCorrection
- Depend on operator overload synthesis for three-way and equality comparisons.
- Nav bar static components respect ambient MediaQueryData
- Adjust default CupertinoCheckbox size on desktop
- Update transformHitTests documentation for clarity
- Add semanticIndexOffset argument to SliverList.builder, SliverGrid.builder, and SliverFixedExtentList.builder
- chore: move engine docs out of engine/ and into docs/
- CupertinoContextMenu child respects available screen width
- [a11y-app] Fix form field label and error message
- Engine Support for Dynamic View Resizing
- [web] Unskip Cupertino datepicker golden tests in Skwasm
- Add CupertinoLinearActivityIndicator
- Fix RadioGroup single selection check.
- Fix: Update docs tool tag to sample in ImageProvider
- [ Widget Preview ] Allow for custom Preview annotations, add support for runtime transformations
- [web] Cleanup opportunities post renderer unification
- Load fonts in the order addFont is called
- Fix outdated link of intl package to point to the correct new location
- Add non uniform TableBorder
- fix: remove final class modifier on MenuController
- Add an assertion for the relationship between Visibility.maintainState and Visibility.maintainFocusability
- fix: cupertino sheet broken example with programatic pop
- Fix SliverMainAxisGroup SliverEnsureSemantics support
- Cleans up navigator pop and remove logic
- Fix docs in EditableText
- Make sure that a CupertinoDesktopTextSelectionToolbarButton doesn't c…
- Implement Regular Windows for the win32 framework + add an example application for regular windows
- [a11y] Add expanded flag support to Android.
- Migrate tests and documentation to set java version to 17
- Migrate java 11 usage to java 17 usage for templates
- Update flutter test to use SemanticsFlags
- Implement framework interface for the dialog window archetype
- Web semantics: Fix email field selection/cursor by using type="text" + inputmode="email"
- replace onPop usage with onPopWithResult in navigation_bar.2.dart
- Adds dart ui API for setting application level locale
- Update description in _LastFinderMixin to properly describe finding last
- Fix: Update anchorRect for overlayBuilder when anchor moves
- Fix typo in pages.dart
- Selecting an implementation widget with the on-device inspector opens the code location for the nearest project widget

Material:
- No SystemContextMenu when readOnly is true
- Fix mutating Paint bug
- feat: Add maxCount parameter to Badge.count constructor.
- Adopt Null-Aware Elements in packages/flutter/lib/src/material
- Add optional splashColor property to ExpansionTile
- Add radioInnerRadius to RadioListTile
- feat(IconButton): add property to specify a states controller
- Fix PopupMenuButton crashes when being hidden immediately
- [Web][a11y] Update selected chips semantics
- fix: TabBar fontFamily inheritance with custom label styles
- Add automaticallyImplyActions property to AppBar
- Make sure that an AboutDialog doesn't crash in 0x0 environment
- Make sure that an ActionChip doesn't crash in 0x0 environment
- Make sure that a Card doesn't crash in 0x0 environment
- Make sure that a MaterialBanner doesn't crash in 0x0 environment
- Handle#6537 bottom navigation bar
- Make sure that a BottomAppBar doesn't crash in 0x0 environment
- Remove shortner
- Fix SegmentedButton border doesn't reflect states
- [a11y] add RangeSlider to a11y test app as additional use-case
- Migrate to null aware elements - Part 5
- feat: Add cursorHeight to DropdownMenu
- [A11y] RangeSlider should have 2 focus node
- Add side to RadioThemeData
- Add innerRadius to RadioThemeData
- Make sure that a LicensePage doesn't crash in 0x0 environment
- Migrate to list and builder Sliver convenience constructors
- Make sure that an AboutListTile doesn't crash in 0x0 environment
- Fix Slider dragged mouse cursor visibility.
- Fix drawerScrimColor transition.
- Fix ScaffoldGeometry null scale with noAnimation FAB
- [A11y] TextField prefix icon and suffix icon create a sibling node'
- [a11y] Textfield has flag isFocusable set to true
- Fix tooltip crash when route has secondary animation
- Make sure that a RawChip doesn't crash in 0x0 environment
- Make sure that a Checkbox doesn't crash in 0x0 environment
- Update ExpansibleController in ExpansionTile didUpdateWidget
- Fix visual overlap of transparent routes barrier when using FadeForwardsPageTransitionsBuilder
- Fix ChipThemeData lerp for BorderSide
- Make sure that a Chip doesn't crash in 0x0 environment
- fix: selected date decorator renders outside PageView in DatePickerDialog dialog
- Make sure that a ChoiceChip doesn't crash in 0x0 environment
- Allow empty initial time when using text input mode in showTimePicker dialog
- Fix default minimumSize in dropdownMenu when maximumSize is null
- Fix InputDecorator label padding
- [Range slider] Tap on active range, the thumb closest to the mouse cursor should move to the cursor position.
- Add error handling for Element lifecycle user callbacks
- feat: add onLongPressUp callback to InkWell widget
- Predictive back route transitions by default
- Make sure that a DatePickerDialog doesn't crash in 0x0 environment
- Make sure that a TableRowInkWell doesn't crash in 0x0 environment
- Make sure that DataTable, DataColumn, DataRow, and DataCell don't crash in 0x0 environment
- Reverts "Predictive back route transitions by default (#165832)"
- Add onHover callback support for TableRowInkWell
- Reland predictive back route transitions by default
- Enhance FilledButton and Theme Data's documentation to clarify platform-specific visual density behavior
- [VPAT][A11y] AutoComplete dropdown option is missing button role
- Add Shift+Enter shortcut example for TextField.
- Update the AccessibilityPlugin::Announce method to account for the view
- [VPAT][A11y] NavigationRail correct traversal order
- Fix SegmentedButton focus issue
- Fix time picker period selector a11y touch targets
- Fix Menu anchor reduce padding on web and desktop
- Make component theme data defaults use WidgetStateProperty
- feat: Added FocusNode prop for DropdownMenu Trailing Icon Button
- Make sure that a BackButton doesn't crash in 0x0 environment
- Make sure that a CircleAvatar doesn't crash in 0x0 environment
- Make sure that CalendarDatePicker & YearPicker don't crash in 0x0 environment
- Make sure that a Badge doesn't crash in 0x0 environment
- Fix onSelect called twice in DropdownMenuFormField
- Migrate some files to use WidgetStateProperty
- Make sure that an Autocomplete doesn't crash in 0x0 environment
- Revert "Update the AccessibilityPlugin::Announce method to account fo…
- Migrate more files to use WidgetStateProperty
- Migrate more files to WidgetStateProperty
- Update some semantics flags updated to use enum (engine, framework, web)
- Fix logic statements in year2023 documentation
- Migrate to use WidgetStateProperty
- Fix: Active step fully colored in vertical mode
- SnackBar with action no longer auto-dismiss
- Migrate examples and defaults to WidgetState
- Drawer barrier non dismissible with the escape key
- Make sure that an AlertDialog doesn't crash in 0x0 environment
- Adds semantics for disabled buttons in date picker
- Fix empty adaptive text selection toolbars building.
- Make sure that a Dialog doesn't crash in 0x0 environment
- Handle#6537 date picker dialog
- Migrate some files to use WidgetState
- Fix LinearProgressIndicator track painting.
- [A11y] Add semantics for CupertinoExpansionTile
- Make sure that a DropdownMenuFormField doesn't crash in 0x0 environment
- Fix expanded DropdownMenu panel is shorter than text field
- Fix table cell semantics rect alignment issues.
- Fix IconButton.color overrided by IconButtomTheme
- Fix DropdownMenuFormField does not clear text field content on reset …
- Migrate to widget state
- Document Form.onChange precedence over DropdownButtonFormField.onChange
- Show cursor after swipe only if TextField has focus
- Migrate to widget state
- Fix default overlay color in TabBar
- Allow Passing an AnimationController to CircularProgressIndicator and LinearProgressIndicator
- Refactor: Migrate page transition builder class to widgets
- fix: ColorScheme will removeListener on imageStream twice if there is error loading the image.
- Correct documentation in PredictiveBackFullscreenPageTransitionsBuilder
- feat: Enable WidgetStateColor to be used in ChipThemeData.deleteIconColor
- Migrate to WidgetState
- Migrate to WidgetPropertyResolver
- Fix InputDecoration does not apply errorStyle to error
- Make sure that a CloseButton doesn't crash in 0x0 environment
- [a11y] TimePicker clock is unnecessarily announced
- Add menuController to DropdownMenu
- Correctly implement PlatformViews' cursors on Web
- Document how to hide counter in TextField.maxLength
- Make sure that a VerticalDivider doesn't crash at 0x0 environment
- Make sure that Drawer & DrawerHeader don't crash in 0x0 environment
- Broken link in NavigationRail documentation
- feat(cupertino): Add selectableDayPredicate parameter to CupertinoDatePicker for selectable day control #171332
- Make sure that a MaterialApp doesn't crash in 0x0 environment
- Make sure that a FlexibleSpaceBar doesn't crash in 0x0 environment
- Migrate to WidgetStateColor
- Add tests for InputDecoration borders (M3 and theme normalization)
- Reapply "Update the AccessibilityPlugin::Announce method to account f…
- [time_picker] refactor: Distinguish widgets for dial mode only
- Reverts "Reapply "Update the AccessibilityPlugin::Announce method to account f… (#174365)"
- Add itemClipBehavior property for CarouselView's children
- Migrate to WidgetStateMouseCursor
- Make sure that a DesktopTextSelectionToolbar doesn't crash in 0x0 env…
- Enhance input decorator padding logic for character counter in text f…
- Migrate to WidgetStateBorderSide
- Fix docs referencing deprecated radio properties
- Migrate to WidgetStateOutlinedBorder
- Migrate to WidgetStateTextStyle
- Make sure that a DateRangePickerDialog doesn't crash in 0x0 environments
- Make sure that a DrawerButton doesn't crash in 0x0 environment
- Reapply "Update the AccessibilityPlugin::Announce method to account f…
- Fix platform specific semantics for time picker buttons
- Update localization from translation console
- Fix Voiceover traversal for OutlinedButton.icon
- [material/menu_anchor.dart] Check for reserved padding updates on layout delegate.
- Fix TextFormField does not inherit local InputDecorationTheme
- Fix NavigatorBar lacks visual feedback
- Migrate to WidgetStateInputBorder
- Fix PopupMenu does not update when PopupMenuTheme in Theme changes.
- Fix InputDecoration helper/error padding is not compliant

Windows:
- Using a shared message-only HWND for clip board data on win32 instead of the implicit view
- Provide monitor list, display size, refresh rate, and more for Windows
- Regular windows win32 engine
- Report a correct display ID in the window metrics event on win32
- Rename DisplayMonitor to DisplayManager on Win32
- [win32] Runloop should use high resolution timer and avoid deadlock

Web:
- [skwasm] Decrease reliance on finalizers/GC
- [web] Add tests for unified platform view embedding behavior
- [web] Fix empty first frame in multiview mode
- [web] Remove outdated comment about HTML renderer
- [web] ClickDebouncer workaround for iOS Safari click behavior
- [web] Add Intl.Locale to parse browser languages.
- [web] Fix potential race condition in ClickDebouncer
- [WebParagraph] Fix a property name on newer Chrome versions
- [web] Fallback to CanvasKit when WebGL is not available
- [web] Popping a nameless route should preserve the correct route name
- [web] Cleanup usages of deprecated routeUpdated message
- [web] Fix error in ClickDebouncer when using VoiceOver
- [web] Delete unused utils
- _downloadArtifacts (Web SDK) uses content-aware hashing in post-submit
- [web] Expose rasterizers in Renderer
- [web] Add test that pictures are not rasterized when clipped out
- [web] Raster Pictures at full screen size in Skwasm
- [web] Refactor renderers to use the same frontend code
- Reverts "[web] Refactor renderers to use the same frontend code (#174588)"
- [web] Minor simplification in flutter.js loader
- [web] Fix image and color filters equality in SkWASM.
- Remove 'v' Open DevTools from help on web in profile/release mode
- [web] Remove unused sceneHost property
- [web] Fix errors when using image filters with default values.
- [reland][web] Refactor renderers to use the same frontend code #174588
- Delete unused web_unicode library
- [web] Fix assertion thrown when hot restarting during animation
- web_ui: avoid crash for showPerformanceOverlay; log 'not supported' once
- [web] Remove mention of non-existent canvaskit_lock.yaml
- Update the test package for the web engine unit test bits.
- [web] Bump Firefox to 143.0
- Remove references to dart:js_util

Tooling:
- Roll pub packages
- Refactor and forbid base/exit.dart outside of lib/runner.dart
- Roll pub packages
- Remove IDE validation from flutter doctor
- Add a warning on usage of dartPluginClass: 'none'.
- Skip [tool] crash reporting on --local-engine
- Adds (defaults to ___) when using flutter config --help
- Upgrade flutter_lints in project template pubspec.yaml files
- Add support for /? to alias to --help
- feat: start using the content aware hash for downloading artifacts
- Use baseUri always when doing a hot reload or hot restart
- Wrap ShutdownHook calls to avoid crashing the tool
- Reverts "feat: start using the content aware hash for downloading artifacts (#171927)"
- Refactor checks for --machine
- Omit w (widget tree), t (render tree) from flutter run --profile h
- Hide flutter assemble unless --verbose
- feat: start using the content aware hash for downloading artifacts
- Use a fake representation of cache/artifacts/gradle_wrapper
- Omit instruction to cd . after flutter create
- Wraps all git executions in a Git(...).*, use *=noglob on Windows
- Remove stale references to .packages in tool tests
- Prefix generated Dart plugin imports for registerWith
- Emit a warning on --[no-]disable-dds, preferring --no-dds
- Remove support for pluginClass: none (on master; > 3.35.0)
- Remove 2023 deprecated 'platforms' key from daemon output
- Migrate to null aware elements - Part 3
- feat(tool): Respect user-data-dir flag from web-browser-flag
- Fix an omit-type lint that is breaking the tree
- Add --dart-define, -D to assemble, deprecate --define, -d.
- Rename AppRunLogger, stop writing status messages that break JSON
- Check file contents, remove tests that are now invalid (: 'none')
- Remove deprecated --[no-]-disable-dds
- Update main/master repoExceptions analysis set
- Update flutter pub get to use flutter.version.json (instead of version)
- Add --config-only build option for Linux and Windows
- [flutter_tools] Add --no-codesign support for macOS build
- Reverts "[flutter_tools] Add --no-codesign support for macOS build (#169034)"
- Revert "Remove 2023 deprecated 'platforms' key from daemon output (#172593)"
- Made android_gradle_print_build_variants_test.dart more robust
- [ Widget Preview ] Add --web-server support
- [ Tool ] Mark IOOverrides subclasses as final
- Move android_obfuscate_test from devicelab into tools integration.shard
- Add --profile-startup flag to flutter run
- fix: get content hash for master on local engine branches
- Reverts "fix: get content hash for master on local engine branches (#173114)"
- fix: get content hash for master on local engine branches (third attempt)
- Improve robustness of comment detection when using flutter analyze --suggestions
- In "flutter create", use the project directory in the suggested "cd" command instead of the main source file path
- [android][tool] Consolidate minimum versions for android projects.
- [web] add --static-assets-url argument to build web
- [ios26]Do not report error for Info.plist key not found
- [Android templates] Remove jetifier usage
- Web dev proxy
- Support launching a HTTPS URL
- Fix null value reference in flutter logs path
- Make device debuggable if useDwdsWebSocketConnection is true and added simple test case
- Revert "Make device debuggable if useDwdsWebSocketConnection is true …
- add format cmd to tools instruction
- Reapply "Make device debuggable if useDwdsWebSocketConnection is true … (#173551)"
- Reverts "Reapply "Make device debuggable if useDwdsWebSocketConnection is true … (#173551)" (#173568)"
- [ Tool ] Fix crash from possible DDS startup race
- Reapply "Make device debuggable if useDwdsWebSocketConnection is true … (#173551)"
- [ios][tools]do not log "bonjour not found" at all (unless verbose)
- [ Widget Preview ] Move --dtd-url from a global flag to a widget-preview start option
- [ Widget Preview ] Add --machine mode
- [ Tool ] Fix missing import for widget_preview.dart
- Stop writing legacy FLUTTER_ROOT/version file (by default?)
- Roll package:analyzer forward to 8.1.1
- Revert "[ios][tools]do not log "bonjour not found" at all (unless verbose)"
- [flutter_tools] Use DWDS 25.0.1
- [ Widget Preview ] Don't try to instantiate invalid @Preview() applications
- [ Widget Preview ] Don't crash when directory watcher restarts on Windows
- fix: Android build fails when minSdk is set below 24 in build.gradle.kts (#173823)
- [ Tool ] Add logging to test_adapter_test.dart
- [ Widget Preview ] Report an error if a web device is unavailable
- [ios][tools] do not print out bonjour key not found in non-verbose mode
- [ Tool ] Cleanup widget preview and frontend server shutdown
- Use an alternative to git describe for master version resolution
- [ Tool ] Throw ToolExit when asset entries use absolute paths
- [ Widget Preview ] Fix crash when attempting to provide non-const params to a Preview
- [ Widget Preview ] Add regression test for issue 173895
- Skip wasm build when dry run is disabled and --wasm is not specified.
- [ Tool ] Ensure --dds-port=<port> is respected when targeting web devices
- [ Widget Preview ] Add support for DevTools configuration
- [ Tool ] Don't emit artifact downloading messages when --machine is provided
- Update dwds to 25.0.3
- Create Hot Restart over websocket test
- Revert "Directly generate a Mach-O dynamic library using gen_snapshot (#171626)
- Fix bug in test_golden_comparator, add an e2e test.
- [native assets] Roll dependencies
- [ Tool ] Roll package:dwds 25.0.4
- Don't fail when hot restarting web-server and there are no connected clients
- [ Tool ] Only listen for DebugConnectionInfo if the service protocol is supported
- [ Widget Preview ] Respond to IDE navigation events and show previews from the currently focused script
- Add data assets
- Use local canvaskit in dart_data_asset_test.dart
- [ Tool ] Remove leftover Android x86 deprecation warning constant
- Make every LLDB Init error message actionable
- [web] Reuse chrome instance to run all flutter tests
- [ Widget Preview ] Improve --machine output
- Fix crash when attaching to a device with multiple active flutter apps
- Deprecate Objective-C plugin template
- [native_assets] Find more CCompilerConfig on Linux
- Roll pub packages and update lockfiles
- Update gradle_utils.dart to use constant instead of final
- Update gradle_errors.dart to use constants defined in gradle_utils.dart
- fix typo in comments to mention settings.gradle/.kts instead of build.gradle/.kts
- [ Tool ] Serve DevTools from DDS, remove ResidentDevToolsHandler
- [ Widget Preview ] Don't update filtered preview set when selecting non-source files
- Remove name field form SupportedPlatform enum
- Roll pub packages
- Update maximum known Gradle version to 9.1.0
- Fix typo in tests README
- Roll package:analyzer forward to 8.2.0.
- Remove comment about trailing commas from templates
- Introduce a getter for Project to get gradle-wrapper.properties directly
- [ Widget Preview ] Fix filter by file on Windows
- Update AGP/Java/Gradle comparison when using analyze --suggestions
- Update Flutter's templates to use dot shorthands
- Add kotlin/kgp 2.2.* evaluation criteria.
- Removes type annotations in templates
- Update java version ranges with the top end limitation for java pre 17
- [ Widget Preview ] Improve IDE integration support
- Add tests for Project getters
- [ Widget Preview ] Forward Widget Inspector navigation events via DTD
- Stop using deprecated analyzer 7.x.y APIs.
- [native assets] Roll dependencies
- [native assets] Enable build hooks and code assets on stable
- [ Tool / l10n ] Fix issue where localization generator assumed current directory was the target project
- [ Widget Preview ] Persist "Filter by Selected File" toggle
- [ Widget Preview ] Fix resolution for workspace "hosted" dependencies
- Upgrade packages
- [ Widget Preview ] Fix type error when retrieving flags from persistent preferences
- [ Widget Preview ] Fix WidgetInspectorService override
- Fix code style in Linux embedder template
- [ Widget Preview ] Rework UI and theming
- [ Tool ] Output app.dtd and app.devTools in machine mode
- [beta] CP: Fixes hot reload/restart crashes after closing browser tab on web-server device
- [CP-beta][tool/dap] Forward app.warning events from Flutter to DAP client
- [CP-beta][ Tool ] Output DTD URI for Flutter web applications

Documentation:
- Remove jetifier usages

Other changes:
- Licenses_cpp: Parses NOTICES and DEPS
- Use release-*.version to simplify last_engine_commit.sh (no branch operations)
- Fix use of Join-Path in last_engine_commit.ps1(poweshell)
- Remove dead link in the doc index.
- Sync CHANGELOG.md (3.32.7) to master branch
- Remove emoji from ci.yaml, because we still live with CP1252 for some silly reason
- Licenses cpp 716
- [Impeller] Add missing SetPipeline call for the vertices uber pipeline in AtlasContents
- Fix Size.isEmpty description
- Use UTC timezone for stamp_command_test to avoid local TZ flakes
- Add OS version support section to plugin docs
- Mark Mac_* tool_tests_commands as bringup to unblock tree
- [skia] Update call to SkImage::makeSubset
- Use $dartSdkVersion when creating "dummy" pubspec for create_api_docs
- fix: macOS Mojave Crash on Flutter Desktop Startup
- Replaces legacy licenses check with licenses_cpp
- fix: correct typo in analysis_options.yaml comment (disabeling -> disabling)
- Licenses cpp ignore whitespace
- [DisplayList] implement shadow bounds without relying on Skia utilities
- Update dev/bots/post_process_docs.dart to use flutter.version.json
- fix: size-exp naming
- revert: Replaces legacy licenses check with licenses_cpp
- Manual Roll of Dart SDK from da9e0299c120 to a31774a3d049
- Update excluded_files to match the current output of the old license checker
- Roll Abseil and remove a workaround for a Fuchsia target that was unable to build Abseil
- licenses_cpp: implements extracting regions from matched text
- Bringup linux_web_engine_tests; failing 4+ times in a row
- Flutter-Cherrypick-Process.md - Spell cherry-pick consistently
- [Android] Add missing ci configuration for Linux android_java17_tool_integration_tests
- Delete (unused) dev/checks_tool directory
- Add docs_action to .ci.yaml doc-related tasks
- Manual roll of Dart from 26dece893751 to 5ede85aff798
- Update few links in docs
- Update CHANGELOG.md for 3.32.8
- Bump the customer tests to pick up an update to Zulip's tests, for th…
- Refactor verifyVersion into typed Version object, use it
- [Impeller] Log glCheckFrameBufferStatus output when it fails in blit pass.
- windows: allow pwsh.bat wrapper
- last_engine_commit.ps1: Use $flutterRoot instead of $gitTopLevel
- fix: get content hash for master on local engine branches
- fix: build size_exp artifacts in post
- Reverts "fix: get content hash for master on local engine branches (#172792)"
- [ios]update provisioning profile for 2025-2026 cert for chromium bots
- Add Gemini Code Assist review config and style guide
- Reland licenses cpp switch
- [Flutter GPU] Fix Android/GLES crashers.
- Manual roll of Dart from 5ede85aff798 to 14ea8d342149
- Reverts "Manual roll of Dart from 5ede85aff798 to 14ea8d342149 (#172783)"
- Fix Gemini Code Assist for GitHub config yaml
- Reverts "Reland licenses cpp switch (#172671)"
- Add package PR triage note
- Roll Skia from 409e1c7ba09b to a42898e5d622 (29 revisions)
- Fix documentation for FlutterEngineRunTask
- Impeller gemini md
- Defensive get local coverage limit
- [ Tool ] Don't use .NET APIs in update_engine_version.ps1
- Made licenses_cpp simpatico with google licenses
- Bump customer tests for zulip fix 2
- Manual roll of Dart from 14ea8d342149 to 6832e04cf2f9
- impeller: Shrink Command 40 bytes
- Reland licenses cpp switch 2
- Reverts "Reland licenses cpp switch 2 (#172996)"
- Add dartvm to the dart_sdk_entitlement_config list.
- licenses_cpp: Switched to lexically_relative for 2x speed boost.
- [macOS] Remove duplicate object initialization
- Redistribute Android test owners
- Avoid negatives in the styleguide.md
- Reland licenses cpp switch 3
- Upload the linux arm64 embedder to cloud buckets.
- Update embedder API CODEOWNERS
- Reverts "Reland licenses cpp switch 3 (#173063)"
- Update GCA instructions
- Add skia_ports_fontmgr_android_parser_sources
- experiment with docs properties
- fix: tag fuchsia package after uploading
- [Impeller] Improvements to the Vulkan pipeline cache data writer
- [Impeller] Terminate the fence waiter but do not reset it during ContextVK shutdown
- Upload the Android standalone embedder API dylibs.
- [dync_modules] enable iOS ddm build in the merge queue
- Unmark Linux android_java17_tool_integration_tests as bringup
- Remove properties from .ci.yaml no longer used by (docs) recipes
- fix: content_aware_hash tag for fuchsia merge / upload
- Manual roll to 3.10.0-75.1.beta
- Remove a couple of asserts from display_list_unittest
- add --variance host_debug_unopt_arm64 for apple chip simulator
- Update CI iOS tests
- Enables vulkan for PowerVR B-Series
- Update integration test for iOS deployment workflows
- Update CanRenderTiledTexture unit tests
- Bump actions/checkout from 4 to 5 in the all-github-actions group
- [ios] Update iOS code signing CIPD instruction command
- [ Tool ] Fix run_linux_chrome_dev_mode
- [Impeller] Apply Y coordinate scaling when sampling from the destination texture in framebuffer advanced blends
- [ Tool ] Mark Linux_pixel_7pro linux_chrome_dev_mode as bringup
- Do not include :unittests unless enable_unittests
- Thread sub-builders for every engine-uploading builder
- Sync CHANGELOG.md (3.35 -> master)
- Read bin/cache/flutter.version.json instead of version for flutter_gallery
- Remove luci_flags.parallel_download_builds and friends
- Update the RBE configuration for the recent Clang update
- Re-add Linux_android_emu * tests that had KVM issues, now resolved
- Remove embedded_android_views (on-device) tests, same as emulator test
- Explain how to run Google Test tests directly
- Add "team-ios" label to iOS team triage query
- Add open_jdk to Linux analyze
- Add open_jdk to Linux linux_android_emulator.debug_x64
- Check that the windows architecture is 64-bit and not the process architecture
- Cleanup legacy bringup: true tasks, either removing or enabling
- Move Linux coverage back to bringup
- Add review agent style guidelines to .gemini/styleguide.md

whitespace:
- Update the text input team's issue triage query
- Update .gemini/styleguide.md to encourage master-only
- Clarify how Gemini should handle conflicting guidelines
- Release thread-local resources when submitting a Flutter GPU command buffer
- Update master CHANGELOG for 3.35.2
- Remove obsolete vulkan_window source files
- [Impeller] Flush the data written to the device buffer by RoundSuperellipseGeometry
- Bump codecov/codecov-action from 5.4.0 to 5.5.0 in the all-github-actions group
- [Impeller] Make sure inline passes always do a clear action.
- Move flakey iOS tests to bringup
- fixes the vulkan image layout transitions for mipmap generation
- Remove CP labels on not-merged PRs, and explain why
- Fix broken reference to PULL_REQUEST_CP_TEMPLATE.md after refactor
- Use raw --removal-label "cp: ..." when removing labels for unmerged PRs
- Refactored Canvas to disallow null inline contexts.
- Fix some issues in engine-tool README.
- Bind GL_FRAMEBUFFER with glReadPixels for gles2 compatibility
- Ndk download is not a condition of the test
- [Android] Break up plugin_test integration tests
- Patch .clang-format files to specify C++20.
- [Impeller] Fix overdraw in DrawRect geometry
- Mark Linux web_canvaskit_tests_7_last as bringup
- Roll Dart SDK to 3.10.0-162.1.beta
- Fixup formatting of gn files in the old buildroot.
- Update test_timeout_secs to match timeout for Linux web_skwasm_tests_* and Linux web_canvaskit_tests_*
- update triage documentation to include team-android
- Reverts "Mark Linux web_canvaskit_tests_7_last as bringup (#174878)"
- Remove unnecessary presubmit_max_attempts from .ci.yaml
- Delete impeller::SPrintF.
- [ Device Lab ] Fix wakefulness check to only match log entries with string values
- Remove 'terms of use' wording from web_unicode
- [a11y-app] Fix NavigationRail leading and trailing labels
- [ Device Lab ] Add regression testing for flutter/flutter#174952
- deletes the old license checker.
- Added note about how to compile licenses_cpp
- [ios26]fix host engine compile error
- Define a concept for UniqueObjectTraits.
- Impeller: Convert GLProc name field and GLErrorToString to std::string_view
- Bump actions/labeler from 5.0.0 to 6.0.1 in the all-github-actions group
- [shell] Fix engineId not being set after hot restart
- update deps to point to the new SOT repo for package:coverage
- Set Gemini Code Assist include_drafts to false
- Update Chromium sysroot to pick up RISC-V support.
- Add a gn --ccache argument
- Merge the engine README into the README of the old buildroot.
- Update NDK Scipt to Latest Stable Part 1
- [Impeller] Disable the render target cache when creating a snapshot in DlImageImpeller::MakeFromYUVTextures
- [docs] Add initial version of Flutter AI rules
- [benchmarks] Allow passing --local-web-sdk and --build-mode flags to benchmarks
- Sync 3.35.3 and 3.35.4 notes from stable to master
- Ensure that the raster thread has an EGL context before submitting the command buffer in ImageEncodingImpeller
- chore: update content workflow to use itnernal script
- Removes NOTICES from licenses input
- Added a 36 device for Firebase Lab Testing
- [engine][fuchsia] Update to Fuchsia API level 28 and roll latest GN SDK
- [engine] Cleanup Fuchsia FDIO library dependencies
- fix(tool): Use merge-base for content hash in detached HEAD
- Update rules to include extension rules
- [a11y-app] Add label to TextFormField in AutoCompleteUseCase.
- Update CODEOWNERS (for dev-tooling)
- Roll Packages from 3d5c4196d9c8 to 45c9a843859f
- Update docs/engine/contributing/Compiling-the-engine.md with macOS build steps
- [a11y-app] Fix Autocomplete semantics label
- Updates to flutter web triage links
- Fixes SemanticsFlags.isLink mis-translated in dart ui ffi
- Add google_fonts to team-framework triage guidelines
- Put Linux firebase_release_smoke_test on bringup
- [Impeller] Optimize scale translate rectangle transforms
- Revert "[Impeller] Optimize scale translate rectangle transforms"
- Fix link to .gclient setup instructions
- [Impeller] Optimize scale translate rectangle transforms
- Revert "[Impeller] Optimize scale translate rectangle transforms"
- Fix name of driver file
- Update Engine CI to use NDK r28c
- User Invoke-Expression instead of call operator for nested Powershell scripts invocations (on Windows)
- fix typo in Crashes.md
- Update changelog as on 3.35 branch
- BUILD.gn: Support LTO build on Linux
- Reduce timeout for Linux web_tool_tests back to 60
- Add verbose logs to module_uiscene_test_ios
- Delete Skia-specific performance overlay implementation
- Windowing integration tests now await change futures if a changes is expected + commenting our erroneous icon in Runner.rc for win32
- fix: delay exiting microbenchmark
- Align flutter dependencies with ones coming from dart.
- Starts updating the DEPS in preupload.
- fix: support older git (ubuntu 22.04) in content hash
- Roll vulkan-deps to a9e2ca3b
- updates docs for flutter engine footprint
- Bump customer tests.version to 986c4326b4e4bb4e37bc963c2cc2aaa10b943859
- Bump the customer tests to pick up an update to Zulip's tests.
- Make it clear that you need to install clangd in VSCode intellisense c++ config
- Rename UIScene integration test projects and fix Xcode compatibility
- Roll Dart SDK to 3.10.0-290.1.beta
- [3.38] Create release-candidate-branch.version & engine.version
- Trigger an engine build for the 3.38 beta release
- [CP-Beta] fix: content hash check for LUCI_CONTEXT (#176867)
- Update engine.version
- Trigger engine build, and clean up trigger file
- 3.38.0 beta engine version
- [CP-beta]Configure FfiNative resolver on dart:io
- [CP-beta] Fix crash when NSAttributedString is passed to insertText on macOS
- Update engine.version for 3.38.1 hotfix release