Skip to content

feat: shorebird should support older flutter versions #472

@eseidel

Description

@eseidel

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions