1.8.0 Pre-Release + plugin API breaking change backwards compatibility discussion #535
Replies: 6 comments 26 replies
-
@jjw24 I've found a reproducible crash. Should I give details here or open a new issue? |
Beta Was this translation helpful? Give feedback.
-
Once #541 goes in we should be good to release 1.8.0 this weekend hopefully, what do you peeps think? I haven't come across any issues using it. @Flow-Launcher/team |
Beta Was this translation helpful? Give feedback.
-
How about we consider a more future-proof solution to the compatibility issues described in #480 ? Seems like our hands are currently tied when it comes to deprecating stuff from the plugin interfaces, and releasing 1.8.0 as-is won't make it easier to resolve in the future... |
Beta Was this translation helpful? Give feedback.
-
I will respond here since the reply is too much. For current situation, method two may not be a good way, because it will make the plugins can be installed by every version of Flow by default. However, the latest Flow.Launcher.Plugin.dll may not support older version of Flow if they use some new api. Also, as @jjw24 has suggested, it won't ban current Flow (1.7.2 or older) from receiving plugins update. It would be quite possible for a developer to download the latest dll, but using some basic feature at first, which works for older version of Flow, but one update brings the use of newer feature that is not supported by older Flow, and users update plugin without updating Flow, and the plugin become unusable. It would be hard for them to check which version adds some new feature and add the compatibility information there. Furthermore, this means that one plugin may need to have multiple version listed in the manifest that supports different version of Flow if they want, which will make the manifest even messy. By the way, I think we should only use reply when it is a simple reply. When a new idea or a new proposal need to be discussed, it would be better to open another field to discuss. The vote feature can also be used in this way. |
Beta Was this translation helpful? Give feedback.
-
So in summary we have considered the following two methods for maintaining API's backwards compatibility with older versions of Flow: Method one: Users upgraded to 1.8.0 will receive new plugin updates including plugins using API v2 as their flow will be pointing to the new API v2 branch in PluginsManifest. We will try to maintain no more than these two branches (main + new v2 api branch) in PluginsManifest to help with maintainability, and with another breaking change API update i.e. API v3 we will point the url in Flow back to the main branch. This will eventually break users that are still on 1.7.2 and older versions of Flow, but it is ok because as soon as they update they their plugins will work again. Users should let us know if there is a reason that they have been using 1.7.2 or older so we can fix it. Method two Plugin developer will need to be aware what flow version their plugins support. Conclusion Method one will allow users on 1.7.2 and older to be able to download all plugins that are added prior to plugin API v2 release, but will not receive new updates or able to install newly added plugins after api v2 release. This can be addressed as soon as they update flow to the latest. Branches for implementing this method in PluginsManifest repo should be kept to two, main + new api v2 branch, and repoint to main branch once a new API major version (breaking) is released, which would not be in the immediate short term. Additionally plugin developers do not need to care what api version their new update supports. It seems method one is quicker to implement and as long as we don't allow too many branches, it should be a good approach. Do we need to discuss this further, are there any concerns not addressed, or are we good to implement it? @Flow-Launcher/team |
Beta Was this translation helpful? Give feedback.
-
Besides this, what are something we still need to work on for 1.8.0 release? |
Beta Was this translation helpful? Give feedback.
-
Hi all,
1.8.0 is our upcoming release. You can test it by clicking here to download the installer or you can check the release notes here.
Make sure your Flow is not in Portable Mode otherwise your user data will be lost. Please note until the official release, the version of this installation will still be marked as 1.7.2, this is so when it's officially released or newer versions are out you can still update.
Let us know if you experience any issues, and please make sure you let us know that you are running the pre-release version.
In the future, if you would like to download and test a specific build from the PR, simply go to the PR you would like and find the latest commit with a green tick and click 'Details':
This will take you to our build page. Click on 'Artifacts' then select 'Output\Packages\Flow-Launcher-v1.7.2.exe':
Enjoy.
Beta Was this translation helpful? Give feedback.
All reactions