Download Latest Version Flutter 3.19 beta (January 10, 2024) source code.tar.gz (12.9 MB)
Email in envelope

Get an email when there's a new version of Flutter

Home / 3.18.0-0.1.pre
Name Modified Size InfoDownloads / Week
Parent folder
Flutter 3.18 beta (December 5, 2023) source code.tar.gz 2023-12-05 12.8 MB
Flutter 3.18 beta (December 5, 2023) source code.zip 2023-12-05 17.8 MB
README.md 2023-12-05 42.1 kB
Totals: 3 Items   30.6 MB 0

The release of the Flutter 3.18 beta contains the changes noted below.

We’ve also included summaries of notable commits towards features and enhancements of interest. These summaries help you quickly assess what this beta has to offer and why you should use it, as well as highlight the features we’d love your feedback on and your help testing.

To try out the newest beta run:

flutter channel beta
flutter upgrade

Flutter 3.18 beta (December 5, 2023)

Flutter Framework

Notable commits

Added support for Apple system fonts

Flutter text now looks a little more compact and a little more native on iOS. For the "Text" font this will be more secure in the future against possible changes to Apple's API. For the "Display" font, this will now work correctly when it didn't before. * Refactor to use Apple system fonts by @MitchellGoodwin in https://github.com/flutter/flutter/pull/137275

Adaptive Switch

The implementation of Switch.adaptive no longer depends on the Cupertino library. Everything is handled by the Material component and there are no longer any switch properties that are not supported by the .adaptive version. We also added support for customizing the appearance of adaptive components. * Adaptive Switch by @QuncCccccc in https://github.com/flutter/flutter/pull/130425

Scrolling

Flutter used to scroll twice as fast if you dragged two fingers. You can now configure the default ScrollBehavior with MultiTouchDragStrategy.latestPointer to get number-of-fingers-agnostic scrolling behavior. We also updated scrolling so now if you start dragging or tap while a scroll is underway the scroll stops as expected. * Introduce multi-touch drag strategies for DragGestureRecognizer by @xu-baolin in https://github.com/flutter/flutter/pull/136708 * Fix 2D tap to stop scrolling by @Piinks in https://github.com/flutter/flutter/pull/138442

Increased access to text widgets’ state

We added support for a MaterialStatesController in TextField and TextFormField so that you can listen to MaterialState changes. * TextField and TextFormField can use a MaterialStatesController by @Renzo-Olivares in https://github.com/flutter/flutter/pull/133977

UndoHistory stack

We fixed a problem where the undo/redo history could disappear on Japanese keyboards, and made it so you can now modify the UndoHistory stack. * Add undoStackModifier to UndoHistory by @Renzo-Olivares in https://github.com/flutter/flutter/pull/138674

Visuals and animations

This beta includes many improvements to visuals and animations across the Flutter Framework, most notably: * Make UnderlineInputBorder consistent by @bernaferrari in https://github.com/flutter/flutter/pull/124153 * Introduce AnimationStyle by @TahaTesser in https://github.com/flutter/flutter/pull/137945 * Fix sliver persistent header expand animation by @feduke-nukem in https://github.com/flutter/flutter/pull/137913 * Add ability to customize NavigationBar indicator overlay and fix indicator shape for the overlay by @TahaTesser in https://github.com/flutter/flutter/pull/138901

Framework

