PackageTrack
Sign in Get early access

heif_converter

Flutter plugin to convert HEIC/HEIF file to PNG/JPEG image.

1.0.7 75K downloads/mo #1247 most downloaded on pub.dev joutvhu/heif_converter

What this package is like to depend on

Last release 1 months ago

18 Jul 2026

Release timing varies

gaps range from 4 weeks to 1.5 years

Nearly every release is documented

notes for 8 of 8 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

8 releases · first in 2023

6 releases in the last 12 months

see the full history below

Release timeline

8 releases · Aug 2023 to Jul 2026
2024 2025 2026
Release Pre-release

Releases

latest 8
  1. 1.0.7 18 Jul 2026
    Release notes

    What's New

    • Fix SPM compilation: Explicitly declare the FlutterFramework dependency in Package.swift for compatibility with Flutter 3.44+. Previously, the build would fail because import Flutter could not be resolved in the plugin's Swift code.
    Open source →
    Release notes
    • Fix SPM compilation by adding FlutterFramework dependency for Flutter 3.44+ compatibility.
    Open source →
  2. 1.0.6 29 May 2026
    Release notes

    What's Changed

    • iOS Build Fix: Resolved the Module 'heif_converter' not found compilation error by correcting the s.source_files search path in heif_converter.podspec to match the restructured Swift source directory layout (ios/heif_converter/Sources/).
    Open source →
    Release notes
    • Fix Module 'heif_converter' not found error on iOS by correcting s.source_files path in podspec.
    Open source →
  3. 1.0.5 23 May 2026
    Release notes

    🐛 Bug Fixes

    • iOS: Fixed Flutter Swift Package Manager (SPM) compatibility build issue. Renamed the SPM library product from heif_converter to heif-converter (kebab-case) in Package.swift to match the naming conventions required by FlutterGeneratedPluginSwiftPackage.

    📦 What's Changed

    • Fix Flutter SPM compatibility by using kebab-case product name in Package.swift (commit ead59470)
    • Bump version across pubspec.yaml, README.md, CHANGELOG.md, build.gradle, and heif_converter.podspec to 1.0.5
    Open source →
    Release notes
    • Fix Flutter SPM compatibility by using kebab-case product name in Package.swift.
    Open source →
  4. 1.0.4 22 May 2026
    Release notes

    🛠 Improvements

    • Fix iOS SPM Tooling support: Move Package.swift and Sources/ into ios/heif_converter/ to match the convention used by Flutter's Swift Package Manager integration.
    • This ensures the plugin is correctly detected when enable-swift-package-manager is enabled in Flutter config.
    Open source →
    Release notes
    • Move Package.swift and Sources/ into ios/heif_converter/ to support Flutter SPM tooling.
    Open source →
  5. 1.0.3 22 May 2026
    Release notes

    This release introduces official support for Swift Package Manager (SPM) on iOS, bringing the plugin up to date with modern Flutter iOS build tools.

    🚀 Features

    • iOS: Added Swift Package Manager (SPM) support alongside the existing CocoaPods integration. This allows the plugin to be built and managed more efficiently on newer Flutter versions (by @theo-germain).

    ⚠️ Breaking Changes / Requirements Update

    • iOS: The minimum iOS deployment target has been bumped from 11.0 to 12.0 to align with the Swift Package Manager configuration. Projects still targeting iOS 11 will need to update their ios/Podfile minimum target to iOS 12.0 to continue using the latest versions of this plugin.
    Open source →
    Release notes
    • Add Swift Package Manager (SPM) support for iOS alongside the existing CocoaPods integration
    • Bump minimum iOS deployment target to 12.0
    Open source →
  6. 1.0.2 26 Apr 2026
    Release notes

    Bug Fixes

    iOS

    • Fixed a crash caused by incorrect format string in auto-generated output path (%d.%s%d.%@). This caused the app to crash or produce a malformed file path when no explicit output path was provided.
    • Fixed conversion always returning nilUIImage(named:) was incorrectly used to load images from a file path. Replaced with UIImage(contentsOfFile:).
    • Fixed a potential crash from force casting method channel arguments (as!). Now uses safe casting with guard let, returning a proper FlutterError if arguments are malformed.
    • Fixed silent nil return when image encoding fails — the plugin now returns a FlutterError with code conversionFailed instead of returning null to the caller with no explanation.
    • Fixed output file not being created when the parent directory does not exist.

    Android

    • Fixed NullPointerException when BitmapFactory.decodeFile fails to decode the input file (unsupported format, corrupt file, or wrong path). Now throws a descriptive IOException.
    • Fixed FileOutputStream resource leak — the stream is now properly closed using try-with-resources.
    • Fixed output file not being created when the parent directory does not exist — parent directories are now created automatically with mkdirs().
    • Fixed Bitmap memory leak — bitmap.recycle() is now called in a finally block after compression to release native memory immediately.

    Build & Infrastructure

    • Updated Android compileSdkVersion to 34.
    • Updated Android Gradle Plugin to 8.2.2 and Gradle wrapper to 8.4 for Java 21 compatibility.
    • Migrated example app Android build scripts to the declarative Flutter Gradle plugin (required by Flutter 3.x).
    • Updated Flutter SDK constraint from >=2.5.0 to >=3.0.0.
    • Bumped flutter_lints to 5.0.0.

    Example App

    • Replaced network download with bundled HEIC/HEIF sample files for offline testing.
    • Added format selector (PNG / JPEG) and file picker to the example UI.
    • Added integration tests covering real file conversion with magic byte verification.
    Open source →
    Release notes
    • Fix crash on iOS caused by incorrect output path format string (%d.%s%d.%@)
    • Fix iOS always returning nil by using UIImage(contentsOfFile:) instead of UIImage(named:)
    • Fix iOS force cast crash — use guard let with safe cast instead of as!
    • Fix iOS silent nil return on conversion failure — now returns FlutterError with conversionFailed code
    • Fix iOS output path failing when parent directories do not exist
    • Fix Android FileOutputStream resource leak using try-with-resources
    • Fix Android NullPointerException when BitmapFactory.decodeFile returns null
    • Fix Android output path failing when parent directories do not exist
    • Fix Android Bitmap memory leak — call recycle() after compression
    • Update Android compileSdkVersion to 34
    • Update Android Gradle plugin to 8.2.2 and Gradle wrapper to 8.4 for Java 21 compatibility
    • Update Android version in build.gradle to match pubspec
    • Migrate example Android build scripts to declarative Flutter Gradle plugin
    • Update example app to use bundled sample HEIC/HEIF files instead of downloading
    • Update Flutter SDK constraint to >=3.0.0
    • Fix podspec description placeholder text
    • Bump flutter_lints to 5.0.0
    Open source →
  7. 1.0.1 23 Feb 2025
    Release notes
    • Add android namespace
    Open source →
    Release notes
    • Add android namespace
    Open source →
  8. 1.0.0 11 Aug 2023
    Release notes
    • Initial release.
    Open source →
    Release notes
    • Initial release.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive