Flutter 1.12.13 release notes
- Breaking changes
- Severe crash & performance bugs
- New features
- iOS support
- Android
- Add to App feature
- Material
- Text & Accessibility
- Animation & Scroll
- Web
- Desktop
- Framework
- Engine
- Plugins
- Tooling
- Full PR List
Welcome to Flutter 1.12, our biggest stable release so far! In this release, we've merged 1,905 Pull Requests from 188 contributors, including both Googlers and non-Google contributors! Please see the chart below for the number of PRs in each release. Over the past year, the number of PRs has been growing in each release (except for Flutter 1.9, which was an out-of-band release to support Catalina). In the recent GitHub Octoverse report, Flutter is listed as one of the top 3 active repos on GitHub!
As the holiday season is upon us, we would like to express our sincerest appreciation to our amazing developer community who believe in Flutter, advocate for Flutter, and contribute to Flutter. It's been an incredible year for us all! We look forward to working with you in the years to come.
As always, you can find interesting PRs listed below. And there are lots of interesting things to mention in this release, including:
- Some breaking API changes
- Some severe issues caught and fixed
- Web support is now available in the beta channel
- MacOS support is enabled in the dev channel as of 1.13
- Improved SDK to add Flutter to existing Android/iOS apps
- iOS 13 visual refresh including the support for iOS Dark mode
- Enhanced tooling experiences
- New widgets and features
- And more!
Breaking changes
#In general, we want to avoid introducing breaking changes to Flutter, our plugins, or our packages. However, sometimes it is inevitable when we need to make our APIs more intuitive. We have implemented a new process that invites you to submit tests to help us detect breaking changes. For more information, see this post from Ian Hickson on flutter-announce and the breaking change policy on the Flutter wiki.
The following list includes breaking changes in this release. Please see the related announcements so that you can move forward with your code.
37024 Implement PageView using SliverLayoutBuilder, Deprecate RenderSliverFillViewport
37739 Fix AnimationStatus for repeat(reverse: true) and animateWith
37896 Add opacity control to MouseRegion. Add findAnnotations to Layer.
38481 Timer picker fidelity revision
38568 Normalize assert checking of clipBehavior
39079 fix widget built twice during warm up frame
39440 Allow gaps in the initial route
39919 CupertinoDatePicker & CupertinoTimerPicker dark mode
40166 Added proper focus handling when pushing and popping routes
40566 Remove CupertinoSystemColors in favor of CupertinoColors
40690 CupertinoPageScaffold dark mode
41220 Add an ActivateAction to controls that use InkWell.
41857 Change the dark theme elevation overlay to use the colorScheme.onSurface
42449 Increase TextField's minimum height from 40 to 48
42470 No multiline password fields
42479 Make DropdownButton's disabledHint and hint behavior consistent
45135 Add option to delay rendering the first frame
Severe crash & performance bugs
#In every stable release, we make an effort to improve the quality of Flutter. In 1.12, we fixed several severe issues; this includes the following crashes and performance issues.
40009 Add null check to _IndicatorPainter._tabOffsetsEqual() to prevent crash
40263 Fix crash on vswhere search from flutter doctor
40786 Fix crash on vswhere query on missing installations
42342 Fix DropdownButton crash when hint and selectedItemBuilder are simultaneously defined
44610 Error Message for createState assertion
38814 Add iOS backdrop filter benchmarks
38821 Cache caret parameters
38861 Replace deprecated onReportTimings w/ frameTimings
39439 Measure iOS CPU/GPU percentage
43676 Allow multiple TimingsCallbacks
45050 Add a perf test for picture raster cache
New features
#Flutter 1.12 introduces several new features including the SliverOpacity widget, the SliverAnimatedList, and the ability to configure a stretch effect for a SliverAppBar.
37416 Add MediaQuery.systemGestureInsets to support Android Q
39857 Update ToggleButtons constraints default and add new constraints parameter
40161 Add fullscreenDialog argument in PageRouteBuilder
40461 Implement DropdownButton.selectedItemBuilder
41415 Expose API for resizing image caches
42250 SliverAppBar - Configurable overscroll stretch with callback feature & FlexibleSpaceBar support
42485 Re-landing SliverAnimatedList.
42842 Add "navigator" option to "showDialog" and "showGeneralDialog"
43286 FadeInImage cacheWidth and cacheHeight support
44289 SliverOpacity
45127 SliverIgnorePointer
45432 Use RenderSliverPadding to inset SliverFillViewport
iOS support
#iOS continues to be a big investment area for Flutter. With this release, we've made a visual refresh to our Cupertino library to match the iOS 13 look. We now support dark mode in the Cupertino widgets, added two new widgets called CupertinoContextMenu and CupertinoSlidingSegmentedControl, and made improvements to segmented control widgets, CupertinoAlertDialog, and CupertinoDatePicker
36871 Audit use of defaultTargetPlatform
37719 CupertinoDynamicColor and friends
38712 Show process error when iOS install fails
39056 Fixed issues with Background Color #34741
39215 CupertinoActionSheet dark mode & fidelity
39289 CupertinoActivityIndicator & CupertinoApp dark mode
39430 make CupertinoDynamicColor const constructible
39463 Update validation to support Xcode11 version
39585 remove fallback code for ios/usb artifacts
39590 Fix user gesture in CupertinoPageRoute
39765 CupertinoButton & Bottom tab bar dark mode
39927 Make CupertinoDynamicColor.resolve return null when given a null color
40007 CupertinoAlertDialog dark mode & CupertinoActionSheet fidelity
40100 Fix a problem with disposing of focus nodes in tab scaffold
40189 Dark mode CupertinoNavigationBar
40447 Implement mdns for flutter run
40454 Dark Mode R: Refresh Control
40466 ModalRoutes ignore input when a (cupertino) pop transition is underway
40864 Move iOS and Android gitignore rules into folders
41326 Exception when selecting in TextField
41355 fix bad indentations(mainly around collection literals)
41384 [flutter_tools] Report iOS mDNS lookup failures to analytics
41431 Cupertino { TabScafold, TextSelection, TextField } dark mode & minor fidelity update
41473 Missing trailing commas
41482 [flutter_tool] Add analytics events for ios-mdns fallback success/failure
41644 indent formal parameters correctly
41799 Improved ios 13 scrollbar fidelity
41828 Set DEFINES_MODULE=YES in plugin templates
41892 Fix CupertinoActivityIndicator radius
42025 Localization refresh
42032 Update CupertinoActivityIndicator colors and gradient
42533 Disable arrow key focus navigation for text fields
42550 Add enableSuggestions flag to TextField and TextFormField
42563 Adding thumb color customization functionality to CupertinoSlider
42602 Properly throw FlutterError when route builder returns null on CupertinoPageRoute
42775 CupertinoSlidingSegmentedControl
42790 This disables the up/down arrow focus navigation in text fields in a different way.
42924 CupertinoDialogAction is missing super call
42964 Use PRODUCT_BUNDLE_IDENTIFIER from buildSettings to find correct bundle id on iOS when using flavors
42967 Pad CupertinoAlertDialog with MediaQuery viewInsets
43918 CupertinoContextMenu (iOS 13)
43932 Update CupertinoSlidingSegmentedControl control/feedback mechanism
44149 Apply minimumDate & maximumDate constraints in CupertinoDatePicker date mode
44391 Segmented control quick double tap fix
44551 Remove new unused elements
44743 Sort Localization generation output
44870 Add -runFirstLaunch hint text
45124 Analyze dartpad
11350 Firebase test for Platform Views on iOS
11390 preventDefault on touchend to show iOS keyboard
11413 Ios simulator unittests seem to not consider the full compilation unit
11530 Optionally strip bitcode when creating ios framework
11652 iOS platform view mutation XCUITests
11802 Adjust iOS frame start times to match the platform info
11807 Fix deleting Thai vowel bug on iOS
11817 Smooth out iOS irregular input events delivery
11886 remove extra redundant channels setup in iOS embedding engine
12078 Manage iOS contexts separately
12084 Guard availability of user notification related methods to iOS 10.0
12192 Updating text field location in IOS as a pre-work for spellcheck
12295 Issue 13238: on iOS, force an orientation change when the current orientation is not allowed
12404 Support accessibility labels on iOS switches.
12990 Fix for a11y crash on iOS
13029 Minimal test harness for iOS
13051 Don't bump iOS deployment target for Metal builds.
13093 iOS Platform View: Fixed overrelease of the observer.
13170 Issue 13238: on iOS, force an orientation change when the current orientation is not allowed
13449 Fix iOS crash when multiple platform views are in the scene
13469 Fix stale platform view gr context on iOS
13651 Fixed the scroll direction for iOS horizontal accessibility scroll events.
13852 Do not default to downstream affinity on iOS insertText
13857 Guard against orphaned semantic objects from referencing dead accessibility bridge on iOS
1370 [camera] Pause/resume video recording for Android & iOS
1999 [Connectivity] add a method to request location on iOS (for iOS 13)
2052 [instrumentation_adapter] Add stub iOS implementation and example app
2068 [google_maps_flutter] Fix iOS MyLocationButton on iOS
2083 [image_picker] Fix a crash when picking video on iOS 13 and above.
2131 [share]fix iOS crash when setting the subject to null
2139 [google_maps_flutter] Add NonNull macro to reduce warnings in iOS
2191 [image_picker] Fix iOS build and analyzer warnings
2192 [in_app_purchase] Fix iOS build warning
2275 Update cirrus to create IOS simulator on 13.2 an xCode 11
2281 [connectivity] Fix reachability stream for iOS
Android
#In this release, we've merged a list of changes to support Android 10, including a new activity zoom transition.
37526 catch errors during gradle update
39126 Fid app bundle in Gradle 3.5
39145 Add missing files in the Gradle wrapper directory
39312 let flutter build aar use a local engine
39457 Log flags in build apk and appbundle
40640 Exclude non Android plugins from Gradle build
41698 Download android x64 release artifacts
41933 upload x64 android host release
41935 [Android 10] Activity zoom transition
41946 Do not validate the Android SDK when building an appbundle
42378 remove println from flutter.gradle
42401 Add support for Android x86_64 ABI to Flutter
42508 Add Android x64 profile artifacts
42966 expand scope of rethrown gradle errors
43245 Add smallestScreenSize to android:configChanges in the Android manifest template
43282 implement build aot with assemble for Android target platforms
43876 Refactor flutter.gradle to use assemble directly
44534 Improve performance of build APK (~50%) by running gen_snapshot concurrently
45139 Update Android CPU device detection
11345 [Android] Write MINIMAL_SDK required to use PlatformViews to exception message
11441 Android 10+ View.setSystemGestureExclusionRects
11451 Android 10+ View.getSystemGestureExclusionRects
12085 Enable platform view keyboard input on Android Q
13059 Android targets create final zip artifacts
13099 NO_SUGGESTIONS keyboard flag in Android
13262 Added Semantic header support on Android.
2003 [video_player] Added formatHint to to override video format on Android
2029 fix android crash when pausing or resuming video on APIs lower than 24.
2049 [path_provider] Android: Support multiple external storage options
2208 delete all example/android/app/gradle.properties files
2216 [battery]Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in
2239 [camera] Android: Improve image streaming by creating a request suita…
Add to App feature
#We've made a significant upgrade to Add-to-App, the feature that allows you to integrate a Flutter module into your Android or iOS app. Can't wait to try it? Check out the Add-to-App documentation.
41666 Generate projects using the new Android embedding
44369 Flip enable-android-embedding-v2 flag
40810 Re-enable AAR plugins when an AndroidX failure occurred
41820 Added SystemNavigator.pop "animated" argument.
12752 Enabled people to chose if SystemNavigator.pop is animated on iOS.
12069 Fold the calls for FlutterMain into the FlutterEngine constructor
39945 added new lifecycle state
11913 Added new lifecycle enum
45115 fix ios_add2app_life_cycle license
45133 reland add lifecycle enum and fix the scheduleforcedframe
45430 Drops detached message until we can handle it properly
9525 Android Embedding Refactor PR36: Add splash screen support.
9506 Synchronize main thread and gpu thread for first render frame
39600 Let Material BackButton have a custom onPressed handler
9952 ios: Fixed the callback for the first frame so that it isn't predicated on having a splash screen.
10145 Added integration test that tests that the first frame callback is called
42708 Test the Android embedding v2
43221 Migrate examples to the Android embedding v2
9895 Android Embedding PR37: Separated FlutterActivity and FlutterFragment via FlutterActivityAndFragmentDelegate
11890 Add some AppLifecycleTests
12128 Make iOS FlutterViewController stop sending inactive/pause on app lifecycle events when not visible
12232 FlutterViewController notify will dealloc
13280 Android embedding API updates for plugin ecosystem
13349 Deprecated DartExecutor as BinaryMessenger and added a getBinaryMessenger() method. (#43202)
13432 Release shim bindings when detaching
2232 [multiple] V2 embedding plugins use compileOnly
1323 [firebase_core][firebase_analytics] Fix bug with transitive lifecycle dependencies
13445 Fizzle onConfigurationChanged if no FlutterView
44499 Show a warning when a module uses a v1 only plugin
35100 Add handling of 'TextInput.clearClient' message from platform to framework (#35054).
13474 Request a reattach when creating the text input plugin on Android
43959 Respond to TextInputClient.reattach messages.
509 Force the phone's screen on before running a test.
11792 Started logging warnings if we drop platform messages.
12167 Channel buffers
40165 Channel buffers
12402 Resize channel buffers
6879 Allow FlutterViewController to be released when not initialized with an engine
9329 Fixed memory leak by way of accidental retain on implicit self
9347 Surrogate binary messenger
9419 Has a binary messenger
8387 Make the resource context primary on iOS
11798 Manage resource and onscreen contexts using separate IOSGLContext objects
12277 Manage resource and onscreen contexts using separate IOSGLContext objects
13396 Made it so we clean up gl resources when view controllers get deleted.
39157 Use new Maven artifacts from Gradle
39503 Remove bitcode=NO from add-to-app flows
36793 Vend Flutter module App.framework as a local CocoaPod pod to be installed by a host app
37966 Remove ephemeral directories during flutter clean
40302 Set DEFINES_MODULE for FlutterPluginRegistrant to generate modulemap
37731 Add metadata to indicate if the host app contains a Flutter module
36805 Allow flavors and custom build types in host app
26630 Move flutter_assets to App.framework
31463 Disable all Dart fingerprinters
35217 Add flutter build aar
40927 Make module pod headers public
44065 Build ios framework
37206 Test that modules built as AAR contain the right assets and artifacts
44127 build aar prints how to consume the artifacts
23782 Add flutter_shared assets to module artifact
22707 Gradle plugin support for adding flutter as subproject to another Android app
9893 Removed logic from FlutterAppDelegate into FlutterPluginAppLifeCycleDelegate
9922 Split out lifecycle protocol
44026 Exit tool if a plugin only supports the embedding v2 but the app doesn't
44214 Fix v1 embedding support heuristic for plugins
43994 flutter build aar should also build plugins as AARs
13455 Automatically register plugins in FlutterEngine. (#43855)
44011 Move the plugin registrant to io.flutter.plugins and add the @Keep an…
44166 Add v1 plugin register function into v2 plugin template
13394 Remove multiplexed Flutter Android Lifecycle. (#43663)
45557 Add a note to generated plugins files
45379 Add .flutter-plugins-dependencies to the project, which contains the app's plugin dependency graph
3850 Support co-editing Flutter and Android in a single project
4097 Support for debugging add-to-app modules in Android Studio
4129 Smooth out the rough spots in add-to-app support
4062 Re-enable attach button for add-to-app projects
4004 Co-edit module created in Android Studio
33297 Instrument add to app flows
33458 Add to app measurement
34189 Instrument usage of include_flutter.groovy and xcode_backend.sh
13289 Made restarting the Engine remember the last entrypoint that was used.
12370 Added a default entrypoint variable to match android syntax.
10823 Expose isolateId for engine
13264 Made restarting the Engine remember the last entrypoint that was used.
13789 add recent packages to javadoc list
10481 Android embedding refactor pr40 add static engine cache
29946 Let CupertinoPageScaffold have tap status bar to scroll to top
12587 Split out the logic to handle status bar touches into its own function
44638 Add module to create template help text
9351 Android Embedding Refactor PR32: Clean up logs in new embedding.
6447 iOS Embedding Refactor
41794 Updated the docstring for SystemNavigator.pop.
9304 Decorate UIApplicationDelegate wrappers with matching UIKit deprecation
266 [firebase_performance] support v2 android embedding
274 [firebase_core] v2 embedding API
275 [firebase_ml_vision] v2 embedding API
282 [firebase_remote_config] Support v2 android embedder.
287 [firebase_database] Support v2 android embedder.
1266 [firebase_analytics] Support Android v2 embedding
1295 [firebase_storage] Support Android v2 embedding
1369 Upgrade in-app-messaging to plugin api v2
1370 Upgrade crashlytics to v2 plugin API
1372 [firebase_dynamic_links] support v2 embedding
2142 [Connectivity] migrate to the new android embedding
2152 [battery] Support the v2 Android embedder
2155 [in_app_purchase] migrate to the v2 android embedding
2156 [Share] Support v2 android embedder.
2157 [url_launcher] Migrate to the new embedding
2160 [package_info] Support the v2 Android embedder (with e2e tests)
2162 [shared_preferences] Support v2 android embedder.
2163 [device_info] Support v2 android embedder.
2164 [sensor] Support v2 android embedder.
2165 [camera] Migrate to the new embedding
2167 [quick_actions] Support v2 android embedder.
2169 [flutter_webview] Migrate to the new embedding
2193 [android_alarm_manager] migrate to the V2 Android embedding
2195 [android_intent] Cleanup the V2 migration
2196 [webview_flutter] (Trivial) Add V2 warnings
2200 [flutter_webview] Revert v2 embedder support
2204 [url_launcher] Re-land v2 embedding support
2209 [webview_flutter] Re-land support v2 embedding support
2226 [video_player] Add v2 embedding support
2241 [Shared_preferences]suppress warnings
2284 [path_provider] Add v2 embedding support for
2327 [android_alarm_manager] Update minimum Flutter version to 1.12.0
43461 Fixed usage of optional types in swift integration test.
13423 Automatically destroy FlutterEngine when created by FlutterActivity or FlutterFragment.
42958 Turn off bitcode for integration tests and add-to-app templates
13428 Set the install name at link time for darwin dylibs
41333 Merge Flutter assets in add to app
39747 Fix type mismatch in Gradle
39986 Enable Proguard by default on release mode
40181 Update Kotlin and Gradle version
40282 Flip the default for proguard
40440 Rename useProguard method, so Gradle doesn't get confused
40453 Enable R8
40610 Enable the resource shrinker
40900 Stop using deprecated features from Gradle
40925 Use AndroidX in new projects by default
41142 Add embedding as API dependency instead of compile only dependency
41251 Migrate examples and tests to AndroidX
41254 Test that flutter assets are contained in the APK
41885 Include embedding transitive dependencies in plugins
41942 Use mergeResourcesProvider instead of deprecated mergeResources
42022 Fix smoke test
42306 Ensure that flutter assets are copied in the AAR
42352 Add android.permission.WAKE_LOCK permission to abstract_method_smoke_test
42360 Add smoke test for the new Android embedding
42548 Print message and log event when app isn't using AndroidX
42684 Remove isNewAndroidEmbeddingEnabled flag when reading an existing pro…
42709 Test Gradle on Windows
42981 Remove GeneratedPluginRegistrant.java
43187 Ensure android.enableR8 is appended to a new line
43479 Refactor gradle.dart
43669 Don't read AndroidManifest.xml if it doesn't exit
43674 Add missing import
43675 Fix device lab tests
43927 Fix stdout test
43941 Tweaks after the gradle.dart refactor
44301 Don't print how to consume AARs when building plugins as AARs
44243 Build local maven repo when using local engine
44302 Don't add x86 nor x64 when building a local engine in debug mode
44637 Attach looks at future observatory URIs
44783 Forward ProcessException to error handlers
44797 Build AAR for all build variants by default
45439 Fallback to protocol discovery if mdns returns null
45579 Add integration test for transitive plugin dependencies
45743 Android log reader reads any recent logs
45937 Handle case where lastLogcatTimestamp is null
46040 Enable Android embedding v2 on the beta, dev and stable channel
46101 Remove flutterBuildPluginAsAarFeature flag
14136 Expanded our scenario_app docs.
14094 Started specifying the OS version for running the tests.
13421 FlutterAppDelegate: Added back in empty lifecycle methods
13073 Removed retain cycle from notification center.
13006 Refactor: FlutterDartProject
44782 Updated flutter/examples to further conform to new embedding: removed references to FlutterApplication, deleted all MainActivity's that were not necessary, removed all direct invocations of GeneratedPluginRegistrant. (#22529)
45740 Do not delete output directory during flutter build ios-framework
45560 Always compile with isysroot on iOS to point to SDK root
45436 Always compile with -isysroot flag on iOS to point to SDK root
45189 Remove chmod to make Flutter framework headers unwritable
45136 Remove FLUTTER_DEVICELAB_XCODE_PROVISIONING_CONFIG code paths
44633 Turn on bitcode for integration tests and add-to-app templates
44625 Release startup lock during long-lived build ios framework
44324 Add swift_versions to plugin template podspec, include default CocoaPod version
43915 Observe logging from VM service on iOS 13
43553 Pass environment variables through to xcodebuild
42872 Remove use_modular_headers from Podfiles using libraries
42808 Run flutter pub get before pod install in platform_view_ios__start_up test
42254 Update minimum version to Xcode 10.2
42204 Add use_modular_headers! to default Podfile
42029 Always embed iOS Flutter.framework build mode version from Xcode configuration
41882 Increase template Swift version from 4 to 5
41491 Skip pod initialization if version >= 1.8.0.
40792 Move build info checks from generating files to the xcode build
40611 Warn when build number and version can't be parsed on iOS
40401 Make FlutterPluginRegistrant a static framework so add-to-app can use static framework plugins
40174 Keep Flutter.framework binaries writable so they can be code signed
40117 Show outdated CocoaPods version in hint text
39539 Keep Flutter.framework binaries writable so they can be code signed
39509 Skip failing add2app test to unblock roll
38992 Clean Xcode workspace during flutter clean
38905 Remove iphonesimulator from SUPPORTED_PLATFORMS for Profile and Release modes
11357 Rename first frame method and notify FlutterActivity when full drawn (#38714 #36796).
11844 Updated API usage in scenario app by deleting unnecessary method.
11902 Remove un-needed FragmentActivity import statements to facilitate proguard.
12305 Introduce flutterfragmentactivity
12328 Added javadoc comments to FlutterActivity and FlutterFragmentActivity.
12359 Forwards Flutter View to platform views and detaches when needed.
12362 Fixes race condition that was reported internally.
12806 Move initialization into FlutterEngine
12987 Added FlutterActivity and FlutterFragment hook to cleanUpFlutterEngine() as symmetry for configureFlutterEngine(). (#41943)
13214 Forwards Activity result to FlutterFragment in FlutterFragmentActivity.
13215 Adds Dark Mode support to new Android embedding (this was accidentally missed previously).
13402 Converted ActivityAware and ServiceAware Lifecycles to opaque objects (#43670)
13660 Fix splash screen lookup. (#44131)
13698 Fix plugin registrant reflection path. (#44161)
13738 Removed scary experimental warnings for new embedding. (#44314)
13739 Point old plugin registry accessors to new embedding plugin accessors. (#44225)
13743 Expose asset lookup from plugin binding. (#42019)
13855 Add support for --dart-flags in FlutterShellArgs. (#44855)
13932 Removed GET_ACTIVITIES flag from all manifest meta-data lookups. (#38891)
2087 [android_alarm_manager] Update and migrate iOS example project
2088 [android_intent] Update and migrate iOS example project
2089 [battery] Update and migrate iOS example project
2090 [camera] Update and migrate iOS example project
2091 [connectivity] Update and migrate iOS example project
2092 [device_info] Update and migrate iOS example project
2093 [google_maps_flutter] Update and migrate iOS example project
2094 [google_sign_in] Update and migrate iOS example project
2095 [image_picker] Update and migrate iOS example project
2096 [in_app_purchase] Update and migrate iOS example project
2097 [local_auth] Update and migrate iOS example project
2098 [package_info] Update and migrate iOS example project
2099 [path_provider] Update and migrate iOS example project
2100 [quick_actions] Update and migrate iOS example project
2101 [sensors] Update and migrate iOS example project
2102 [share] Update and migrate iOS example project
2103 [shared_preferences] Update and migrate iOS example project
2109 [url_launcher] Update and migrate iOS example project
2110 [video_player] Update and migrate iOS example project
2115 [camera] Define clang modules in for iOS
2125 [in_app_purchase] Define clang module for iOS
2128 [image_picker] Define clang module for iOS
2135 [android_alarm_manager] Define clang module for iOS
2137 [connectivity] Define clang module for iOS
2138 [device_info] Define clang module for iOS
2144 [android_intent] Define clang module for iOS
2145 [instrumentation_adapter] Define clang module for iOS
2146 [local_auth] Define clang module for iOS
2147 [path_provider] Define clang module for iOS
2148 [package_info] Define clang module for iOS
2149 [quick_actions] Define clang module for iOS
2175 [sensors] Define clang module for iOS
2176 [shared_preferences] Define clang module for iOS
2177 [url_launcher] Define clang module for iOS
2179 [battery] Define clang module for iOS
2180 [share] Define clang module for iOS
2182 [google_maps_flutter] Define clang module for iOS, fix analyzer warnings
2183 [video_player] Define clang module for iOS
2184 [google_sign_in] Define clang module for iOS
2185 [webview_flutter] Define clang module for iOS
2186 Run clang analyzer on iOS and macOS code in CI test when packages change
40302 Set DEFINES_MODULE for FlutterPluginRegistrant to generate modulemap
2206 [flutter_plugin_android_lifecycle] Update README with new plugin name
2207 [flutter_plugin_android_lifecycle] bump e2e depenency to 0.2.1
2223 [flutter_plugin_android_lifecycle] register the e2e plugin in the example app
2243 [flutter_plugin_android_lifecycle] Adapt the FlutterLifecycleAdapter to the new embedding API
44043 Add Android embedding version analytics
2120 [image_picker] fix crash when aar from 'flutter build aar'
2168 Add plugin for Android lifecycle in embedding
2174 [url_launcher] Enable androidx and jetifier in android gradle properties
11239 Remove dart entrypoint Intent parameter from FlutterActivity. (#38713)
12469 Started asserting the FlutterEngine is running before communicating over channels.
13403 Use DartExecutor.getBinaryMessenger in FlutterNativeView instead of deprecated send methods
Material
#Material continues to a focus for the Flutter team. In this release, we refreshed all Material widgets with dark mode support. Also, we added support for extending the height of the Scaffold's body behind the app bar, which was contributed by a community member!
36998 Added properties in DropdownButtonFormField to match DropdownButton
37962 Show search app bar theme
38583 Added InheritedTheme
38650 Allow independent theming of Persistent and Modal bottom sheets
38709 [Material] Add contentPadding property to SwitchListTile
38726 Make disabled buttons/chips/text fields not be focusable.
38813 Add ToggleButtons.textStyle property
38831 [Material] Add clip property to bottom sheet and theme
38898 ToggleButtons test improvement
39144 Add the textAlignVertical param to TextFormField
39156 Added Scaffold.extendBodyBehindAppBar
39299 Add showAboutDialog sample
39333 Allow independent theming of Persistent and Modal bottom sheets Background Color
39433 Add helperMaxLines to InputDecoration and InputDecorationTheme
39572 Prevent exception when creating a Divider borderSide
39583 Fix single action banner to ensure button alignment
39627 Default colorScheme data in ButtonThemeData (fix for #38655)
39632 Updates to debugFillProperties to test all properties in slider.dart and slider_test.dart
39903 Fixed passing autofocus to MaterialButton, and when rebuilding Focus widget.
39924 Adds DartPad option to the DartDoc snippet generator.
40390 a11y improvements for textfield
40608 Add the option to configure a chip check mark color
40641 Add onLongPress to Buttons
40665 Fix CupertinoTextField and TextField ToolbarOptions not changing
40713 Material textselection context menu cannot disable select all
40994 Fix the ThemeData.copyWith toggleButtonsTheme argument type
41120 Dropdown Menu layout respects menu items intrinsic sizes
41150 Rebuild modal routes when the value of userGestureInProgress changes
41172 fix some bad indentations
41320 [Material] Remove text ripple from TextFields
41338 Fix ReorderableListView's use of child keys (#41334)
41463 [Chip] Make sure InkResponse is in the foreground on delete for chips with background color
41625 Update DefaultTabController to allow for zero tabs
41629 [Material] Fix Tooltip to respect ambient Directionality
41632 fix confusing 'popupTheme' variable name in a MaterialBannerTheme method
41640 some formatting changes
41650 DropdownButton.style API doc example for differing button and menu item text styles
41864 Update BottomAppBar to use elevation overlays when in a dark theme
41972 Add enableFeedback param to MaterialButton, RawMaterialButton and IconButton
42033 Reprise: Dropdown Menu layout respects menu items intrinsic sizes
42189 Fix regression with ModalBottomSheets not responding to changes in theme
42366 TextStyle.fontFamily should override fontFamily parameter in ThemeData
42404 Add isDismissible configuration for showModalBottomSheet
42482 Only dismiss dropdowns if the orientation changes, not the size.
42554 Fix route focusing and autofocus when reparenting focus nodes.
42613 Fix Tooltip implementation of PopupMenuButton
42683 Optimize focus operations by caching descendants and ancestors.
42779 Fix chip ripple bug — No longer two ripples
42811 Add a Focus node to the DropdownButton, and adds an activation action for it.
42936 Support AppBars with jumbo titles
43213 Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons.
43422 trivial fixed AboutListTile having an empty icon placeholder when no icon set.
43511 Improve DropdownButton assert message
43526 Change PopupMenuButton.icon type to Widget
43722 Make selected item get focus when dropdown is opened
43843 Remove print and fix code formatting
43848 Don't allow Disabled InkWells to be focusable
43859 Add convenience accessor for primaryFocus
43946 Adding subtitle to ExpansionTile
43981 Fix typo in app_bar.dart
44029 Use alphabetic baselines for layout of InputDecorator
44068 Fix typo in tabs.dart
44076 Typo on comments
44160 Wire selectedItemBuilder through DropdownButtonFormField
44296 ModalBarrier and Drawer barrier prevents mouse events
44736 Check in new diffs to material localizations
44787 Fix snippets to include element ID in the output sample.
44867 FocusableActionDetector widget
45081 Remove duplicated expect from text field test
45362 Add widget of the week video embeddings
Text & Accessibility
#In Text and Accessibility, we have several enhancements in ButtonBar and AlertDialog to prevent text overflow.
40468 Propagate textfield character limits to semantics
41730 Allow customization of label styles for semantics debugger
42344 Add onVisible callback to snackbar.
42368 Update android semantics test to match existing engine behavior.
43193 ButtonBar aligns in column when it overflows horizontally
43226 Implement AlertDialog title/content overflow scroll
38573 Clamp scrollOffset to prevent textfield bouncing
41108 Fixing a text editing bug happening when text field changes.
44605 Changing RenderEditable.textAlign doesn't break hot reload anymore
Animation & Scroll
#For animation, we released the TweenAnimationBuilder for building custom implicit animations. For more information, check out this TweenAnimationBuilder video on Youtube.
38317 TweenAnimationBuilder for building custom animations without managing an AnimationController
38979 Adding onEnd callback to implicit animated widgets
43756 Mark routes as opaque when added without animation
39142 fix sliverfixedextent with sliverchildbuilderdelegate does not correc…
44965 Scroll scrollable to keep focused control visible.
Web
#We increased our support for web, moving it from the dev channel to the beta channel. For more details, please check web support blog post.
37819 Add HtmlElementView (the Flutter Web platform view)
38723 Handle compilation failures from web application
38823 Print service url when connecting to web applications
39006 Add web workflow to default validators
39066 Kill resident runner on browser disconnect.
39073 Add profile mode to flutter web applications
39189 fix source map loading and service protocol for flutter web
39344 Upstream changes necessary for text editing in flutter web
39364 Correct libraries path and remove dart:io and dart:isolate for dart platform
39414 Make sure profile is forwarded through build web command
39462 Remove run in shell and add unit test for chrome launching
39543 create .dart_tool if it is missing
39628 Automatically generated registrants for web plugins
39748 print launching on device message
39751 Minor cleanup and prevent multiple exit
39752 Add delay to recompile request for web
39756 remove web flag from create
39774 workaround for mangled web sdk source map packages
39910 If there are no web plugins, don't generate a plugin registrant
39950 Register reload sources call and make 'r' restart for web
39951 Add "web" server device to allow running flutter for web on arbitrary browsers
39983 Update the supported library set for Flutter for web
39999 Disable the performance overlay for web
40175 Ensure we send hot restart events for flutter web
40191 add host and port to run configuration for web devices
40301 Allow skipping webOnlyInitializePlatform in Flutter for Web
40370 rename port to web-port and hostname to web-hostname
40465 Pass --web-hostname and --web-port to release mode debugging options
40627 Allow skipping chrome launch with --no-web-browser-launch
40757 Fix visibility of web server device when Chrome is not available
41222 Copy archived js part files out of dart_tool directory
41347 Fix timing issues in initialization of web resident runner
41386 Serve every html file under web
41397 Keymap for Web
41441 Exit resident web runner on compilation failure
41545 Add analytics tracking for compile and refresh times for Flutter Web
41618 Rename Server/web to Headless Server/headless-server
41695 Add more information to cannot find Chrome message
41815 [web] Make it clear that lowercase "r" can also perform hot restart
41906 Ensure plugin registrants are generated in build_web
41996 [web] Always send the route name even if it's null
42144 Don't eagerly call runMain when --start-paused is provided to web application
42260 Small cleanup of web code
42289 Ensure precache web works on dev branch
42531 Print correct hostname when web server is launched
42676 [web] Update web runner message with flutter.dev/web
42701 serve correct content type from debug server
42857 Fix progress indicators for release/profile builds of web.
42951 implement debugTogglePlatform for the web
42970 Rename headless server to web server
43214 For --profile builds on web, still use -O4 but unminified names.
43573 Catch MissingPortFile from web tooling.
43576 Enable usage of experimental incremental compiler for web
44028 Support --no-resident on the web
44263 Allow web server device to use extension if started with --start-paused
44268 Switch from using app.progress to app.webLaunchUrl for passing web launch urls
44421 switch web test to macOS
44744 Ensure web-server does not force usage of dwds
44746 Remove chrome device web integration test
44830 Update manual_tests to be able to run on macOS/web
45145 cache sdkNameAndVersion logic for web devices
45286 Fix experimental incremental web compiler for Windows
11360 build legacy web SDK
11421 sync Flutter Web engine to the latest
11732 last flutter web sync: cc38319841
11796 Provide a hook for a plugin handler to receive messages on the web
12161 Ensure that the web image ImageShader implements Shader
12335 [Web] Implement dark mode support for web
12445 [web] filter test targets; cache host.dart compilation
12712 Support correct keymap for web
12747 Add web implementation for channel_buffers.dart
12753 [web] Don't require felt to be in PATH
12794 [web] Add support for path transform
12811 [web] Implement basic radial gradient (TileMode.clamp, no transform)
13003 [web] Update the url when route is replaced
13066 [web] Add basic color per vertex drawVertices API support
13141 Enable/tweak web sdk source maps
13161 Enable/tweak web sdk source maps, take 2
13187 [web] Environment variable to disable felt snapshot
13190 [web] Fix canvas reuse metrics. Refactor drawVertices code.
13259 [web] Support -j to use goma in felt build
13268 [web] Support input action
13272 [web] [test] Adding firefox install functionality to the test platform
13296 [web] Cupertino dynamic color fix.
13359 Web: fix Color subclass handling
13462 [web] Get the size from visualviewport instead of window.innerHeight/innerW…
13483 web: fix Paragraph.getBoxesForRange for zero-length ranges
13634 [web] Ignore changes in *.ttf files in felt build watch mode
13699 [web] Don't send keyboard events from text fields to flutter
13722 [web] Proper support for text field's obscureText
13741 [web] Refactor text editing to handle any order of platform messages gracefully
13748 [web] Support gif/webp animations, Speed up image drawing in BitmapCanvas.
13769 [web] Implement TextStyle.shadows
13779 [web] Fix path to svg for drrect
13802 [web] Fix selectable text rendering
13809 [web] Fix blendmode for images
13860 [web] Change canvas sibling transforms to 3d with z=0 to get around canvas rendering bug.
13901 [web] Fix single line bitmap canvas text shadow
13909 [web] Implement PathMetrics.length
13922 [web] Flutter for web autocorrect support
13929 [web] Allow users to enable canvas text measurement
13940 [web] Fix Edge detection for correct dom_renderer reset
13960 [web] Fix default line-height issue for Firefox
13981 [web] use Element.nodes instead of Element.children in text layout
2119 Add web url launcher
Desktop
#We are also moving macOS support from tech preview to alpha, enabling it in the dev channel.
37901 [macos] Check for special keys before creating a logical key
38748 Create correctly structured framework for macOS
38858 Use GLFW-name artifacts on Windows and Linux
38909 Add support for macOS release/profile mode (3 of 3)
39017 Add "OneSequenceRecognizer.resolvePointer". Fix DragGestureRecognizer crash on multiple pointers
39264 Add profile support on macOS
39432 Do not hide .git in zip for Windows
39702 Fix macOS App.framework version symlink
39836 Switch to the Win32 Windows embedding
40011 [windows] Searches for pre-release and 'all' Visual Studio installations
40186 Add shortcuts and actions for default focus traversal
40194 Add an ephemeral directory to Windows projects
40197 [windows] Refactor to optimize vswhere queries
40294 fix copy command and remove resolve sync for macOS assemble
40375 Harden macOS build use of Xcode project getInfo
40393 Convert build mode to lowercase in tool_backend
40587 Add an ephemeral directory for Linux
40730 Invalidate macOS pods on plugin changes
40851 Support create for macOS (app and plugin)
41015 Add the beginnings of plugin support for Windows and Linux
41332 Prevent PointerEnter[or Exit]Event from erasing event.down value
41551 Pass Linux build mode on command line
41612 AOT support for Linux Desktop I: switch Linux builds to assemble
41747 Add Profile entry to macOS Podfile
42031 Rewrite MouseTracker's tracking and notifying algorithm
42235 Reading deviceId for RawKeyEventDataAndroid event
42487 refactor depfile usage and update linux rule
42861 Add repeatCount to RawKeyEventDataAndroid
42962 Remove linux-x64 unpack logic
43238 Fixing focus traversal when the node options are empty
43362 Allow rebuilding of docker image, re-enable deploy gallery macos
43758 Split desktop config fallback variable by platform
44130 Add command key bindings to macOS text editing and fix selection.
44410 Add macOS fn key support.
44576 [ci] Use the latest Cirrus Image for macOS
44620 Bump memory requirements for tool_tests-general-linux
44844 Properly interpret modifiers on GLFW key events
45264 Add macOS hot reload test
45392 [ci] more resources to Windows tasks
8507 Add texture support for macOS shell.
11324 Clean up Windows and Linux build output
11327 [Windows] Update API for alternative Windows shell platform implementation
11380 Use App.framework in macOS FlutterDartProject
11386 Allow non-resizable windows in GLFW embedding
11475 buildfix: support build windows release/profile mode(#32746)
11828 [Windows] Address #36422 by adding a context for async resource uploading
12230 Add an initial macOS version of FlutterAppDelegate
12234 [glfw/windows] Stops keeping track of input models
12267 [macos] Stops keeping track of text input models
12276 Add system font change listener for windows
12423 add windows embedding test
12809 Use the x64 host toolchain for x86 target gen_snapshot only on Linux
12814 Enable all engine test on windows
13300 Switch the MacOS Desktop embedder to using a thread configuration where the platform and render task runners are the same.
13702 Fix editing selection and deletion on macOS
Framework
#We've fixed many bugs in this release to improve the quality and stability of our framework.
38643 PlatformViewLink handles focus
38699 fix widgetspan does not work with ellipsis in text widget
38789 Fix DragTarget not being rebuilt when a rejected Draggable enters #38786
38930 Implement system fonts system channel listener
38936 Fix KeySet (and LogicalKeySet) hashCode calculation
39059 Explain const values in MediaQuery test file
39085 Make inspector details subtree depth configurable.
39089 Correct InheritedTheme.captureAll() for multiple theme ancestors of the same type
39195 respect reversed scroll views
39252 Adds relayout option to CustomMultiChildLayout.
39282 Expose text metrics in TextPainter.
39354 Add IterableFlagsProperty and use it on proxy box classes
39428 Replace doc example text
39446 Add viewType to PlatformViewLink
39844 Fix curve for popping heroes
40099 Fix double.infinity serialization
40105 Ensure frame is scheduled when root widget is attached
40119 fix skips to include all channels
40280 PlatformView: recreate surface if the controller changes
40306 Restore offstage and ticker mode after hero pop and the from hero is null
40609 Specify ifTrue and ifFalse for strut FlagProperty
40635 Return WidgetSpans from getSpanForPosition
40638 Allow sending platform messages from plugins to the framework and implement EventChannel
40709 Fixed Selectable text align is broken
40718 Handle CR+LF end of line sequences in the license parser
40775 Use EdgeInsetsGeometry instead of EdgeInsets
40917 AnimatedBuilder API Doc improvements
41145 Explicitly set CocoaPods version
41245 Change the way ActionDispatcher is found.
41329 Refactor: Base tap gesture recognizer
41417 Address previous comments, fix Intent.doNothing.
41763 No longer rebuild Routes when MediaQuery updates
41791 Refactor: Make MouseTracker test concise with some utility functions
41803 Fixed media query issues and added test to prevent it from coming back
41879 Make MouseTracker.sendMouseNotifications private
42076 create gesture recognizers on attach and dispose on detach to avoid leaks
42253 Change modal barrier to dismissing on tap up
42484 Gradient transform
42526 Improve routers performance
42558 Use placeholder dimensions that reflect the final text layout
42688 Source Code Comment Typo Fixes
42777 Fix memory leak in TransitionRoute
42879 Re-implement hardware keyboard text selection.
42953 Soften layer breakage
43006 Set default borderRadius to zero in ClipRRect (as documented)
43246 Tap.dart: Fixes the spacing to the right side of reason
43296 Skip failing test to green build
43467 Fixed bug where we could accidently call a callback twice.
43677 add libzip cache artifact
43684 [flutter_runner] Use sky_engine from the topaz tree
43685 Remove Poller class from flutter_tools
43739 enable avoid_web_libraries_in_flutter
43865 Reorder show and setEditingState calls to the IMM
44150 Manually roll engine to unred the tree
44217 Moving pointer event sanitizing to engine.
44233 Remove yield from inherited model
44408 Remove no longer needed clean up code
44422 Remove TextRange, export it from dart:ui
44490 Fix "node._relayoutBoundary == _relayoutBoundary" crash
44611 Convert to TextPosition for getWordBoundary
44617 Make disposing a ScrollPosition with pixels=null legal
44622 Track and use fallback TextAffinity for null affinity platform TextSelections.
44967 Try a mildly prettier FlutterError and make it less drastic in release mode
45083 Fix draggable scrollable sheet scroll notification
45240 implicit-casts:false in flutter_web_plugins
45249 implicit-casts:false in flutter_goldens and flutter_goldens_client
Engine
#In this update, the core engine continues to see many improvements, including a fix that solves the long-requested scrolling performance issue on iPhoneX/Xs.
9386 [glfw] Send the glfw key data to the framework.
9498 Notify framework to clear input connection when app is backgrounded (#35054).
9806 Reuse texture cache in ios_external_texture_gl.
9864 Add capability to add AppDelegate as UNUserNotificationCenterDelegate
9888 Provide dart vm initalize isolate callback so that children isolates belong to parent's isolate group.
10154 Started taking advantage of Skia's new copyTableData to avoid superfluous copies.
10182 Made flutter startup faster by allowing initialization to be parallelized
10326 copypixelbuffer causes crash
10670 Expose LineMetrics in dart:ui
10945 De-dup FILE output for each license
11041 Add a BroadcastStream to FrameTiming
11049 Release _ongoingTouches when FlutterViewController dealloc
11062 Provide a placeholder queue ID for the custom embedder task runner.
11063 Update ExternalViewEmbedder class comment.
11070 Platform View implemenation for Metal
11210 Add Chrome to Dockerfile
11222 Dont present session twice
11224 Update metal layer drawable size on relayout.
11226 Make firebase testlab always pass
11228 Re-enable firebase test and don't use google login
11230 Update tflite_native and language_model revisions to match the Dart SDK
11256 Upgrade compiler to Clang 10.
11265 make it possible to disable debug symbols stripping
11270 Reset NSNetService delegate to nil,when stop service.
11283 Fix objects equal to null not being detected as null
11300 Do not Prepare raster_cache if view_embedder is present
11305 Fix a segfault in EmbedderTest.CanSpecifyCustomTaskRunner
11306 Set FlutterMacOS podspec min version to 10.11
11309 Fix change_install_name.py to be GN-friendly
11310 When using a custom compositor, ensure the root canvas is flushed.
11315 Do not add null task observers
11330 Remove engine hash from the output artifact
11355 update sim script
11356 Remove engine hash from pom filename
11361 Include Java stack trace in method channel invocations
11367 Make message loop task entry containers thread safe
11368 Switch to an incremental runloop for GLFW
11374 Update scenarios readme
11382 Trivial: remove empty line in the pom file
11384 Account for root surface transformation on the surfaces managed by the external view embedder.
11388 Allow overriding the GLFW pixel ratio
11392 Wire up software rendering in the test compositor.
11394 Avoid root surface acquisition during custom composition with software renderer.
11395 Remove deprecated ThreadTest::GetThreadTaskRunner and use the newer CreateNewThread API.
11416 Shrink cirrus docker image: reduce RUN count, apt-get clean
11419 Support non-60 refresh rate on PerformanceOverlay
11420 Fix touchpad scrolling on Chromebook
11423 Add tracing of the number of frames in flight in the pipeline.
11427 Skip empty platform view overlays.
11436 update method for skia
11456 Update the ui.LineMetrics.height metric to be more useful to external users
11473 Add missing newline at EOF
11489 Ensure trailing newline before EOF in C++ sources
11520 Bitcode only for release
11524 Reuse texture cache in ios_external_texture_gl
11528 Strip bitcode from gen_snapshot
11537 Add check to enable metal for import
11550 Make Skia cache size channel respond with a value
11554 make engine, ui, and sdk rewriter inputs of dill construction
11576 Minor tweaks to the Doxygen theme.
11622 Include from font_asset_provider
11635 [flutter_runner] Port Expose ViewBound Wireframe Functionality
11636 [fidl][flutter_runner] Port Migrate to new fit::optional compatible APIs
11638 Update CanvasSpy::onDrawEdgeAAQuad for Skia API change
11649 [flutter] Port: Run handle wait completers on the microtask queue
11654 Append newlines to EOF of all translation units.
11655 Don't crash while loading improperly formatted fonts on Safari
11669 Add style guide and formatting information
11717 Return a JSON value for the Skia channel
11722 Quote the font family name whenever setting the font-family property.
11736 Add wasm to sky_engine
11776 [flutter_runner] Port over all the changes to the dart_runner cmx files
11783 completely strip bitcode
11795 Add a good reference source for font metrics.
11804 Incorporate View.setSystemGestureExclusionRects code review feedback from #11441
11808 Annotate nullability on FlutterEngine to make swift writing more ergonomic
11835 [CFE/VM] Fix merge/typo for bump to kernel version 29
11839 Remove ENABLE_BITCODE from Scenarios test app
11842 Fix RTL justification with newline by passing in full justify tracking var
11847 Add a sample unit test target to flutter runner
11849 Support building standalone far packages with autogen manifests
11875 [flutter_runner] Add common libs to the test far
11877 Finish plumbing message responses on method channels
11880 Handle new navigation platform messages
11893 Add @Keep annotation
11899 Improve input method and Unicode character display(#30661)
12011 Cherry-picks for 1.9.1
12016 [flutter_runner] Kernel platform files can now be built in topaz
12023 Fix multi span text ruler cache lookup failure.
12026 [flutter_runner] Plumb Flutter component arguments to the Dart entrypoint
12034 [flutter_runner] Refactor our build rules to make them more inline with topaz
12048 [flutter_runner] Generate symbols for the Dart VM profiler
12054 [flutter_runner] Port the accessibility bridge from Topaz
12076 Add a method to flutter_window_controller to destroy the current window.
12080 Don't quote generic font families
12081 Add GradientRadial paintStyle implementation
12087 Don't launch the observatory by default on each embedder unit-test invocation.
12204 Don't disable toString in release mode for dart:ui classes
12205 Don't load Roboto by default
12218 Namespace patched SDK names to not conflict with Topaz
12222 Do not generate kernel platform files on topaz tree
12226 [web_ui] add missing dispose handler for MethodCalls to flutter/platform_view
12227 [web_ui] PersistedPlatformView attribute update handling to enable resizing
12228 pin and auto-install chrome version
12229 Improve check to render (or not) a DRRect when inner falls outside of outer on RecordingCanvas
12249 Editable text fix
12253 Implement Base32Decode
12256 Do not assume Platform.script is a Dart source file during training.
12257 Re-enable ThreadChecker and fix associated failures
12258 Refactor and polish the 'felt' tool
12269 a11y: expose max character count for text fields
12273 Clean up after AppLifecycleTests
12274 Store screenshot test output as Cirrus artifacts; do fuzzy comparison of non-matching screenshot pixels
12275 Shuffle test order and repeat test runs once.
12281 optionally skip builds
12282 [flutter_runner] Change the path to artifacts
12287 Adds PluginRegistry to the C++ client wrapper API
12288 Include firefox in check to quote font families
12289 Fix flutter runner paths
12303 Add a build command to felt
12306 Fix the declaration of setSystemGestureExclusionRects to match the PlatformMessageHandler interface
12307 Cleanup in web_ui
12308 [flutter] Remove old A11y API's.
12318 Update canvaskit backend
12319 Add "type" to getDisplayRefreshRate protocol
12320 Fix continuous event polling in the GLFW event loop
12323 README for the felt tool
12330 Ensure DRRects without corners also draw.
12336 Check for index bounds in RTL handling for trailing whitespace runs.
12340 [flutter_runner] Do not use pre-builts just yet
12342 Update test to verify that secondary isolate gets shutdown before root isolate exits.
12343 [flutter_runner] Remove usages of shared snapshots from CC sources
12345 [flutter_runner] Port over the tuning advice for vulkan surface provider
12346 [flutter_runner] Move from runner context to component context
12347 [flutter_runner][async] Migrate dart/flutter to new async-loop APIs
12348 [flutter_runner] Port the new compilation trace from topaz
12349 [flutter_runner] Explicitly set |trace_skia| to false
12350 [flutter_runner] Port vulkan surface changes
12355 skip flaky test
12363 Track "mouse leave" event
12375 Sync dart_runner
12395 Update --dart-vm-flags whitelist to include --write-service-info and --sample-buffer-duration
12403 Don't send pointer events when the framework isn't ready yet
12410 Send TYPE_VIEW_FOCUSED for views with input focus.
12412 SkSL precompile
12426 Store fallback font names as a vector instead of a set.
12431 Interpret negative radii as 0 in recording_canvas.dart
12432 Work around Samsung keyboard issue
12434 delete golden files; switch to flutter/goldens
12435 add dart:html, dart:js, and dart:js_util to the copy of the Dart SDK used for analysis
12443 Force exit felt tool on sigint, sigterm
12446 Add support for JIT release mode
12447 Reflect selection changes in Firefox for text editing
12448 Make kDoNotResizeDimension public so framework can use it directly
12450 Adds support for 5 mouse buttons
12453 Adding Link SemanticsFlag
12454 Add .mskp file to binary format
12470 [web_ui] Check if a pointer is already down for the specific device
12479 Refactoring text_editing.dart
12563 Remove use of the blobs snapshot format from unittests
12565 Remove references to topaz
12573 [flutter_runner] Refactor thread_application pair to ActiveApplication
12618 Add isFocusable to SemanticsFlag
12681 Create a package-able incremental compiler
12695 Add onUnregistered callback in 'Texture' and 'FlutterTexture'
12698 [web_ui] Fixing invalid state bug for text editing
12699 Adding 'pub get' to the 'compile_xxxx.sh' in the Scenario app
12700 Add missing flag for embedder.
12701 Cleanup: Made a macro to assert ARC is enabled.
12706 Check for a null input method subtype
12708 Cleanup: Turned on NS_ASSUME_NONNULL_BEGIN for FlutterViewController.
12710 Set transparent background in textarea elements
12725 Expanded channel buffer resize to method channels.
12728 Remove unused import in the scenario app
12730 Stop setting the accessibility text if a node has SCOPES_ROUTE set.
12733 [flutter_runner] Make rd and rx uniform
12746 Send AccessibilityEvent.TYPE_VIEW_FOCUSED when input focus is set.
12754 Fix Metal builds by accounting for the updated SubmitFrame signature.
12775 Added some thread asserts to the code and made ios_surface_ safe since
12777 Fix Metal builds.
12780 Restart all modern Samsung keyboard IMM
12783 Add a unit-test to verify that root surface transformation affects platform view coordinates.
12785 Fix bug in package script and add dev_compiler to list
12793 Fixing selection issues in Firefox
12797 add option for bulk-updating screenshots; update screenshots (Work in progress
12798 [flutter_runner] Update the cmx files to include TZ support
12799 Disable EmbedderTest::CanLaunchAndShutdownMultipleTimes.
12800 Prettify all CMX files
12801 do not wrap font family name
12802 Build gen_snapshot with a 64-bit host toolchain even if the target platform is 32-bit
12808 Added an embedder example
12813 Unblock SIGPROF on flutter_tester start
12816 Enable sanitizer build variants.
12821 Update buildroot to pull in ubsan updates.
12931 remove references to package:_chrome
12958 Adding deviceId to KeyEventChannel enconding method
12960 Fix typo on channel buffer debug output.
12974 Support empty strings and vectors in standard codec
12980 Made _printDebug only happen on debug builds of the engine for now.
12982 Color matrix doc
12986 Prevent default when Tab is clicked
12988 Use the standard gen_snapshot target unless the platform requires host_targeting_host
12989 Unpublicize kDoNotResizeDimension
12991 Compile sanitizer suppressions list and file bugs as necessary.
12999 Started setting our debug background task id to invalid
13001 Missing link flag
13004 Allow embedders to disable causal async stacks in the Dart VM
13005 Auto-formatter fixes for BUILD.gn files
13008 Integration with more of Skia's SkShaper/SkParagraph APIs
13009 Fixing Link Semantics Typo
13015 Fire PlatformViewController FlutterView callbacks
13042 Add "felt clean" command
13043 Add a task runner for the Win32 embedding
13044 Support keyboard types on mobile browsers
13047 Allow embedders to specify arbitrary data to the isolate on launch.
13049 Ignore thread leaks from Dart VM in tsan instrumented builds.
13053 Set the Cirrus badge to only display status of the master branch.
13056 Put Metal renderer selection behind runtime flag and plist opt-in.
13071 [dart_aot_runner] Add support for generating dart_aot snapshots
13074 [dart_aot_runner] Add rules to generate dart_aot binaries
13082 java imports/style
13085 Print more output when gen_package fails
13086 Gen package output corrected
13088 felt: use rest args for specifying test targets
13089 cleanup gen_package.py
13090 Snapshot the felt tool for faster start-up
13091 Remove persistent cache unittest timeout
13094 Integrate more SkParagraph builder patches
13096 [dart_aot_runner] Use the host_toolchain to build kernels
13097 Update felt README
13101 [dart_aot_runner] Generate vmservice aotsnapshots
13103 [dart_aot_runner] Complete the port of dart_aot_runner
13121 Change IO thread shader cache strategy
13122 refactoring chrome_installer
13123 Upgrades the ICU version to 64.2
13124 Allow embedders to specify a render task runner description.
13125 add the dart:__interceptors library to the dart sdk
13126 [frontend_server] Include bytecode generation in the training run.
13143 Add flutter_tester binary to the CIPD package
13144 Document //flutter/runtime/dart_vm
13151 Remove incomplete static thread safety annotations.
13153 Make the Dart isolate constructor private.
13154 Fix an output file path for the frontend server package_incremental script
13157 Fix type error in SkVertices
13159 Move surface-based SceneBuilder implementation under surface/
13162 Document //flutter/runtime/dart_isolate.h
13175 Remove redundant call to updateEditingState in sendKeyEvent
13176 Add repeatCount to FlutterKeyEvent
13177 Update compiler to Clang 10.
13182 If we get a 'down' event, add that device to the active devices.
13185 Adding firefox_installer.dart
13192 Use window.devicePixelRatio in the CanvasKit backend
13193 Custom compositor layers must take into account the device pixel ratio.
13196 Document //flutter/runtime/dart_snapshot.h
13207 Wrap the text in text editing to fix selections.
13209 Preserve stdout colors of subprocesses run by felt
13212 Add trace events around custom compositor callbacks.
13218 Specify a human readable reason for an error from the embedder API.
13232 Avoid dereferencing IO manager weak pointers on the UI thread
13237 Do not attempt to drain the SkiaUnrefQueue in the destructor
13238 Allow embedders to update preferrred locales.
13239 Hold a reference to the Skia unref queue in UIDartState
13240 Update CanvasKit to 0.7.0 and flesh out painting
13241 Ignore *.obj files when gathering licenses
13242 Update harfbuzz to 2.6.2, Roll buildroot to a518e
13255 Fix NPE in accessibility bridge
13261 Updated license script to ignore testdata directories
13265 Ensure we call into Engine from the UI taskrunner in Shell::EngineHasLivePorts()
13269 Send flag modified events to the framework
13270 Add recipe changelog
13274 Fix decode feature detection in HtmlCodec
13275 Flesh out the CanvasKit backend some more
13292 Disable flaky test ShellTest_ReportTimingsIsCalled.
13295 Avoid accessing the Cocoa view on the GPU or IO task runners.
13311 [recipe] Upload opt flutter_tester
13314 Guarding EAGLContext used by Flutter
13319 Add FlutterEngineRunsAOTCompiledDartCode to the embedder API.
13321 Pass LinearTextFlag to SkFont - iOS13 letter spacing
13337 Bump dart/language_model to 9fJQZ0TrnAGQKrEtuL3-AXbUfPzYxqpN_OBHr9P4hE4C
13342 Intercept SystemSound.play platform message before it's sent.
13345 Expose platform view ID on embedder semantics node
13360 Turn on RasterCache based on view hierarchy
13361 Expand on CanvasKit backend more
13364 [flutter_runner] Remove the checks for libdart profiler symbols
13367 Delay metal drawable acquisition till frame submission.
13391 Implement basic Picture.toImage via BitmapCanvas
13395 fix fml_unittes is not run during presubmit
13397 [flutter_runner] Don't build far files twice
13401 Reformat BUILD.gn files to comply with the format checker presubmit script
13405 Make sure root surface transformations survive resetting the matrix directly in Flow.
13406 Fix the dry run mode of the GN format checker script
13407 Kick luci
13419 [dart_runner] Common libs need to exist for aot runner
13424 Add isRunningInRobolectricTest back
13440 Switch to Cirrus Dockerfile as CI
13444 Remove usage of yaml module from CIPD script
13448 Duplicate the directory fd in fml::VisitFiles
13451 Fix mDNS for iOS13
13460 [dart] Makes the intl services available
13461 CIPD needs the directory to be relative
13464 [recipe] Upload sky_engine to CIPD
13468 Pass the automaticallyRegisterPlugins flag to the FlutterEngine constructor in FlutterActivityTest
13478 use check_output instead of check_call
13479 Print the output
13630 Fix bug where Enter doesn't add new line in multi-line fields
13642 Issues/39832 reland
13643 Ensure that the CAMetalLayer FBO attachments can be read from.
13649 Add 'Cough' test font and support multiple test fonts.
13695 Fix Class.forName unchecked call warning
13697 Moves pointer event sanitizing to engine.
13708 Ensure that the device pixel ratio is taken into account with window metrics in physical pixels.
13710 Fix picture raster cache throttling
13711 Imagefilter wrapper object
13719 Fix NPE in splash screen lookup
13727 Add line boundary information to LineMetrics.
13728 Prefer SchedulerBinding.addTimingsCallback
13731 Expose the platform view mutator stack to custom compositors.
13735 Cleanup obsolete --strong option of front-end server
13736 libtxt: pass an RTL bool flag instead of a bidiFlags enum to measureText
13742 Only specify --no-link-platform when not specifying --aot, roll dart-lang sdk
13744 Create a new picture recorder even when the embedder supplied render target is recycled.
13747 Move TextRange from the framework to dart:ui.
13760 Implement Path.computeMetrics in the CanvasKit backend
13762 Turn on RasterCache based on view hierarchy
13765 Change wordBoundary to take dynamic temporarily
13768 Add ImageFilter and BackdropFilter to CanvasKit backend
13772 Move Path and PathMetrics from canvas.dart into their own files. No delta
13780 Allow passing hot reload debugging flags through
13781 Create a WeakPtrFactory for use on the UI thread in VsyncWaiter
13782 Document the coordinate space of points in FlutterPointerEvent.
13784 Add Helvetica and sans-serif as fallback font families
13785 Fix RendererContextSwitch result check in Rasterizer::MakeRasterSnapshot
13786 Take devicePixelRatio into account when drawing shadows
13795 Adds missing comma in EngineParagraphStyle.toString()
13796 implement radial gradient in canvaskit backend
13799 Update version of dart/language_model distributed with flutter engine to latest
13803 [build] Make --engine-version flag optional
13805 Remove extra shadows from ParagraphStyle
13812 RendererContextSwitch guard flutter's gl context rework.
13829 [dart_runner] Initialize logging and tracing
13832 Remove unused import
13848 Use Skia's matchStyleCSS3 to find bundled asset typefaces matching a font style
13850 Fix test to account for pixel ratio transformations being framework responsibility.
13851 Implement the rest of ui.Path methods for CanvasKit
13869 Changing test runner and platform to be browser independent
13881 Change edge conditions of getLineBoundary
13902 Adding opacity -> alpha method to Color class
13903 Implement basic text rendering support in CanvasKit backend
13904 Fix withIn matcher distance function lookup
13907 allow ignoring toString, hashCode, and == in api_conform_test
13908 Made a way to turn off the OpenGL operations on the IO thread for backgrounded apps
13918 Add virtual destructor to GPUSurfaceSoftwareDelegate.
13926 Add dev_compiler and frontend_server to package uploading rule
13934 Ensure we use the base CompositorContext's AcquireFrame method when screenshotting
13943 Made the thread checker print out the thread names on Apple platforms.
13945 Update SwiftShader to 5d1e854.
13962 Added auto-reviewer config file
13975 Refactor to passing functions by const ref
14082 add pointer data santizing in flutter web engine
Plugins
#We have made significant improvements in our plugins. We upgraded a set of plugins to support web development. Also, to support Add to App scenarios, we have a new set of APIs available for existing Android plugins to be upgraded to. If you are currently maintaining an Android plugin. We encourage you to check the Migrating your plugin to the new APIs documentation, and upgrade your plugins accordingly.
1984 Remove Flutterfire plugins (moved to FirebaseExtended)
2004 [cirrus] Use flutter create for all_plugins test
2009 Fix unit test for sensors
2036 video player version fix
2055 Point opensource site at new location
2084 [update] local_auth - intl version
2112 Run flutter_plugin_tools format
2141 BugFix: formatHint was meant for network streams.
2154 Use stable Flutter image as base
2161 Rename instrumentation_adapter plugin to e2e plugin
2205 s/flutter_android_lifecycle/flutter_plugin_android_lifecycle/
2230 Forbid ... implements UrlLauncherPlatform
2231 [cleanup] Remove AndroidX warning
2236 Use package import to import files inside lib/ directory.
2250 Run the publish with the pub version from flutter stable
2260 Make setMockInitialValues handle non-prefixed keys
2267 Bump google_maps_flutter pubspec version to match CHANGELOG
2271 [infra] Ignore analyzer issues in CI
2280 Add google_sign_in_web plugin.
Plugin: Android Alarm Manager
#We added the ability to get id in the callback in the Android Alarm Manager plugin.
1985 [android_alarm_manager] Added ability to get id in the callback
Plugin: Android Intent
#We made several improvements in the Android Intent plugin including adding the ability to pass intent flags (contributed by a community member!), and upgrading it to the new plugin API.
2000 [android_intent] add flags option
2045 [android_intent] Add action_application_details_settings
2143 [android_intent] Migrate to the new embedding
2188 [android_intent] Bump the Flutter SDK min version
2202 [android_intent] componentName must be provided before resolveActivity is called
2221 [android_intent]remove AndroidX constraint
2268 [android_intent] Add missing DartDocs
Plugin: Battery
#General bug fix in the Battery plugin.
2189 [battery] relax the example app minimal required Flutter version
Plugin: Camera
#We upgraded the Camera plugin to the new plugin API, and made some bug fixes.
2057 [Camera] Fixes NullPointerException
2123 [camera] Fix event type check
2219 [camera]remove androidx constraint
Plugin: Connectivity
#General bug fixes in the Connectivity plugin.
2212 [connectivity]remove AndroidX constraint
2262 [connectivity] add more documentations, delete example/README
Plugin: e2e
#General bug fixes in the e2e plugin.
2022 [instrumentation_adapter] Update README instructions
2023 [instrumentation_adapter] update boilerplate to use @Rule instead of FlutterTest
2024 [instrumentation_adapter] update CODEOWNERS
2051 [instrumentation_adapter] update for release
2075 [instrumentation_adapter] Migrate example to AndroidX
2178 [e2e] update README
2190 [e2e] Update to support new embedder
2233 [e2e] update README
Plugin: Google Maps Flutter
#We have made several improvements in the Google Maps plugin including adding support for displaying the traffic layer.
1702 [google_maps_flutter]Marker drag event
1767 [google_maps_flutter] Adds support for displaying the traffic layer
1784 [google_maps_flutter] Allow (de-)serialization of CameraPosition
1933 [google_maps_flutter] Avoid unnecessary redraws
2053 [google_maps_flutter] Fix analyzer failures relating to prefer_const_constructors
2065 [google_maps_flutter] Prefer const constructors.
2076 [google_maps_flutter] Clone cached elements in GoogleMap
2108 [google_maps_flutter] Add Projection methods to google_maps
2113 [google_maps_flutter] Avoid AbstractMethod crash
2242 [google_maps_flutter] Cast error.code to unsigned long to avoid using NSInteger as %ld format warnings.
Plugin: Google Sign In
#We made some bug fixes in Google Sign in plugin. Meanwhile, we converted it to a federated plugin to help it scale more efficiently to multiple platforms. For more information, refer to Federated plugins.
2059 [google_sign_in] Fix chained async methods in error handling zones
2127 [google_sign_in] Fix deprecated API usage issue by upgrading CocoaPod to 5.0
2244 [google_sign_in] Move plugin to its subdir to allow for federated implementations
2252 [google_sign_in] Handle new style URLs in GoogleUserCircleAvatar
2266 [google_sign_in] Port plugin to use the federated Platform Interface
Plugin: Image Picker
#General bug fixes in the Image Picker plugin.
2070 [image_picker] swap width and height when source image orientation is left or right
2293 [image_picker]fix a crash when a non-image file is picked.
Plugin: In App Purchase
#General bug fixes in the In App Purchase plugin.
2014 [In_App_Purchase] Avoids possible NullPointerException with background registrations.
2016 [In_App_Purchase] Improve testability
2027 [in_app_purchase] Remove skipped driver test
2215 [in_app_purchase] remove AndroidX constraint
Plugin: Local Auth
#General bug fixes in the Local Auth plugin.
2047 [local_auth] Avoid user confirmation on face unlock
2111 [local_auth] Api to stop authentication
Plugin: Package Info
#General bug fixes in the Package Info plugin.
2218 [package_info]remove AndroidX constraint
Plugin: Path Provider
#In the Path Provider plugin, we added getApplicationLibraryDirectory, which is contributed by a community member!
1953 [path_provider] add getApplicationLibraryDirectory
1993 [pathprovider] Fix fall through bug
2288 [path_provider] Add missing DartDocs
Plugin: Share
#Documentation update in the Share plugin.
2297 [share] README update
Plugin: Shared Preferences
#General bug fixes in the Shared Preferences plugin.
2241 [Shared_preferences]suppress warnings
2296 [shared_preferences] Add missing DartDoc
Plugin: Url launcher
#We upgraded the Url launcher plugin to the new plugin API, and fixed some bugs. Meanwhile, we have converted the Url launcher into a federated plugin to help it scale more efficiently to multiple platforms. For more information, refer to Federated plugins.
2038 [url_launcher] Removed reference to rootViewController during initialization
2136 [url_launcher_web] Fix README.md pubspec example
2217 [url_launcher] Add url_launcher_platform_interface package
2220 [url_launcher]remove AndroidX constraint
2228 [url_launcher] Use url_launcher_platform_interface to handle calls
2237 [url_launcher] Migrate url_launcher_web to the platform interface
2274 [url_launcher] DartDoc and test improvements
Plugin: Video Player
#We upgraded the Video Player plugin to the new plugin API, and made some bug fixes. Meanwhile, we have converted it into a federated plugin to help it scale more efficiently to multiple platforms. For more information, refer to Federated plugins.
1813 [video-player] add support for content uris as urls
1998 [video_player] Fix deprecated member use
2124 [video_player] Move [player dispose] to onUnregistered
2158 [video_player] Basic test for VideoPlayerController initialization
2273 [video_player] Add platform interface
2286 [video_player] Improve DartDocs and test coverage
Plugin: Webview Flutter
#We upgraded the Webview Flutter plugin to the new plugin API, and made some bug fixes.
1996 [webview_flutter] Allow underscores anywhere for Javascript Channel name
2257 [webview_flutter] Add async NavigationDelegates
Tooling
#Flutter tooling is another big investment in this release. We launched a new version of DartPad that allows you to play with Flutter directly in your browser without installing anything, released a new feature "Hot UI" (in preview) that allows you to interact with widgets directly in the IDE, enhanced Dart DevTools with a new visual layout view, enabled simultaneous multi-device debugging in Visual Studio Code, and added support for "golden" image testing.
In addition to the PRs listed below, please also check out the following releases for the IntelliJ and Android Studio Flutter plugin, the VS Code Flutter plugin and Dart DevTools:
VS Code
#- 10/1/2019: dartcode.org/releases/v3-5/
- 11/1/2019: dartcode.org/releases/v3-6/
- 12/5/2019: dartcode.org/releases/v3-7/
Flutter IntelliJ and Android Studio plugin
#- 10/1/2019: Flutter IntelliJ Plugin M40 Release
- 11/1/2019: Flutter IntelliJ Plugin M41 Release
- 12/5/2019: Flutter IntelliJ Plugin M42 Release
DevTools
#- 10/2/2019: New Dart DevTools Release 0.1.8
- 10/17/2019: New Dart DevTools Release 0.1.9
- 11/8/2019: New Dart DevTools Release 0.1.11
- 12/6/2019: New Dart DevTools Release 0.1.12
Tooling PRs
#37508 build bundle with assemble
37642 Unit test for build.dart::GenSnapshot
37832 add --exit and --match-host-platform defaults to devicelab runner
37845 echo error messages to stderr
38560 refactor cocoapods validator to detect broken install
38576 flutter_tools/version: git log.showSignature=false
38632 Flutter Plugin Tool supports multi-platform plugin config
38654 [flutter_tool] Remove some async file io
38869 Store file hashes per build configuration.
38894 [flutter_tool] Move http request close under try-catch
38907 Throw error when hot reload enters bad state
38920 [flutter_tool] Handle crashes from doctor validators
38925 [flutter_tool] Only send one crash report per run
38932 Add build warning for non-debug desktop builds
39000 Dont throw StateError when calling assemble
39005 [flutter_tool] Teach crash reporter about HttpException
39013 Update package versions to latest
39052 Make forward calls run interactively
39136 [flutter_tool] Some additional input validation for 'version'
39140 Move commands into their own shard
39147 Downgrade the AndroidX warning
39274 Use output dir instead of specific paths in assemble rules
39280 [flutter_tool] Use a timeout for xcode showBuildSettings
39358 surface errors from build runner
39445 [flutter_tool] Add onError callback to asyncGuard. Use it in Doctor
39524 Register flutterVersion service in flutter_tools.
39530 keep symbols for profile
39541 Handle single unsupported device
39555 Use feature flags to control build command visibility
39558 Filter error message from skip build script checks
39579 [flutter_tools] Add a timeout to another showBuildSettings command
39654 Use persisted build information to automatically clean old outputs
39699 Detecting when installing over MingW's Git Bash, fixing paths
39781 Add lib/generated_plugin_registrant.dart to gitignore
39782 Allow specifying a project for Xcode getInfo
39899 [flutter_tool] process.dart cleanup
39997 Remove visibleForTesting annotation; this constructor is used outside…
40029 [BUG] Process all children of intent-filter instead of just the first one to identify default activity
40131 ensure we use pub from flutter SDK
40159 [flutter_tool] Kill a timing-out process before trying to drain its streams
40171 Place hot reload artifacts in a temp directory
40195 Make Swift plugin template swift-format compliant
40210 make sure we launch with dwds
40259 remove io and isolate from libraries
40366 Place existing dill into hot reload temp directory to boost initialization time
40368 ensure dart2js does not compile unsupported packages
40397 Adds list required components when VS is not installed
40410 Remove fluter tool usage of protobuf
40435 [flutter_tool] Remove the synchronous -showBuildSettings
40472 Dont kill other processes when starting desktop application
40783 ensure debug builds are only accessible through run
40795 Update toolchain description to request the latest version
40968 add missing trailing commas in flutter_tools
40988 [flutter_tool] Report rss high watermark in command analytics events
41224 fix flutter error report correct local widget
41304 [flutter_tools] Allows adding multiple signal handlers
41401 Flutter build bundle without --precompiled should always perform a debug build.
41406 Retry devfs uploads in case they fail.
41424 Don't update last compiled time when compilation is rejected
41447 Switch to assemble API for dart2js
41493 [flutter_tool] Report to analytics when the tool is killed by a signal
41514 Ensure we find dart.exe on local engines
41519 Make desktop stopApp only apply to processes Flutter started
41583 Add debugging option to write vmservice address to file after starting
41610 track unused inputs in build_runner
41621 change logging in mDNS discovery to verbose-mode only
41652 [flutter_tools] Add more info to pub get failure event
41687 Use processManager.run() instead of manually capturing streams in test_utils getPackages()
41697 Handle missing .packages file in the flutter tool for prebuilt artifacts
41735 handle empty entry in asset list and add more explicit validation
41751 Add support for downloading x86 JIT release artifact
41788 Reduce log verbosity by removing individual used files
41832 Plumb --enable-asserts through to frontend_server invocation in debug…
41862 Make output directory a build input
41989 Flutter doctor should require java 1.8+
42008 Restructure ProjectFileInvalidator.findInvalidated a bit
42016 [flutter_tool] Re-work analytics events to use labels and values
42026 Stop leaking iproxy processes
42028 Make ProjectFileInvalidator.findInvalidated able to use the async FileStat.stat
42187 Be more verbose when pub fails
42209 Add error logging to flutter generate
42243 Improve trailing whitespace message
42252 catch argument error from Make
42353 Add --cache-sksl flag to drive and run
42354 Pass -Ddart.developer.causal_async_stacks=true to frontend_server invocations.
42364 Wrap dwds in async guard, only catch known error types
42373 Switch build commands to use process utils
42376 Add option to precache unsigned mac binaries.
42471 Pass build mode-specific bytecode generation options to frontend_server.
42476 Refactor BuildMode into class, add jit_release configuration
42491 Extra defensive programming for pub modification time assert
42538 [flutter_tool] Improve yaml font map validation
42597 Deflake wildcard asset test
42655 resident_web_runner doesn't close debug connection
42656 Catch appInstanceId error
42668 dispose devices on cleanupAtFinish() for run_cold.dart
42698 Ensure we stop the status when browser connection is complete
42791 fix type error in manifest asset bundle
42813 Fix NPE in Chrome Device
42972 Do not produce an error when encountering a new type in a service response.
42977 switch dart2js build to depfile, remove Source.function
43016 ensure we can disable --track-widget-creation in debug mode
43022 Enable dump-skp-on-shader-compilation in drive
43042 add samsungexynos7570 to list of known physical devices
43080 Indent Kotlin code with 4 spaces
43180 Adding missing break in plugin validation check
43217 [flutter_tool] Update analytics policy, send event on disable
43219 Add devfs for incremental compiler JavaScript bundle
43225 Catch io.StdinException from failure to set stdin echo/line mode
43281 Add compiler configuration to support dartdevc target
43292 initial bootstrap script for incremental compiler support
43381 [flutter_tool] Use engine flutter_runner prebuilts
43390 catch ChromeDebugException from dwds
43401 Handle permission error during flutter clean
43402 Handle format error from vswhere
43403 Handle version and option skew errors
43436 Handle onError callback with optional argument
43448 Don't html-escape in the plugin registrant templates.
43471 flip track widget creation on by default
43544 Catch AppConnectionException
43546 Alias upgrade-packages => update-packages
43577 set trace to true for desktop builds
43586 Ensure Chrome is closed on tab close
43598 Catch failed daemon startup error
43599 catch failure to parse FLUTTER_STORAGE_BASE_URL
43602 Don't indefinitely persist file hashes, handle more error conditions
43667 Added a null check for ranges in the sourceReport map.
43725 Add reloadMethod RPC
43753 pass --no-gen-bytecode to aot kernel compiler invocations
43764 Update create.dart
43767 check if libimobiledevice executables exist
43800 de-flake logger test
43862 Ensure target platform is passed is always passed
43870 check for instanceof instead of runtimeType
43907 Serve correct mime type on release dev server
43908 remove no-gen-bytecode flag
43945 Remove Source.behavior, fix bug in depfile invalidation
44017 Asset server fix for sourcemaps
44027 Allow specifying device-vmservice-port and host-vmservice-port
44032 Copy chrome preferences to seeded data dir
44052 Remove flutter_tool services code
44083 Add --dart-define option
44119 [flutter_tool] --flutter_runner will download the debug symbols
44146 Remove flutter.yaml migration code
44200 Make ProjectFileInvalidator injectable
44221 Use platform appropriate filepaths
44227 [flutter_tool] Screenshot command must require device only for _kDeviceType
44278 Do not pass obsolete --strong option to front-end server
44279 link platform should be true for profile
44360 [flutter_tool] Stream artifact downloads to files
44447 implicit-casts:false on flutter_tools/lib
44481 Provide specific field to accept depfiles in target class
44488 Refactorings to testbed.run and testbed.test
44574 Print a message when modifying settings that you may need to reload IDE/editor
44608 Reduce some direct package:archive usage
44753 Always link desktop platforms
44868 Catch and display version check errors during doctor
44933 [flutter_tool] Don't crash when failing to delete downloaded artifacts
44966 Don't log stack traces to console on build failures
45011 catch IOSDeviceNotFoundError in IOSDevice.startApp()
45153 implicit-casts:false on flutter_tools
45236 Improve time to development by initializing frontend_server concurrently with platform build
45239 implicit-casts:false in fuchsia_remote_debug_protocol
45303 Allow unknown fields in pubspec plugin section
45317 de-null dartDefines in daemon mode
45319 catch parse error from corrupt config
45364 Allow a no-op default_package key for a plugin platform
45407 Don't crash if the tool cannot delete asset directory
46011 [flutter_tool] Do not continue with a no-op 'upgrade'
Full PR List
#See the full list of merged PRs for the 1.12 release.
Unless stated otherwise, the documentation on this site reflects the latest stable version of Flutter. Page last updated on 2024-06-01. View source or report an issue.