The remaining Framework commits from Flutter Framework are listed below: * Upgrade leak_tracker and remove some deps in allow list. by @polina-c in https://github.com/flutter/flutter/pull/137806 * [leak-tracking] Add more leak tracking in test/painting [#3] by @droidbg in https://github.com/flutter/flutter/pull/136170 * [web] dispatch corresponding keyup events in text editing integrations by @knopp in https://github.com/flutter/flutter/pull/136874 * Updated the nested navigation NavigationBar example by @HansMuller in https://github.com/flutter/flutter/pull/137788 * AppLifecycleListener should dispatch creation and disposal events. by @ksokolovskyi in https://github.com/flutter/flutter/pull/137840 * InkFeature should dispatch creation and disposal events. by @ksokolovskyi in https://github.com/flutter/flutter/pull/137793 * Reverts "[Android] Support Android 34" by @auto-submit in https://github.com/flutter/flutter/pull/137865 * Tooltip docs: Recommend setting preferBelow to false in theme by @chrisbobbe in https://github.com/flutter/flutter/pull/135879 * Send caret rect to embedder on selection update by @cbracken in https://github.com/flutter/flutter/pull/137863 * Remove unused generic type from BottomSheet by @goderbauer in https://github.com/flutter/flutter/pull/137791 * InheritedElement.removeDependent() by @s0nerik in https://github.com/flutter/flutter/pull/129210 * HeroController should dispatch creation and disposal events. by @ksokolovskyi in https://github.com/flutter/flutter/pull/137835 * Provide a helpful error message when ColorScheme.brightness doesn't match ThemeData.brightness by @TahaTesser in https://github.com/flutter/flutter/pull/137611 * Update BottomNavigationBar tests for M3 by @bleroux in https://github.com/flutter/flutter/pull/136624 * Reverts "Update BottomNavigationBar tests for M3" by @auto-submit in https://github.com/flutter/flutter/pull/137948 * Cover text_selection tests with leak tracking. by @ksokolovskyi in https://github.com/flutter/flutter/pull/137009 * ScrollActivity should dispatch creation and disposal events. by @ksokolovskyi in https://github.com/flutter/flutter/pull/137961 * SemanticsHandle should dispatch creation and disposal events. by @ksokolovskyi in https://github.com/flutter/flutter/pull/137960 * Added an AnimationController API doc example by @HansMuller in https://github.com/flutter/flutter/pull/137975 * Document where Curves curves correspond to CSS easing functions by @gnprice in https://github.com/flutter/flutter/pull/137318 * Revert "Add no-shuffle to reorderable_list_test.dart" by @dnfield in https://github.com/flutter/flutter/pull/137715 * Ticker should dispatch creation and disposal events. by @ksokolovskyi in https://github.com/flutter/flutter/pull/137844 * Add support for color and color blendmode in FadeInImage by @prasadsunny1 in https://github.com/flutter/flutter/pull/137681 * Document additional cases by @dnfield in https://github.com/flutter/flutter/pull/137957 * [Android] Fix FlutterTestRunner.java deprecations by @camsim99 in https://github.com/flutter/flutter/pull/138093 * Remove physicalGeometry by @goderbauer in https://github.com/flutter/flutter/pull/138103 * Add onSubmitted and onChanged for SearchAnchor and SearchAnchor.bar by @QuncCccccc in https://github.com/flutter/flutter/pull/136840 * Make it possible to disable tapping to dismiss a tooltip. by @hangyujin in https://github.com/flutter/flutter/pull/137375 * Fix text selection in SearchAnchor/SearchBar by @Renzo-Olivares in https://github.com/flutter/flutter/pull/137636 * [Android] Support Android 34 (take 2) by @camsim99 in https://github.com/flutter/flutter/pull/137967 * Adds useRootNavigator property to PopupMenuButton widget. by @piedcipher in https://github.com/flutter/flutter/pull/137453 * Update analytics constructor to include FLUTTER_HOST by @eliasyishak in https://github.com/flutter/flutter/pull/138107 * Fix [#128925] by properly setting the Android Event Source by @johnmccutchan in https://github.com/flutter/flutter/pull/138241 * GestureRecognizer should dispatch creation and disposal events. by @ksokolovskyi in https://github.com/flutter/flutter/pull/138223 * Deprecates onWillAccept and onAccept callbacks in DragTarget. by @chinmoy12c in https://github.com/flutter/flutter/pull/133691 * Docs typo: comprised -> composed by @EnduringBeta in https://github.com/flutter/flutter/pull/137896 * Upgrade leak tracker. by @polina-c in https://github.com/flutter/flutter/pull/138283 * Clean up synonyms, key code generation. by @gspencergoog in https://github.com/flutter/flutter/pull/138192 * Update DraggableScrollableSheet docs to reflect API change by @huycozy in https://github.com/flutter/flutter/pull/136471 * Finally remove analysis_options_user.yaml by @goderbauer in https://github.com/flutter/flutter/pull/138261 * Fixing typo by @peterabrahamdev in https://github.com/flutter/flutter/pull/138253 * Reland "Update framework_test.dart to remove ButtonBar usage and remove references from other clases (#137550) by @TahaTesser in https://github.com/flutter/flutter/pull/137753 * Add to TableCell docs by @Piinks in https://github.com/flutter/flutter/pull/138258 * Reland [SingleChildScrollView] Correct the offset pixels if it is out of range during layout by @xu-baolin in https://github.com/flutter/flutter/pull/136871 * SemanticOwner should dispatch creation and disposal events by @droidbg in https://github.com/flutter/flutter/pull/138388 * Reland VelocityTracker update (#132291) by @Piinks in https://github.com/flutter/flutter/pull/137381 * [web] skip flaky overflow_clipbehavior_none.cupertino.0.png golden check by @yjbanov in https://github.com/flutter/flutter/pull/138498 * Reverts "Reland VelocityTracker update (#132291)" by @auto-submit in https://github.com/flutter/flutter/pull/138512 * Pin package:web 0.4.0 by @srujzs in https://github.com/flutter/flutter/pull/138428 * Prepare ShortcutActivator and ShortcutManager to migrate to KeyEvent from RawKeyEvent. by @gspencergoog in https://github.com/flutter/flutter/pull/136854 * [flutter_tools] - Add queries section to Android manifest file by @bleroux in https://github.com/flutter/flutter/pull/137207 * Reduce animations further when --no-cli-animations is set. by @Hixie in https://github.com/flutter/flutter/pull/133598 * Enable the silent flag for invalid string exceptions when building a TextSpan by @jason-simmons in https://github.com/flutter/flutter/pull/138564 * Turn off leak tracker in master to make found leaks not blocking. by @polina-c in https://github.com/flutter/flutter/pull/138567 * Enable flutter screenshot outside Flutter project directory by @victoreronmosele in https://github.com/flutter/flutter/pull/138160 * Reverts "Introduce AnimationStyle" by @auto-submit in https://github.com/flutter/flutter/pull/138628 * Fix NoSplash not being disposed by @LinXunFeng in https://github.com/flutter/flutter/pull/138542 * Update links and surrounding text for new main-api docs by @parlough in https://github.com/flutter/flutter/pull/138602 * Reland update bottom navigation bar test for m3 by @bleroux in https://github.com/flutter/flutter/pull/137998 * [Reland] Introduce AnimationStyle by @TahaTesser in https://github.com/flutter/flutter/pull/138721 * Added Features requested in [#137530] by @mhbdev in https://github.com/flutter/flutter/pull/137532 * Fix Chips with Tooltip throw an assertion when enabling or disabling by @TahaTesser in https://github.com/flutter/flutter/pull/138799 * Fix M3 Tabs Specs links by @TahaTesser in https://github.com/flutter/flutter/pull/138808 * Reland VelocityTracker update (again) by @Piinks in https://github.com/flutter/flutter/pull/138843 * Revert "Reland VelocityTracker update (again)" by @eyebrowsoffire in https://github.com/flutter/flutter/pull/138863 * Add commandHasTerminal parameter + apple usage event + sendException events for package:unified_analytics by @eliasyishak in https://github.com/flutter/flutter/pull/138806 * Update the default outline color for OutlinedButton by @QuncCccccc in https://github.com/flutter/flutter/pull/138768 * make FakeView not send Scene and semantics to the engine by @yjbanov in https://github.com/flutter/flutter/pull/138849 * Fix SliverGrid garbage collection issue by @chunhtai in https://github.com/flutter/flutter/pull/138915 * Write tests for API examples of BottomNavigationBar and IconButton by @JaspervanRiet in https://github.com/flutter/flutter/pull/138188 * Prepare for dynamically sized views by @goderbauer in https://github.com/flutter/flutter/pull/138565 * Prepare for dynamically sized views - pt. 2 by @goderbauer in https://github.com/flutter/flutter/pull/139079 * Bump DartDoc to 8.0.0 by @kallentu in https://github.com/flutter/flutter/pull/139088 * Record focus in route entry to move a11y focus to the last focused item by @hangyujin in https://github.com/flutter/flutter/pull/135771 * Migrate customer_testing to sharded tests. by @godofredoc in https://github.com/flutter/flutter/pull/138659 * Fix intrinsic width of input decorator by @neko-andrew in https://github.com/flutter/flutter/pull/138074 * Fix textScalerOf and maybeTextScalerOf documentations by @bleroux in https://github.com/flutter/flutter/pull/139123 * Fix turbulence seed for all tests with ink sparkles by @Piinks in https://github.com/flutter/flutter/pull/138757 * Fix header formatting typo in PopupMenuButton docs by @kalafut in https://github.com/flutter/flutter/pull/139084 * Added keyboardType & textInputAction props to SearchBar, SearchAnchor & SearchAnchor.bar by @piedcipher in https://github.com/flutter/flutter/pull/138553 * Ensure Icon vertically centers its icon glyph. by @LongCatIsLooong in https://github.com/flutter/flutter/pull/138937 * feature(table-widget): Added intrinsicHeight to TableCellVerticalAlignment enum. by @gbtb16 in https://github.com/flutter/flutter/pull/130264 * Added some documentation for OverlayPortal by @yiiim in https://github.com/flutter/flutter/pull/138934 * Fix comment by @gzurowski in https://github.com/flutter/flutter/pull/138973 * Implement switch expressions in dev/ by @nate-thegrate in https://github.com/flutter/flutter/pull/139048 * Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 by @piedcipher in https://github.com/flutter/flutter/pull/138987 * Update ButtonStyleButton.scaledPadding documentation. Migrate callers in flutter/flutter by @LongCatIsLooong in https://github.com/flutter/flutter/pull/139014 * Provide parameter to Icon and IconThemeData for they to consider the context's text scaler by @mateusfccp in https://github.com/flutter/flutter/pull/135708 * implemented leadingWidth and automaticallyImplyLeading options by @VB10 in https://github.com/flutter/flutter/pull/136165 * Simplify devicelab logic and fix tests by @Hixie in https://github.com/flutter/flutter/pull/139122 * Improve documentation of CardTheme.shape by @dumazy in https://github.com/flutter/flutter/pull/139096 * Analyze against using Stopwatches in the framework by @Piinks in https://github.com/flutter/flutter/pull/138507 * Update VelocityTracker (4) by @Piinks in https://github.com/flutter/flutter/pull/139166 * Remove deprecated PlatformMenuBar.body by @gspencergoog in https://github.com/flutter/flutter/pull/138509 * add sourceTimeStamp to ScaleUpdateDetails by @yakagami in https://github.com/flutter/flutter/pull/135936 * Dynamic view sizing by @goderbauer in https://github.com/flutter/flutter/pull/138648 * Fix chips onDeleted callback don't show the delete button when disabled by @TahaTesser in https://github.com/flutter/flutter/pull/137685 * Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 by @piedcipher in https://github.com/flutter/flutter/pull/139258

