Contents

What's New in Flutter 3.35.0

A Look at the Latest Features and I’m Proud to Be Part of It

Flutter 3.35.0 has officially landed, bringing a host of improvements across web, desktop, accessibility, UI components, and tooling.

This release is special for me — my own contribution is included:

Fix text selection toolbar alignment for RTL languages
by @SalehTZ in #169854

This fix improves the user experience for right-to-left languages like Persian, Arabic and others by ensuring the text selection toolbar aligns correctly, making editing smoother and more intuitive for millions of users.


What’s New in Flutter 3.35.0

Web & Performance

  • Stateful Hot Reload on Web is now enabled by default — no experimental flag needed.
  • Wasm (WebAssembly) Dry Runs added to JS builds, warning about compatibility issues before deployment.

Accessibility

  • SemanticsLabelBuilder for dynamic accessibility labels.
  • SliverEnsureSemantics keeps off-screen slivers in the accessibility tree.
  • Improved screen reader support for Android TalkBack, iOS VoiceOver, and custom painters.
  • RTL improvements — including my contribution!

UI Enhancements

  • DropdownMenuFormField (Material 3) for form-ready dropdowns.
  • Scrollable NavigationRail and customizable NavigationDrawer headers/footers.
  • Cupertino updates: new ExpansionTile, better iOS-style shapes, haptic feedback improvements.

Rendering & Framework

  • Multiple Impeller rendering engine optimizations.
  • More precise control over sliver paint order.

Platform Modernization

  • Minimums: iOS 13, macOS 10.15, Android SDK 24.
  • Native Assets Preview for easier C/C++/Rust integration.
  • Windows/Linux: merged UI/platform threads, multi-window support, Linux software rendering.
  • Web: minified Wasm builds, hot reload enabled by default.

Tooling

  • Experimental Widget Previews.
  • Wider IDE support (Android Studio Meerkat/Narwhal, CLion, GoLand, PyCharm, etc.).
  • MCP Server in stable for AI-assisted workflows.

Breaking Changes

  • DropdownButtonFormField.valueinitialValue.
  • Redesigned Radio widget.
  • Form can no longer be a sliver.

🔗 Further Reading

Here are the official announcements on X (formerly Twitter):

Resources


I’m honored to contribute to a framework used by millions of developers worldwide. While this release contains one of my pull requests, I’m excited that the next one will include even more. Here’s to more open-source contributions and better experiences for all users, in all languages.