Announcing Dart 3.9 & Flutter 3.35
- Yulian Airapetov
- 4 days ago
- 3 min read
Google’s latest enhancements in the Dart and Flutter ecosystems are here, and they’re built for efficiency, developer experience, and a peek into the future of AI-assisted coding. Dart 3.9 and Flutter 3.35, both released in mid-August 2025, bring focused improvements across language tooling, web development, and emerging AI capabilities.

Dart 3.9
1. Null Safety Enhancements
Dart now assumes null safety by default when analyzing type promotion, reachability, and definite assignment. This change strengthens type soundness across projects but may lead to an increase in dead_code warnings in legacy codebases.

2. Soundness Fix for Direct Invocations
A previously overlooked soundness issue has been addressed: invoking a value returned from a getter without runtime checks - especially when the getter's return type is generic (e.g., dynamic) - could cause unexpected behaviour. This has now been fixed in the Dart Dev Compiler (DDC), ensuring more robust runtime behaviour.
class Box<T> {
T get getterFunc => ((int number) => number.isOdd) as T;
}
void main() {
var box = Box<dynamic>();
print(box.getterFunc(5)); // true
print(box.getterFunc(10)); // false
// In Dart 3.9 -> runtime error
print(box.getterFunc("oops"));
}
3. Dart & Flutter MCP Server
A standout feature: the Dart and Flutter MCP Server is now stable and available on the Dart SDK’s stable channel. This enables advanced AI-assisted development workflows—AI tools like Gemini CLI, Cursor, and GitHub Copilot can deeply access your project context and perform tasks such as:
Fixing runtime errors
Managing dependencies
Writing and correcting code
This opens the door to more intelligent and interactive tooling within your Dart workflows.
4. AOT-Compiled Dart CLI Tools
Dart’s command-line tools, including dart analyze and dart fix, now run from AOT-compiled snapshots. The analysis server is pre-compiled into native machine code, leading to significantly faster performance compared to prior versions.

5. Experimental: Native Asset Support for CLI Apps
An experimental feature enables building CLI app bundles with native asset support. Use the new dart build cli subcommand along with the --target option to package applications with embedded assets. This is still experimental and may change.
Flutter
1. Sliver Rendering Optimization
Flutter 3.35 enhances the rendering of slivers, allowing for more precise control over the stacking order of sliver-based widgets. This improvement is particularly beneficial for complex UI layouts, such as those found in e-commerce or social media applications.

2. Stateful Hot Reload on Web
Flutter 3.35 introduces stable support for stateful hot reload on the web. This enhancement allows developers to see changes in their web applications instantly without losing the current state, significantly improving the development workflow for web applications.

3. Cupertino Updates
RSuperellipse support for “squircles” – new rounded-corner shapes commonly seen in iOS designs are now natively supported in Flutter
Haptic feedback for CupertinoPicker and CupertinoSlider – scrolling or adjusting values in these components now triggers haptic feedback, providing a more natural and tactile user experience
CupertinoExpansionTile – similar to Material’s ExpansionTile, this widget allows creating collapsible sections to hide and show content in an iOS-style interface

4. Material Updates
DropdownMenuFormField – a new widget for forms that combines a dropdown menu with form validation. This simplifies working with forms, as there is no longer a need to wrap a dropdown separately for validation
Scrollable NavigationRail – NavigationRail can now be scrollable, which is especially useful when there are many navigation items on the screen
NavigationDrawer with header and footer – NavigationDrawer now officially supports separate sections for a header and footer, making it easier to create navigation menus with additional information or action buttons
Slider with always-visible indicator – the slider now displays its current value directly on the track without user interaction, improving the UX
Conclusion
Flutter 3.35 and Dart 3.9 bring a range of improvements that significantly enhance both developer experience 👨💻 and end-user interfaces 📱💻. Dart 3.9 strengthens type safety and runtime checks ✅ making applications more reliable and maintainable. Flutter 3.35 introduces refined Material and Cupertino components 🎨, scrollable and multi-window capabilities 🖥️, stable web hot reload ⚡, and enhanced rendering performance 🚀. These updates empower developers to build more responsive, visually consistent, and user-friendly apps across mobile, web, and desktop platforms.
Let’s Build the Future of Apps Together
At Igniscor, we don’t just build apps - we leverage the latest Flutter 3.35 and Dart 3.9 features to craft seamless, high-performance mobile, web, and desktop experiences. From pixel-perfect UI designs to robust, type-safe architectures, we turn your ideas into fully functional, user-friendly applications. Have a project in mind? Let’s make it happen - contact us today! 🚀
Comments