iOS

Web

Tooling

Documentation

Other Changes

New Contributors

Engine

Notable commits

Specialization constants

The team added support for specialization constants to Impeller. Taking advantage of this feature in Impeller’s shaders reduced uncompressed binary size of the Flutter engine by nearly 350KB. * [Impeller] Add support for specialization constants (III). by @jonahwilliams in https://github.com/flutter/engine/pull/47765 * [Impeller] use spec constant for decal support in morph filter. By @jonahwilliams in https://github.com/flutter/engine/pull/48288

Blur improvements

The team landed a few improvements to Impeller’s blur fidelity and performance. Further improvements to blur performance are in the works, and are expected to appear in a future release. * [Impeller] implements incorporating the gaussian blur snapshot transform by @gaaclarke in https://github.com/flutter/engine/pull/48426 * [Impeller] match sigma scaling to Skia scaling. by @jonahwilliams in https://github.com/flutter/engine/pull/48434 * [Impeller] Skip mask blur with 0 sigma. by @jonahwilliams in https://github.com/flutter/engine/pull/48457

Tessellation improvements

Impeller keeps the number of shaders it needs small and fixed by using a rendering strategy that relies on tessellating paths. Since tessellation is important, the team has made a number of small improvements to its performance in this release. * [Impeller] implement Canvas::DrawLine to tesselate lines directly by @flar in https://github.com/flutter/engine/pull/47846 * [Impeller] Simplify convex tessellation by @jonahwilliams in https://github.com/flutter/engine/pull/47957 * [Impeller] Add direct tesselation of circles for DrawCircle and Round end caps by @flar in https://github.com/flutter/engine/pull/48103 * [Impeller] Reduce allocations for polyline generation by @dnfield in https://github.com/flutter/engine/pull/47837

