Dropsource / monarch

Monarch is a tool for building Flutter widgets in isolation. It makes it easy to build, test and debug complex UIs.
https://monarchapp.io
MIT License
433 stars 22 forks source link

Support Flutter 3.8 `WidgetsBinding` change #80

Closed fertrig closed 1 year ago

fertrig commented 1 year ago

Flutter 3.8 is currently in the beta channel. The Flutter sdk version 3.8.0-0.0.pre introduced a new API for WidgetsBinding which is not compatible with version 3.0.0 of the monarch package.

Details of the issue are here: https://github.com/flutter/flutter/issues/121180

The requirements to fix this issue are:

Users declare monarch: ^3.0.0 in their pubspec.yaml. Therefore, flutter pub get can resolve to 3.0.x or 3.3.x based on the project's flutter sdk version.

We can use the flutter sdk version constraints in pubspec.yaml to implement the requirements above. Here is a discussion on flutter sdk constraints: https://github.com/flutter/flutter/issues/90773#issuecomment-1442397687

fertrig commented 1 year ago

Version 3.0.1 of the monarch package was implemented with PRs #78 and #79.

Version 3.3.0 of the monarch package is in the monarch-package-3.3 branch. Once Flutter 3.8 makes it to stable we can merge this branch onto main.

For now, we will maintain these two versions of the monarch package. Both versions have been published to pub.dev.