New Features For You ✨
This week we are excited to announce more than 20 new features. In addition to some big feature upgrades (e.g. non-blocking actions), we also rolled several enhancements to make it faster and easier to build in FlutterFlow 🏎️
Also, we're hiring! If you're passionate about helping people make great products and in shaping the future of application development, we'd love to hear from you. Check out our careers page for more details.
Non-Blocking Actions ✅
We've introduced a 'non-blocking' option for actions. Previously, actions in a sequence would wait for the preceding action to finish before executing. Now, with the non-blocking option selected, subsequent actions will execute even if the previous action hasn't been completed.
Non-blocking actions are great for situations such as sending an API call where we don’t need the result, logging an analytics event, sending an email or push notification, or starting a long-running server process.
Plus you can now add comments on action blocks.
Backend Query Updates 🗃️
We've made some big updates to make it faster and easier to work with backend queries:
You can now copy and paste backend queries across widgets, so you'll never need to recreate the same query twice!
We've added a new option to move a query up to any parent or ancestor of the widget.
We've updated our UI to show a summary of the filters and ordering you have on a query.
Drafts To Save Your Progress 💾
Our new drafts feature automatically saves your progress on API calls, custom code, generate children, and backend queries. Now you can easily return and continue your work right where you last stopped.
Rename and Modify App State fields + Constants
You can now rename and modify the names of your AppState fields and constants. Now you'll never need to delete and recreate an item just to change the name 😱
Boolean Upgrades 🕺
We've made some upgrades to make it easier to work with booleans:
We've added a new Conditions flow, so you no longer need to select "single condition" vs. multiple conditions.
We've added an "isSetAndNotEmpty" operation/reducer on list.
We automatically create a condition for variables that don't have a boolean operation or reducer.
Check Where A Component Is Used 🔍
Want to see everywhere a component is used in your project? Just select the widget > right click> show usage. It's that easy!
Pro tip: you can also use the Command Palette (Cmd/Ctrl + K) to search for anything, well most things for now (state variables, api calls, custom code), and find where it has been used by hitting the ➡️ button on a search result.
Other Improvements 🏗️
You can now unlink theme widget properties (e.g. Text, Icon, Border Radius), so they won't be applied when the theme widget's styling is applied.
When you rename page or component parameter values, it will now automatically update across widgets and actions.
We've added a new "Fix Position" option for DropDowns that ensures all options are displayed below the widget.
You can now preview raw text responses for API calls.
We've added a disable option for Switch, SwitchListTile, Checkbox and CheckboxListTile. When the conditions are true the widget will not be clickable.
We now provide a default name for selected JSONPaths.
Deep links can now start with digits.
You no longer have to recheck your custom functions if you haven't made any significant changes.
We've added a new page for you to view the current status of FlutterFlow.
We've updated the design of the project dashboard.
We've temporarily removed SwipeableStack from the Widget Panel while we work on some improvements.
Use FlutterFlow UI code in your Flutter projects 📥
Our new pub.dev package makes it easy for you to use FlutterFlow-generated UI code to your Flutter projects! This package automatically includes all the required imports, making it fast and easy to integrate FlutterFlow code into your project.
Check out our documentation for step-by-step instructions on how to use this powerful new package.
New Features We're Working On 🏗️
SwipeableStack switch. The old Swipeable Stack widget has been removed in favor of one that has a permissive license.
Callback actions can take parameters
Pass a body in DELETE + GET requests
And more... as always :)