-
Notifications
You must be signed in to change notification settings - Fork 195
Description
Currently shorebird is tied to a specific flutter revision. Which also means that its tied to a specific Flutter engine and Dart VM version.
Dart snapshots are not stable between Dart revisions. Flutter includes Dart snapshots (inside libapp.so) in your application. So when you do a release with Flutter or Shorebird, if you wish to later patch that release with Shorebird, you have to do it from an exactly matching Dart revision (implying a matching Flutter and matching Shorebird revision).
shorebird does not need to be tightly coupled to a single flutter release. We could offer fvm-like functionality, of downloading different versions of Flutter per project.
If we did this, then it would be possible for us to release a new version of Shorebird, which depend on a new version of Flutter without worrying that users then have to take explicit action to downgrade their version of Shorebird in order to patch older apps in the wild.
Presumably if we did this we would only support a limited set of older flutter revisions, and only back to some certain point, as we do currently maintain (very small) patches on top of Flutter which we might have to also maintain on older branches of Flutter in this model.