flutter_restore 1.3.0 copy "flutter_restore: ^1.3.0" to clipboard
flutter_restore: ^1.3.0 copied to clipboard

Static compatibility scanner for legacy Flutter projects.

Changelog #

1.3.0 #

Added #

  • Added the plan command: flutter_restore plan <path> renders an ordered, advisory migration plan built from scan findings. The plan is intentionally not an autofix, because regenerating android/ or ios/ can destroy custom native changes in legacy projects.
  • Added MigrationPlan, MigrationStep, and MigrationRisk models with stable one-based step numbering, reason, affects, and depends_on fields, plus an estimated risk level and a native customization indicator.
  • Added MigrationPlanBuilder with deterministic step ordering: Gradle infrastructure before the Flutter Gradle plugin migration, and the plugin migration before the Android embedding rewrite.
  • Added plain text and JSON plan renderers; plan supports the same --json and --platform options as scan.

1.2.1 #

Fixed #

  • Use absolute URL for the logo in README so it renders on pub.flutter-io.cn.

1.2.0 #

Added #

  • Added dependency scanning: pubspec.yaml and pubspec.lock are parsed into a DependencySnapshot with environment constraints, direct and dev dependency constraints, resolved versions, sources, and lock SDK bounds.
  • Added lock consistency rules for stale pubspec.lock files: constraint and locked version mismatches, dependencies missing from the lock, and stale lock entries for removed dependencies.
  • Added dependency SDK compatibility rules that report when declared dependencies require a newer Dart or Flutter SDK than the project environment allows, including per-package requirements such as "http 1.2.2 requires Dart >= 3.2.0".
  • Added package conflict rules that flag known incompatible dependency pairs (for example intl versus flutter_localizations, or old dart_code_metrics with modern analyzer).
  • Added package note rules for deprecated or discontinued packages such as js, flutter_driver, pedantic, and dart_code_metrics.
  • Added a Dependencies section to plain text reports and a dependencies snapshot to JSON reports.
  • Added curated package compatibility tables to CompatibilityData that can be extended per project through RuleRunner(data: ...).
  • Added a project logo to the README.

Fixed #

  • Fixed the modern_flutter fixture lock file so it is consistent with its pubspec.

1.1.0 #

Added #

  • Added scan --platform all|android|ios|linux|windows|web to scope reports and rule evaluation to one platform or every supported platform.
  • Added Linux, Windows, and web project snapshots to ProjectSnapshot.
  • Added Linux target structure checks for runner completeness, CMake minimum version, and GTK pkg-config wiring.
  • Added Windows target checks for runner completeness, CMake minimum version, legacy run loop files, version metadata wiring, dark title bar support, and the Flutter 3.13 first-frame ForceRedraw migration.
  • Added web target checks for runner completeness, current bootstrap wiring, <base href>, deprecated loadEntrypoint, deprecated serviceWorkerVersion, manual service worker registration, and incomplete custom flutter_bootstrap.js files.
  • Added a desktop migration rule for obsolete debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia workarounds.
  • Added fixture coverage for modern Linux, Windows, and web targets.
  • Added legacy desktop/web fixtures that exercise the new platform migration rules.

Changed #

  • Split rule_runner.dart into Dart part files for project-wide, Android, iOS, and platform-specific rules.
  • Updated plain text and JSON reports so selected platforms are reflected in both output formats.
  • Reworked the README into a structured pub.flutter-io.cn-oriented format with table of contents, usage, supported platform, rule, report, and development sections.

1.0.3 #

Fixed #

  • Fixed the changelog so it references the current package versions.

1.0.2 #

Added #

  • Added package documentation.

1.0.1 #

Added #

  • Added an iOS project snapshot alongside the Android snapshot.
  • Added iOS compatibility findings for deployment targets, Podfile platform baselines, CocoaPods-only projects, mixed CocoaPods and SwiftPM dependency management, SwiftPM opt-out flags, and local plugin deployment target conflicts.
  • Added iOS runner migration signals for missing or incomplete UIScene setup, custom AppDelegate lifecycle code, manual GeneratedPluginRegistrant calls, legacy Flutter engine initialization, old Flutter build scripts, legacy Flutter.framework embedding, and legacy/custom Xcode build settings.
  • Added fixture coverage for legacy CocoaPods, modern SwiftPM, mixed dependency management, old deployment targets, missing UIScene configuration, and custom legacy AppDelegate projects.

Changed #

  • Included iOS facts in plain text and JSON scan reports.
  • Updated package metadata and refreshed locked dev dependency versions for the pub.flutter-io.cn release.

1.0.0 #

Initial stable release.

Added #

  • Added flutter_restore scan <path> CLI.
  • Added plain text and JSON compatibility reports.
  • Added static scanning for Flutter, pub, and Android project files.
  • Added compatibility findings for Gradle, Android Gradle Plugin, Java, SDK, legacy Flutter Gradle integration, .flutter-plugins, and Android v1 embedding signals.
  • Added fixture-based scanner, rule, and CLI test coverage.
2
likes
160
points
355
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Static compatibility scanner for legacy Flutter projects.

Repository (GitHub)
View/report issues

Topics

#flutter #android #ios #gradle #migration

License

MIT (license)

Dependencies

args, path, pub_semver, yaml

More

Packages that depend on flutter_restore