Misc. Performance Improvements

As progress towards making Impeller on Android production ready, the team has been making many small performance improvements wherever indicated by profiles of our benchmarks. These improvements touch both the Vulkan and Metal backends as well as the backend-agnostic parts of Impeller. * [engine] request frame rate once per frame. by @jonahwilliams in https://github.com/flutter/engine/pull/47954 * [Impeller] Remove capability to read from onscreen. by @jonahwilliams in https://github.com/flutter/engine/pull/47808 * [Impeller] add async command submission for blit pass. by @jonahwilliams in https://github.com/flutter/engine/pull/48040 * [Impeller] store all path point data in single buffer. by @jonahwilliams in https://github.com/flutter/engine/pull/47896 * [Impeller] preallocate command buffer to next power of two of entity list. by @jonahwilliams https://github.com/flutter/engine/pull/48185 * [Impeller] cache render target properties on Render Pass. by @jonahwilliams in https://github.com/flutter/engine/pull/48323 * SurfaceFrame root DisplayLists will no longer prepare an RTree by @flar in https://github.com/flutter/engine/pull/48422 * [Impeller] Recycle descriptor sets. by @jonahwilliams in https://github.com/flutter/engine/pull/48343

Misc. Bug Fixes

The team continues to prioritize continually improving product excellence by fixing issues reported by users, and driving Impeller towards production readiness on Android. As part of this work, in this release the team landed bug fixes in various areas. * Fix Share Screen Crash on iPad by @LouiseHsu in https://github.com/flutter/engine/pull/48220 * [Impeller] Switched to static linked libc++ in vulkan validation layers. by @gaaclarke in https://github.com/flutter/engine/pull/48290 * [Impeller] Ensure that overlay surfaces are constructed with wide gamut settings. by @jonahwilliams in https://github.com/flutter/engine/pull/48190 * [Impeller] Gate Vulkan selection on API 29 by @dnfield in https://github.com/flutter/engine/pull/48089 * [Impeller] fix drawVertices dest fast path to apply alpha. by @jonahwilliams in https://github.com/flutter/engine/pull/47695 * [Impeller] fix order of operations in SkSL generated texture lookup. by @jonahwilliams in https://github.com/flutter/engine/pull/48488

