The Flutter team has just released Flutter 3.35, marking another significant milestone in the framework’s evolution. This quarterly release brings game-changing features that will revolutionize your development workflow, including the stable release of stateful hot reload on the web and the experimental launch of Widget Previews.
🚀 What’s New in Flutter 3.35
With contributions from 168 unique contributors and 1,108 commits, Flutter 3.35 represents a community-driven effort to enhance developer productivity and create better user experiences.
🌐 Web Development Gets a Major Boost
Stateful Hot Reload is Now Default
The most exciting news for web developers: stateful hot reload on the web is now enabled by default! No more experimental flags needed – just run your Flutter web app in development mode and enjoy instant updates without losing your app’s state.
- Remove the
--web-experimental-hot-reload
flag from your workflow - Hot reload works out-of-the-box for all Flutter web development
- Significant performance improvements in hot-reloaded code
- More code changes can now be successfully hot reloaded
WebAssembly (Wasm) Preparation
Flutter 3.35 introduces Wasm “dry runs” to prepare for WebAssembly becoming the default web build target. Every JavaScript build now performs a compatibility check, warning you about potential Wasm issues before you encounter them in production.
🧩 Experimental Widget Previews
One of the most requested features by the Flutter community has finally arrived! Widget Previews allow you to visualize and test your widgets in isolation, similar to tools available in other modern UI frameworks.
Key Benefits:
- Sandbox Environment: Test widgets separately from your full app
- Design System Development: Perfect for building and testing component libraries
- Configuration Testing: Preview widgets across different screen sizes, themes, and text scales simultaneously
- Side-by-Side Comparison: Compare multiple widget states at once
While this is an experimental release with APIs that will evolve, the Flutter team is already planning exciting enhancements including tighter IDE integration and better support for custom design systems.
♿ Accessibility and Inclusivity Improvements
Flutter 3.35 continues the framework’s commitment to accessibility with significant improvements:
- Richer Web Semantics: Better screen reader support with semantics locales for international users
- New Accessibility Widgets:
SemanticsLabelBuilder
for complex announcements andSliverEnsureSemantics
for scrollable content - Platform-Specific Fixes: Improved VoiceOver support on iOS and Talkback fixes on Android
- RTL Language Support: Better text selection toolbar alignment for right-to-left languages
🎨 Material and Cupertino Enhancements
New Components
- DropdownMenuFormField: Easily integrate M3 DropdownMenu into forms
- Scrollable NavigationRail: Handle more destinations than fit on screen
- NavigationDrawer Headers/Footers: More layout flexibility for navigation drawers
- CupertinoExpansionTile: Create expandable and collapsible list items
Enhanced Fidelity
- RSuperellipse Shape: Cupertino widgets now use Apple’s signature continuous-corner look
- Haptic Feedback: Added to CupertinoPicker and CupertinoSlider for more native feel
- Always-Visible Indicators: Slider value indicators can now stay visible constantly
🔧 Developer Experience Improvements
Dart and Flutter MCP Server
The experimental Dart and Flutter MCP Server is now available on the stable channel, bringing AI-assisted development to the next level. Your AI coding assistants can now:
- Fix runtime errors by inspecting the live widget tree
- Manage dependencies automatically
- Generate and self-correct boilerplate code
- Understand your project context more deeply
Analysis Server Speed Boost
Commands like dart analyze
, dart fix
, and dart language-server
now run up to 50% faster thanks to AOT-compiled analysis server snapshots. This makes everyday development tools much more responsive.
📱 Platform-Specific Updates
Android
- Sensitive Content Protection: New SensitiveContent widget protects user data during screen sharing on API 35+
- Template Migration: Updated to Android 24
- Minimum SDK Bump: Now requires API 24 (Android 7) minimum
iOS
- iOS 26 Beta Support: Active work on compatibility with latest iOS betas
- Live Text Revival: OCR functionality returned to text fields
- Background App Launch: Fixed image decoding for apps launched from remote notifications
Desktop
Multi-window support continues to progress with Canonical’s contributions, bringing foundational window management to Windows and macOS, with Linux support coming in future releases.
🏗️ Framework Architecture Evolution
Flutter 3.35 announces the beginning of a significant architectural change: decoupling Material and Cupertino libraries from the core framework.
Why This Matters:
- Faster Innovation: Design libraries can release updates independent of Flutter’s quarterly cycle
- Community Contribution: Easier for developers to contribute directly to UI libraries
- Focused Core: A more stable and focused framework foundation
Don’t worry – there are no immediate changes to your workflow. This is a long-term project with a commitment to smooth transitions.
⚠️ Breaking Changes and Deprecations
- Component Theme Normalization: Material 3 alignment for consistent theming
- Radio Widget Redesign: New RadioGroup widget for better accessibility
- Android Requirements: Minimum API 24, Gradle 8.7.0, AGP 8.6.0, Java 17
- 32-bit x86 Deprecation: Mainly affects older x86 Android emulators
- IDE Support: Deprecating support for Flutter SDKs before 3.13
🚀 How to Upgrade
Ready to experience all these improvements? Upgrading is simple:
flutter upgrade
For detailed migration guides and breaking changes, check the official breaking changes page.
🎯 What This Means for Flutter Developers
Flutter 3.35 represents a major step forward in developer productivity. The stable web hot reload alone will transform how you build Flutter web applications, while Widget Previews opens up new possibilities for component development and testing.
The accessibility improvements ensure your apps reach a broader audience, and the architectural changes promise an even more flexible and community-driven future for Flutter’s design libraries.
🔮 Looking Forward
With WebAssembly support on the horizon, continued multi-window development, and the exciting Widget Previews evolution, Flutter’s future looks brighter than ever. The community-driven approach continues to deliver features that developers actually need and want.
Have you upgraded to Flutter 3.35 yet? What feature are you most excited about? Let us know in the comments below, and don’t forget to share your experiences with the new web hot reload and Widget Previews!
Happy coding with Flutter 3.35! 🎯