|
| 1 | +--- |
| 2 | +slug: flutterflow-version-management |
| 3 | +title: FlutterFlow Version Management |
| 4 | +tags: [Versioning] |
| 5 | +keywords: [Versioning, FlutterFlow Version Management, Pin project FlutterFlow, Downgrade FlutterFlow version, Upgrade FlutterFlow version, FlutterFlow stable releases] |
| 6 | +description: Learn how to manage FlutterFlow version for your project. |
| 7 | +sidebar_position: 7 |
| 8 | +--- |
| 9 | + |
| 10 | +# FlutterFlow Version Management |
| 11 | + |
| 12 | +FlutterFlow is constantly evolving to provide new features, address bugs, and keep up-to-date with Flutter and third-party packages. However, frequent updates can sometimes introduce unwanted changes or conflicts that break existing projects—especially those that rely on custom code or specific Flutter/package versions. |
| 13 | + |
| 14 | +To mitigate these issues, FlutterFlow offers you a **Version Management** system that allows you to pin your project to a particular stable release of FlutterFlow. Projects pinned to a stable release will **not** automatically receive the latest FlutterFlow updates, giving you more control and stability over your development environment. |
| 15 | + |
| 16 | +:::info |
| 17 | + |
| 18 | +The FlutterFlow Version Management feature is available only on [**paid plans**](https://www.flutterflow.io/pricing). |
| 19 | + |
| 20 | +::: |
| 21 | + |
| 22 | +## Why Version Management Matters |
| 23 | + |
| 24 | +- **Prevents Unexpected Breakage:** Frequent updates to FlutterFlow can break your project—particularly custom code—if underlying Flutter or package versions change. Pinning to a stable release ensures that your project’s code will not be affected by unexpected FlutterFlow updates. |
| 25 | +- **Offers Control Over Update Timing:** FlutterFlow updates might occur at inopportune times (e.g., right before you plan to deploy). Version Management allows you to choose **if and when** to move your project to a newer release. |
| 26 | +- **Enhances Reliability:** By using the pinned version, you can be confident that the same version of FlutterFlow, Flutter, and packages that you’ve tested will remain consistent, preventing surprises during critical development or deployment stages. |
| 27 | + |
| 28 | +## Key Concepts |
| 29 | + |
| 30 | +Below are the foundational ideas behind FlutterFlow’s Version Management system. Understanding these concepts will help you maintain project stability and control when upgrading. |
| 31 | + |
| 32 | +### Stable Release |
| 33 | + |
| 34 | +A **stable release** of FlutterFlow is a version that has passed rigorous testing and is frozen to specific: |
| 35 | + |
| 36 | +- Flutter version |
| 37 | +- Pubspec dependencies |
| 38 | +- FlutterFlow frontend |
| 39 | +- Project code generation |
| 40 | + |
| 41 | +Stable releases are chosen on a regular cadence (e.g., quarterly or monthly). **Note** that each stable release will be supported for a set duration (6 months by default). |
| 42 | + |
| 43 | +### Pinning Your Project |
| 44 | + |
| 45 | +When you “pin” your project to a stable release, no updates from FlutterFlow will apply to your project during the pinned period. Each stable release will have associated web and desktop frontends, allowing you to continue working on your project without interruptions. |
| 46 | + |
| 47 | +:::info |
| 48 | +- **For Desktop**: You will download and install the dedicated binary for the pinned stable release. This binary won’t auto-update to give you a consistent development environment. |
| 49 | +- **For Web**: You will access a unique URL to open the FlutterFlow pinned to that specific release. |
| 50 | +- **No forced upgrades**: You won’t be prompted to switch to the latest FlutterFlow release until your pinned version’s support window (e.g., 6 months) has ended. |
| 51 | +::: |
| 52 | + |
| 53 | +To pin a project, navigate to **Settings and Integrations > Project Setup > Pin Version** and select the stable release you want to lock into. |
| 54 | + |
| 55 | +### Project Upgrades |
| 56 | + |
| 57 | +When your project is pinned, you can only upgrade to a later stable release (downgrading to a previous stable release is not allowed) once you decide to move on from the current pinned version. You can unpin your project at any time, which will automatically update it to the latest available FlutterFlow release. |
| 58 | + |
| 59 | +## FlutterFlow Version Workflow |
| 60 | + |
| 61 | +Let’s understand the versioning workflow of setting up and managing a pinned project with an example. Understanding each phase ensures you can confidently control your project’s FlutterFlow version. |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | +1. **Encounter a Breaking Change**: Suppose you upgrade from **FlutterFlow version 4.2** to **4.3**, and notice breaking changes in your custom code. Rather than scrambling to fix these errors or getting stuck in version 4.3, you can opt to **pin your project to version 4**, a reliable stable release. |
| 66 | +2. **Pin a Project**: By pinning your project to version 4, you effectively freeze the Flutter version, pubspec dependencies, and code generation at that stable point. This prevents all new updates from affecting your project or introducing further breakage. |
| 67 | +3. **Skip Intermediate Versions**: While FlutterFlow continues to release newer versions (4.3, 4.4, 4.5), you remain on 4 until you decide it’s time to upgrade. This approach lets you safely build and publish your app without worrying about incremental breaking changes. |
| 68 | +4. **Upgrade Directly to the Next Stable Release**: When FlutterFlow designates a future stable release, you can jump straight from 4 to 4.5 or 5, bypassing any issues in the in-between versions. This way, you only upgrade once, reducing the risk of multiple compatibility checks along the way. |
| 69 | +5. **Stay in Control**: While pinned to a stable release, FlutterFlow will **not** automatically update your project. You alone decide when (and if) to move to a later stable release or whatever latest version by unpinning the project. |
| 70 | + |
| 71 | +## FAQs |
| 72 | + |
| 73 | +<details> |
| 74 | +<summary> |
| 75 | +What happens if I downgrade to a lower version of FlutterFlow after making changes in a higher version? |
| 76 | +</summary> |
| 77 | +<p> |
| 78 | +Any changes made in a higher version will be lost when you revert to a lower version (e.g., by pinning to the last stable release). |
| 79 | +**To avoid data loss, thoroughly test your app after upgrading to ensure you want to continue with the updated version before downgrading.** |
| 80 | +</p> |
| 81 | +</details> |
| 82 | + |
| 83 | +<details> |
| 84 | +<summary>Can I downgrade my project after upgrading to a new stable release?</summary> |
| 85 | +<p> |
| 86 | +You will not be able to downgrade a project to a prior stable release. You can only choose to ‘pin’ your project to the next stable release that occurs (or has occurred) after your project change. |
| 87 | +</p> |
| 88 | +</details> |
| 89 | + |
| 90 | +<details> |
| 91 | +<summary> |
| 92 | +Can I open the same project in multiple versions of FlutterFlow simultaneously? |
| 93 | +</summary> |
| 94 | +<p> |
| 95 | +No, you cannot open the same project in two different versions of FlutterFlow at the same time. |
| 96 | +</p> |
| 97 | +</details> |
0 commit comments