Skip to content

Commit 47d0930

Browse files
committed
Address review comments
1 parent 48dd449 commit 47d0930

File tree

2 files changed

+34
-37
lines changed

2 files changed

+34
-37
lines changed

docs/resources/projects/libraries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ To import a library project into another FlutterFlow project, you must go to the
139139
- By default, the latest published version of the library is imported, but you can choose to depend on an earlier version if needed.
140140
- You can also import the `current` version of the library to use the latest state of the library on the main branch - however, this is not recommended.
141141
- You must have a paid plan to import a library.
142-
- When you import a library into a project or another library, the library’s version must be lower than the project or library it’s being imported into. Learn more about managing the library’s FlutterFlow version [**here**](../projects/settings/version-management.md) and [**here**](../projects/settings/version-management.md#version-management-with-libraries).
142+
- When importing a library into a project or another library, the library’s version must not be set to 'current' and should be less than or equal to the FlutterFlow version of the project or library it’s being imported into. Learn more about [**managing Library’s FlutterFlow version**](../projects/settings/version-management.md#version-management-with-libraries).
143143
:::
144144

145145

docs/resources/projects/settings/version-management.md

Lines changed: 33 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ sidebar_position: 7
1111

1212
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 introduce unwanted changes that break existing projects—especially those that rely on custom code with external dependencies.
1313

14-
To mitigate these issues, FlutterFlow offers a **version management** system that allows you to pin your project to a particular [*stable release*](#stable-release-corresponds-to-minor-version) of FlutterFlow. Projects pinned to a stable release will **not automatically receive the latest FlutterFlow updates**, giving you more control over your development workflow.
14+
To mitigate these issues, FlutterFlow offers a **version management** system that allows you to pin your project to a particular [*stable release*](#stable-release-corresponds-to-minor-version) of FlutterFlow. Projects pinned to a stable release will **not automatically receive the latest FlutterFlow updates**, giving you more control over your development workflow.
1515

16-
However, pinning to a stable release means that you will not be able to use the latest features and there may be bugs that are not fixed until subsequent releases. **We only recommend doing this if you have a complex app with custom code dependencies.**
16+
However, pinning to a stable release means that you will not be able to use the latest features, and there may be bugs that are not fixed until subsequent releases. **We only recommend doing this if you have a complex app with custom code dependencies.**
1717

1818
:::info
1919
Currently, the ability to pin a FlutterFlow project to a stable version is only available to **Enterprise** users.
@@ -31,13 +31,13 @@ Pinning your project to a stable version of FlutterFlow offers the following ben
3131

3232
To understand FlutterFlow's version management system, it's important to understand **Semantic Versioning**.
3333

34-
FlutterFlow tends to release a new version of the product each week. When a new version is released, the overall version number is incremented.
34+
FlutterFlow tends to release a new version of the product each week. When a new version is released, the overall version number is incremented.
3535

3636
The version number consists of three parts:
3737

3838
- **Major Version:** Incremented when introducing substantial changes that significantly alter the product.
39-
- **Minor Version:** Incremented for changes that notably enhance or modify the FlutterFlow development experience—such as upgrading to a new Flutter version or adding a large feature.
40-
- **Patch Version:** Incremented with routine releases that include new features, improvements, or bug fixes.
39+
- **Minor Version:** Incremented for changes that notably enhance or modify the FlutterFlow development experience—such as upgrading to a new Flutter version, making substantial modifications to generated code or project structure, or introducing major new features.
40+
- **Patch Version:** Incremented with routine releases that include bug fixes and minor improvements, ensuring stability without introducing breaking changes to the generated code or project structure.
4141

4242
![semantic_versioning](imgs/semantic-versioning.png)
4343

@@ -46,23 +46,21 @@ You can see what version of FlutterFlow you are using by looking at the top left
4646
![version-in-builder](imgs/version-in-builder.png)
4747

4848

49-
#### Standard Release [Corresponds to Patch Version]
49+
#### Standard Release
5050

5151
A **Standard Release** of FlutterFlow is released approximately every week. However, this is subject to change based on user needs.
5252

5353
When your project is **not pinned** to a stable release (default behavior), you will automatically use the **latest standard release.**
5454

55-
#### Stable Release [Corresponds to Minor Version]
55+
#### Stable Release
5656

57-
![standard-to-stable](imgs/standard-to-stable.png)
57+
A **Stable Release** of FlutterFlow is published monthly if any of the following conditions are met:
5858

59-
A **Stable Release** of FlutterFlow is released each time a new **Minor Version** of FlutterFlow is created. This happens when:
59+
- Significant changes have been made to project code generation.
60+
- The underlying Flutter version or Pubspec dependencies in generated projects have been updated.
61+
- Updates affecting the project structure have been introduced (e.g., the addition of a new widget type).
6062

61-
- New features have undergone more testing
62-
- There has been significant changes to project code generation
63-
- There has been an update to the underlying Flutter or Pubspec dependency versions
64-
65-
Stable releases are usually deployed each month. A stable release will correspond with an underlying standard release (i.e. 1.0 corresponds to 1.0.1 in the above diagram).
63+
Each stable release is assigned a unique **Major.Minor** version number. Projects that have not been edited in a FlutterFlow version with a **Major.Minor** version higher than the stable release can be pinned to that stable version.
6664

6765
:::note
6866
Each stable release will be supported for **6 months** before you are forced to upgrade to the next stable version.
@@ -71,27 +69,28 @@ Each stable release will be supported for **6 months** before you are forced to
7169

7270
## Pinning Your Project
7371

74-
To pin your project, navigate to **Settings and Integrations > General > App Details >Version Pinning** section and select the stable release you want to lock into. Once you update the pin your project to a stable version, you can only edit the project using that version of FlutterFlow.
72+
To pin your project, navigate to **Settings and Integrations > General > App Details >Version Pinning** section and select the stable release you want to lock into.
7573

7674
![pin-version](imgs/pin-version.avif)
7775

78-
:::info
79-
You can only pin a project to a stable version if you are the **Project Owner**.
80-
:::
8176

8277
### Modifying the Pinned Version
8378

8479
You have several options when it comes to modifying pinned version of your project:
8580

86-
- **Upgrade to more recent Stable Version**: When a new stable version is released, you will see it as an option in the dropdown shown above. You can upgrade the pinned version to a more recent stable version whenever they become available. Newer stable versions will have higher numbers (i.e., 5.1 is newer than 5.0)
81+
- **Upgrade to more recent Stable Version**: When a new stable version is released, you will see it as an option in the dropdown shown above. You can upgrade the pinned version to a more recent stable version whenever it becomes available. Newer stable versions will have higher numbers (i.e., 5.1 is newer than 5.0)
8782
- **Downgrade to a previous Stable Version:** You can downgrade to a prior stable release (i.e., downgrade from 5.1 to 5.0), however, **changes made since upgrading will be lost** (i.e., changes made after modifying pinned version from 5.0 to 5.1). Therefore, we recommend [commiting](https://docs.flutterflow.io/collaboration/branching/#create-commits) all changes on the main branch before upgrading - plus testing after upgrading so you can quickly downgrade if necessary.
8883
- **Set to *Latest Version* (Unpinned):** You can unpin your project by setting it to the *Latest Version* which will use the latest [standard release](#standard-release-corresponds-to-patch-version).
89-
- **Opt-in to the *Next Stable*:** Your project may be on a standard version that does not have a corresponding stable version (i.e., you are on 5.0.1 but the 5.0 stable will correspond to 5.0.4). In that case, you can choose to opt-in to the *Next Stable Version*. This will pin your project to the next stable version once it becomes available.
84+
- **Opt-in to the *Next Stable*:** Your project may be on a standard version that does not have a corresponding stable version (i.e., you are on 5.0.1 but the 5.0 stable will correspond to 5.0.4). In that case, you can choose to opt-in to the *Next Stable Version*. If it is already available, it will be pinned to that version immediately.
85+
86+
:::warning[Pinning and Unpinning Cannot Be Reversed]
87+
Once you unpin a project or pin it to a later version, this action cannot be undone. If you're unsure whether a newer FlutterFlow version will be compatible with your project, we recommend creating a new branch and updating the pinned version within that branch first. This allows you to preview changes before applying them to your main project.
88+
:::
9089

9190
### Accessing the Proper Stable Version
92-
As mentioned above, once you update the pin your project to a stable version, you can only edit the project using that version of FlutterFlow.
91+
As mentioned above, once you update your project to a stable version, you can only edit the project using that version of FlutterFlow.
9392

94-
- **For Web**: You will be automatically redirected to the URL for the stable version that your project is pinned to when you open a project from the FlutterFlow dashboard (i.e. navigating to app.flutterflow.io or enterprise-[region].flutterflow.io).
93+
- **For Web**: You will be automatically redirected to the URL for the stable version that your project is pinned to when you open a project from the FlutterFlow dashboard (i.e., navigating to app.flutterflow.io or enterprise-[region].flutterflow.io).
9594
- **For Desktop**: You will [**install**](https://www.flutterflow.io/desktop) the dedicated desktop application for the pinned stable release. The desktop app for stable releases won’t auto-update, you will need to install a new version when you upgrade your project to a new stable version.
9695

9796

@@ -103,33 +102,31 @@ If you have a complex app with custom code that depends on specific versions of
103102
2. When a new stable version is released, you can choose when you would like to upgrade based on your own release schedule and development process. For instance, you might wait until you're not actively developing a new feature, or you could check the release notes first to see if there are must-have features that would prompt you to upgrade sooner.
104103
3. When you’re ready to upgrade, commit all your changes on main to save your progress. Create a new branch from the main branch, [update the pinned version](#modifying-the-pinned-version), and test all functionalities to ensure compatibility. If any modifications are needed, make those changes in the new branch.
105104
4. Run your app on the platforms you support—using a simulator, emulator, or physical device to ensure everything works as intended. See the [Local Run documentation](https://docs.flutterflow.io/testing/local-run/) for details.
106-
4. If everything looks good, you can merge the new branch into the main branch. However, to merge branches successfully, ensure that both the main branch and the new branch are pinned to the same FlutterFlow version! If for some reason your app is not working as expected, you can choose to leave or close the branch until you are ready to make the modifications needed to support the latest FlutterFlow version (i.e. upgrade dependencies/custom code).
105+
5. If everything looks good, you can merge the new branch into the main branch. However, to merge branches successfully, ensure that both the main branch and the new branch are pinned to the same FlutterFlow version! If for some reason your app is not working as expected, you can choose to leave or close the branch until you are ready to make the modifications needed to support the latest FlutterFlow version (i.e. upgrade dependencies/custom code).
107106

108107
:::tip
109108
See the video [**here**](https://youtu.be/8Y1uyCC_dXE) for guidance on updating [**dependencies**](../../../ff-concepts/adding-customization/custom-code.md#manage-dependencies).
110109
:::
111110

112111
## Version Management with Libraries
113112

114-
[Libraries](../libraries.md) have their own versions, and each library version corresponds to a specific FlutterFlow version. The FlutterFlow version of the library version is determined by the version used (pinned or otherwise) when the project was updated.
113+
[Libraries](../libraries.md) have their own versions. Like projects, libraries edited in FlutterFlow can only be used in FlutterFlow versions greater than or equal to the version it was last edited in.
114+
115+
To ensure that new versions of libraries used in a pinned project are compatible with a pinned project, we recommend pinning all libraries used in a pinned project to the same (or lower) Flutterflow version as the pinned project.
115116

116117
Library projects can also be pinned to a specific version, ensuring that all library versions use that FlutterFlow release until the pinned version is changed.
117118

118119
:::info
119-
When you import a library into a project or another library, the library’s version must be lower than the version used for the project it’s being imported into; otherwise, you will encounter an error.
120+
- Pinned projects cannot add a library with the version set to 'current' or to a library version that has been edited on a later release of FlutterFlow.
121+
122+
- Projects cannot be pinned if they contain a library with the version set to 'current' or to a library version that has been edited on a later release of FlutterFlow.
120123
:::
121124

122-
## FAQs
125+
:::tip
126+
When you import a library into a project or another library, the library’s version must be lower than or equal to the version used for the project it’s being imported into; otherwise, you will encounter an error.
127+
:::
123128

124-
<details>
125-
<summary>
126-
What happens if I downgrade to a lower version of FlutterFlow after making changes in a higher version?
127-
</summary>
128-
<p>
129-
Any changes made in a higher version will be lost when you revert to a lower version (e.g., you made changes when you upgraded from 5.0 to 5.1, but then you want to downgrade back to 5.0).
130-
**To avoid data loss, thoroughly test your app after upgrading to ensure you want to continue with the updated version.**
131-
</p>
132-
</details>
129+
## FAQs
133130

134131
<details>
135132
<summary>
@@ -185,7 +182,7 @@ However, to merge branches successfully, ensure that both the main branch and th
185182
What happens if there is no stable version available for me to pin my project to?
186183
</summary>
187184
<p>
188-
If your project was created and edited on a [standard release](#standard-release-corresponds-to-patch-version) that does not correspond to a [stable version](#stable-release-corresponds-to-minor-version), you may not see an earlier stable version to downgrade to - because this would reset the state of your project. Instead, you can choose to opt-in to the [*next stable release*](#pinning-your-project).
185+
If your project was created and edited on a [standard release](#standard-release-corresponds-to-patch-version) that does not correspond to a [stable version](#stable-release-corresponds-to-minor-version), you may not see a stable version available. Instead, you can choose to opt-in to the [*next stable release*](#pinning-your-project). If set to the next stable release, a project will immediately be pinned when opened when a new stable release becomes available.
189186
</p>
190187
</details>
191188

0 commit comments

Comments
 (0)