Android

Support for Share.invoke

The default “Share” button on text fields and views was previously missing from Android, but we’ve added it in this beta as part of our ongoing effort to ensure all the default context menu buttons are available on each platform. You can follow that ongoing work here. * [Android] Add support for the PlatformChannel "Share.invoke" command by @bleroux in https://github.com/flutter/engine/pull/48265

Native assets feature

If you’re interested in interoping with other functions from other languages in your Flutter code, you can now perform FFI calls through Native assets on Android as part of our ongoing work towards supporting Native assets. Try it out in this beta 3.18! * Native assets support for Android by @dcharkes in https://github.com/flutter/flutter/pull/135148

Texture Layer Hybrid Composition (THLC) mode

Beta 3.18 includes work that now makes Google Maps and the text input magnifier work in TLHC mode, which means better performance for your apps. If you’re using Google Maps, we encourage you to test out the changes and let us know your feedback! This work doesn’t include commits under the Framework or Engine, but you can see the work here, and the steps to test out THLC here.

The remaining commits are listed below: * Add KeyEventDeviceType to KeyData by @gspencergoog in https://github.com/flutter/engine/pull/47315 * Fix ImmutableEnum lint by @jiahaog in https://github.com/flutter/engine/pull/47739 * Don't use Skia BUILD.gn files by @zanderso in https://github.com/flutter/engine/pull/47677 * Fix narrowing conversion lint by @jiahaog in https://github.com/flutter/engine/pull/47740 * Use targetSdkVersion 33 for Android platform AndroidManifest.xml by @utzcoz in https://github.com/flutter/engine/pull/47683 * Upgrade Android SDK to 34 "UpsideDownCake" by @gmackall in https://github.com/flutter/engine/pull/47609 * Reverts "Upgrade Android SDK to 34 "UpsideDownCake"" by @auto-submit in https://github.com/flutter/engine/pull/47834 * [Re-land] Upgrade Android SDK to 34 "UpsideDownCake" by @gmackall in https://github.com/flutter/engine/pull/47839 * [Android] Bump robolectric version to support unit testing on Android 34 by @camsim99 in https://github.com/flutter/engine/pull/47768 * Bump minSdk to 19 for Android tests by @utzcoz in https://github.com/flutter/engine/pull/47686 * Reverts "Bump minSdk to 19 for Android tests" by @auto-submit in https://github.com/flutter/engine/pull/47935 * Revert "Add an AndroidManifest.xml flag to disable ImageReader backend Platform Views (#46430)" by @johnmccutchan in https://github.com/flutter/engine/pull/48024 * [Impeller] Gate Vulkan selection on API 29 by @dnfield in https://github.com/flutter/engine/pull/48089 * Make flow/embedded_views.h compatible with .clang_tidy. by @matanlurey in https://github.com/flutter/engine/pull/47994 * Reverts "Make flow/embedded_views.h compatible with .clang_tidy." by @auto-submit in https://github.com/flutter/engine/pull/48130 * Re-land "Make flow/embedded_views.h compatible with .clang_tidy." by @matanlurey in https://github.com/flutter/engine/pull/48137 * [Android] Send " did gain focus" message from engine to framework by @hangyujin in https://github.com/flutter/engine/pull/47114 * Fix a few typos by @bartekpacia in https://github.com/flutter/engine/pull/47960 * Replace calls to SkFontMgr::RefDefault by @kjlubick in https://github.com/flutter/engine/pull/48179 * [PlatformView][Android]VirtualDisplay resize on Android31 and above by @designDo in https://github.com/flutter/engine/pull/47946 * Make {shell|lib/ui}/... compatible with .clang_tidy. by @matanlurey in https://github.com/flutter/engine/pull/48242 * [Impeller] Switched to static linked libc++ in vulkan validation layers. by @gaaclarke in https://github.com/flutter/engine/pull/48290 * Finish making shell/platform/android/... compatible with .clang-tidy. by @matanlurey in https://github.com/flutter/engine/pull/48296 * Reduce number of surfaces required when presenting platform views by @knopp in https://github.com/flutter/engine/pull/43301 * Fix new lint from android 14 upgrade, and remove it from the baseline by @gmackall in https://github.com/flutter/engine/pull/47817 * [Android] Check for text to paste before trying to retrieve data from URI by @camsim99 in https://github.com/flutter/engine/pull/48166

