Skip to content

v6.1.8

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Jul 17:04

🛠️ Maintenance

  • Vendored the motion_photos package locally to resolve a dependency conflict — The motion_photos package (v1.0.0, last published 19 months ago) pins xml ^6.2.2, which is incompatible with image ^4.9.1 (which requires xml ^7.0.1), causing dart pub get to fail with a version-solving error. Rather than downgrade image (losing fixes and features) or wait for an upstream release that does not exist, the small surface area of motion_photos that GPTH uses (MotionPhotos, isMotionPhoto(), getMotionVideoIndex(), VideoIndex) is now re-implemented as a pure-Dart module at lib/common/services/media_services/motion_photos.dart. The implementation mirrors the package's algorithm verbatim (Boyer-Moore search for the MP4 ftyp mp42 header, then XMP fallback parsing GCamera:MicroVideoOffset / Item:Length), with the only difference being that XMP parsing uses regex instead of the xml package, dropping the transitive xml dependency entirely. The motion_photos dependency was removed from pubspec.yaml, and all imports in lib and test were updated to point at the local module.
  • Bumped the Dart SDK constraint to >=3.11.0 and pinned the CI Dart SDK to 3.11image 4.9.1 depends on xml ^7.0.1, which itself requires SDK ^3.11.0. The previous constraint (>=3.9.0) allowed Dart 3.9/3.10 where xml 7.0.1 cannot run, so dart pub get failed on CI runners that installed an older stable Dart. The SDK floor is now 3.11.0, and all three GitHub Actions workflows (build-nightly, new-release, build-and-create-release) pass sdk: 3.11 to dart-lang/setup-dart so the correct Dart version is installed on every build runner.

What's Changed

  • docs: add winget installation instructions for exiftool and 7zip by @mian196 in #135

New Contributors

Full Changelog: v6.1.6...v6.1.8