Flutter 3.24 is here! 

This article was originally published on Medium.

The flutter team has release new version and is packed with a lot of new cool features. 

The 3.24 release notes are filled with new changes.
There are 577 points completed for this release. This count includes all entries regardless of their nature — whether they are fixes, feature additions, test additions, documentation updates, or other changes.

Let’s go over the highlights:

Flutter GPU preview:

 This is a new low-level graphics API. This allows developers to build and integrate custom renderers by writing Dart code and GLSL shaders. For the moment it is available only for platforms supported by Impeller: Android, iOS, macOS.

 There is also a 3D rendering library powered by Flutter GPU called Flutter Scene (package: flutter_scene).

Multi-View Embedding: 

Web applications can now support multi-view embedding. It allows developers to display Flutter content in multiple HTML elements at the same time. To enable multi-view mode, set multiViewEnabled: true in the initializeEngine method within the flutter_bootstrap.js file. This flexibility allows the creation of complex layouts, interactive components, and dynamic user experiences. 

Check out the detailed documentation.

Video Ad Monetization:

Flutter released a new Interactive Media Ads (IMA) plugin, designed to enhance instream video ad monetization for Flutter mobile apps. This new IMA plugin introduces additional ad monetization opportunities, complementing the existing Google Mobile Ads (GMA) plugin, which primarily supports display ad formats.

Swift Package Manager Integration: 

Flutter begins the adoptions of Swift Package Manager or SPM. SPM has been the new standard for a while and now we can benefit from it and it’s advantages:

  1. Automatically manage a dependency’s dependencies. If a dependency relies on another dependency, Swift Package Manager will handle it for you.

  2. Access to Swift package ecosystem. Flutter plugins will be able to access the packages from Swift packages!

  3. It will simplify the Flutter installation. Because SPM in bundled in Xcode, developers won’t need to install Cocoapods and it’s dependencies anymore. 

Shared Preferences plugin updates

This is one of the most used packages by flutter developers. 

  • SharedPreferencesAsync:
    - it called the native platform to retrieve the data stored on the device. Because of this, different Isolates can access the same data.

  • SharedPreferencesWithCache
    - the same as SharedPreferencesAsync but instead of retrieving the value from the native platform, it keeps a local cache.

New Slivers

This release adds new slivers:

These slivers are similar to the existing SliverPersistentHeader and SliverAppBar slivers, but have simpler APIs that can be combined for greater effect.

CarouselView

This release included the Material Design carousel widget: CarouselView. The CarouselView presents the “Uncontained” layout: a scrollable list of items that scroll to the edge of the container, and the leading and the trailing items can dynamically change size when they are scrolling out of the view and scrolling in the view.

Breaking changes and deprecations

We also have some breaking changes in this release include changes to Navigator’s pages API, generic types in PopScope, Flutter web’s default renderer and the introduction of some new deprecations. You can see migration guidelines here.

Small changes:

  • Update documentation to discourage using the TextEditingController.text setter by @victorsanni in 146151

  • Fix cursor is not centered when cursorHeight is set (non-Apple platforms). by @bleroux in 145829

  • Fix memory leaks in Hero widget by @ValentinVignal in 147303

  • Enhanced enum features for AnimationStatus by @nate-thegrate in 147801

  • Make CupertinoTextField respect decoration color when disabled by @victorsanni in 149774

  • Make popup menu hardcoded padding configurable by @bleroux in 150506

The flutter team is preparing even more updates for us:

Pub.dev package repository

  • refined support for topics (if you didn’t know, you can search packages based on topic/category). This means that slight varations of the same topic, will be grouped in the same category. ex: widget vs widgets

  • metrics for how used/downloaded. This is a big help to help us choose which package to use. They are making progress and we might enjoy this feature by the end of the year.

IDE and analyzer performance for large monorepos

  • The Flutter team is working on workspaces in order to improve analyzer performance for large monorepos. The current issue is that we currently have multiple overlapping analysis contexts for each package and All of its dependencies.

A new Dart Formatter

We are getting a new style that works better with the way Flutter code looks and is formatted. The rewrite is close to being done and will ship soon. If you’d like to try it out, pass the experiment flag tall-style (flag instructions). 

Resources:

What’s new in Flutter 3.24 by Kevin Chisholm

Flutter 3.24 release notes

Announcing Dart 3.5, and an update on the Dart roadmap

Ready to bring your ideas to life or you want to learn more about Flutter?

Previous
Previous

5 reasons why a website is not enough and your business needs a mobile app

Next
Next

The Enormous Benefits of Developing with Flutter