iOS

Fixes for iOS bugs

The team has addressed bugs concerning hiding and overriding the status bar in iOS, as well as reported keyboard freezes when switching between languages in iOS. * Fix not being able to hide iOS status bar via setEnabledSystemUIMode by @LinXunFeng in https://github.com/flutter/engine/pull/48271 * [ios17][text_input]fix ios 17.0 keyboard freeze when switching languages (without relying on text affinity) by @hellohuanlin in https://github.com/flutter/engine/pull/47566

The remaining commits are listed below: * [ios] making objective-C smart pointers support ARC by @cyanglaz in https://github.com/flutter/engine/pull/47612 * [ios]fix ios 16 auto correction highlight showing on top left corner by @hellohuanlin in https://github.com/flutter/engine/pull/47279 * [ios] introduce weak_nsobject by @cyanglaz in https://github.com/flutter/engine/pull/47947 * Reland "[Impeller] Fail if software backend is chosen and Impeller is enabled on iOS." by @dnfield in https://github.com/flutter/engine/pull/46275 * [Ios] move flutter_test_ios_mrc unittests to arc by @cyanglaz in https://github.com/flutter/engine/pull/48162 * Make shell/platform/{darwin|embedder}/... compatible with .clang-tidy. by @matanlurey in https://github.com/flutter/engine/pull/48160 * Moves expat, ocmock, libjpeg-turbo, libwebp, and wuffs to //flutter/third_party by @zanderso in https://github.com/flutter/engine/pull/48193 * [Impeller] Ensure that overlay surfaces are constructed with wide gamut settings. by @jonahwilliams in https://github.com/flutter/engine/pull/48190 * Fix Share Screen Crash on iPad by @LouiseHsu in https://github.com/flutter/engine/pull/48220 * [ios] Send " did gain focus" message from engine to framework by @hangyujin in https://github.com/flutter/engine/pull/48252 * Update HeaderFilterRegex once and for all. by @matanlurey in https://github.com/flutter/engine/pull/48145

Web

New Text API

This release includes two new methods on dart:ui’s Paragraph object: getClosestGlyphInfoForOffset, and getGlyphInfoAt, which each return an object of the new type GlyphInfo. Check out the documentation on this new type here. * Expose a few more glyph apis from ui.Paragraph by @LongCatIsLooong in https://github.com/flutter/engine/pull/47698

The remaining commits are listed below: * Reland: [web] Ensure handled key event is not propagated to IME by @knopp in https://github.com/flutter/engine/pull/47099 * Bundle flutter.js via esbuild by @eyebrowsoffire in https://github.com/flutter/engine/pull/47573 * [web] fix clicks on merged semantic nodes (attempt [#2]) by @yjbanov in https://github.com/flutter/engine/pull/47360 * [web] Non-singleton implementation of ui.FlutterView by @mdebbar in https://github.com/flutter/engine/pull/47806 * Remove physical geometry by @goderbauer in https://github.com/flutter/engine/pull/47825 * Reverts "Remove physical geometry" by @auto-submit in https://github.com/flutter/engine/pull/47862 * [web] Refactor a11y announcements out of FlutterViewEmbedder by @mdebbar in https://github.com/flutter/engine/pull/47487 * Reland "Remove physical geometry" by @goderbauer in https://github.com/flutter/engine/pull/47872 * Remove implements of JS types on @staticInterop classes by @srujzs in https://github.com/flutter/engine/pull/47869 * [web] Move styling from FlutterViewEmbedder to StyleManager by @mdebbar in https://github.com/flutter/engine/pull/47489 * [web] - fix Safari textfield selection bug by @htoor3 in https://github.com/flutter/engine/pull/47917 * [web] Cleanup touch and mouse event adapters by @mdebbar in https://github.com/flutter/engine/pull/43697 * Move Skia to //flutter/third_party/skia by @zanderso in https://github.com/flutter/engine/pull/47913 * [web] Explicit initialization of the implicit view by @mdebbar in https://github.com/flutter/engine/pull/47921 * Use flutter.js in the actual test harness. by @eyebrowsoffire in https://github.com/flutter/engine/pull/47670 * [web] JSConfig: Add multiViewEnabled value. by @ditman in https://github.com/flutter/engine/pull/47939 * [web] Move EmbeddingStrategy and DimensionsProvider out of FlutterViewEmbedder by @mdebbar in https://github.com/flutter/engine/pull/48025 * [web] Apply global styles before inserting the DOM element by @mdebbar in https://github.com/flutter/engine/pull/48027 * [canvaskit] Size the PictureRecorder when calling Scene.toImage by @harryterkelsen in https://github.com/flutter/engine/pull/48142 * [web] Move all DOM creation to DomManager by @mdebbar in https://github.com/flutter/engine/pull/48123 * [web] Move scene DOM management to DomManager by @mdebbar in https://github.com/flutter/engine/pull/47460 * [web] EngineFlutterView.dispose() by @mdebbar in https://github.com/flutter/engine/pull/48183 * [web] Add add/removeView JS methods. by @ditman in https://github.com/flutter/engine/pull/48106 * [web] Hook the new JS API to the FlutterViewManager by @mdebbar in https://github.com/flutter/engine/pull/48283 * [canvaskit] Enable multiview rendering by @harryterkelsen in https://github.com/flutter/engine/pull/48301 * Dynamic view sizing [dart:ui] by @goderbauer in https://github.com/flutter/engine/pull/48090 * [canvaskit] Fall back to drawImage for browsers that don't support createImageBitmap by @harryterkelsen in https://github.com/flutter/engine/pull/48336 * [canvaskit] Disable createImageBitmap support on Chrome 110 or older on Windows. by @harryterkelsen in https://github.com/flutter/engine/pull/48475 * [web] No implicit view in multi-view mode by @mdebbar in https://github.com/flutter/engine/pull/48505 * [canvaskit] Revert to drawImage rendering on Chrome 110 or earlier by @harryterkelsen in https://github.com/flutter/engine/pull/48515 * [canvaskit] Add ImageFilter.compose by @harryterkelsen in https://github.com/flutter/engine/pull/48546

Desktop

New Contributors

Source: README.md, updated 2023-12-05