flutter_image_compress
Compress Pictures. Can effectively reduce the size of the transmission.
2.5.1
1.0M downloads/mo
#357 most downloaded on pub.dev
fluttercandies/flutter_image_compress
What this package is like to depend on
Last release 1 months ago
25 Jul 2026
Release timing varies
gaps range from 8 days to 1.5 years
Nearly every release is documented
notes for 41 of 42 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
43 releases · first in 2018
2 releases in the last 12 months
see the full history below
Release timeline
43 releases · Sep 2018 to Jul 2026Releases
latest 43-
2.5.125 Jul 2026Release notes
Open source → -
2.5.017 Jul 2026Release notes
Open source →- REFACTOR(common): drop go-flutter plugin, rebuild example native shell (#368). (6d3898b0)
- FIX(Android): preserve source EXIF on PNG and WebP output (refs #130) (#395). (4ddf1390)
- FIX(iOS): preserve full source metadata on keepExif=true via direct CGImage passthrough (#168) (#391). (2d6b7fe4)
- FIX(dart): reject compressAndGetFile when source == target (#240) (#386). (c1dbe754)
- FIX(iOS): don't crash on WebP + keepExif when ImageIO can't rewrite metadata (#369). (46e59a4b)
- FEAT(darwin): migrate to Swift Package Manager (#323). (a77d6c49)
- DOCS(Android): surface HEIC + keepExif limitation via Log.w + README matrix (refs #130) (#394). (3d47a609)
Release notes
Open source →- REFACTOR(common): drop go-flutter plugin, rebuild example native shell (#368). (6d3898b0)
- FIX(Android): preserve source EXIF on PNG and WebP output (refs #130) (#395). (4ddf1390)
- FIX(iOS): preserve full source metadata on keepExif=true via direct CGImage passthrough (#168) (#391). (2d6b7fe4)
- FIX(dart): reject compressAndGetFile when source == target (#240) (#386). (c1dbe754)
- FIX(iOS): don't crash on WebP + keepExif when ImageIO can't rewrite metadata (#369). (46e59a4b)
- FEAT(darwin): migrate to Swift Package Manager (#323). (a77d6c49)
- DOCS(Android): surface HEIC + keepExif limitation via Log.w + README matrix (refs #130) (#394). (3d47a609)
-
2.4.002 Jan 2025Release notes
Open source →What's Changed
- Bump compileSdk to 34 by @MominRaza in #312
- Migrate js interop fixes #297 by @myxzlpltk in #306
- Throw more descriptive error when user has not included pica in their html by @ShreyashKore in #302
- feat: remove pica from web by @CaiJingLong in #324
- bump web package to 1.1.0 by @tainanfochesatto in #328
- Fix: Correct image size calculation for macOS with NSImage by @sejong2401 in #316
New Contributors
- @MominRaza made their first contribution in #312
- @myxzlpltk made their first contribution in #306
- @ShreyashKore made their first contribution in #302
- @tainanfochesatto made their first contribution in #328
- @sejong2401 made their first contribution in #316
Full Changelog: flutter_image_compress-v2.3.0...flutter_image_compress-v2.4.0
-
2.3.015 May 2024 -
2.2.014 Mar 2024Release notes
Open source → -
2.1.020 Oct 2023 -
2.0.420 Jul 2023 -
2.0.312 May 2023 -
2.0.210 May 2023 -
2.0.106 May 2023 -
2.0.006 May 2023Release notes
Open source →- Migrate platform interface
Breaking Change:
- The result
FiletoXFileof cross_file
See the migration guide for more details.
-
1.1.319 Sep 2022 -
1.1.231 Aug 2022 -
1.1.103 Aug 2022Release notes
Open source →- FIX(Android): replace deprecated EXIF ISO tag (#403). (5c28723f)
- FIX(Android): handle Gradle 9 Kotlin modes safely (#401). (e4bbccae)
2026-07-17
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
flutter_image_compress-v2.5.0flutter_image_compress_common-v1.1.0flutter_image_compress_macos-v1.1.0flutter_image_compress_ohos-v0.0.3+1flutter_image_compress_platform_interface-v1.1.0flutter_image_compress_web-v0.1.5+1
Release notes
Open source →- Merge effective PRs that improve the plugin from various aspects, including: #192, #207, #208, #210, #214. Thanks to these contributors.
- Repo cleanup.
-
1.1.001 Aug 2021Release notes
Open source →- FIX(*): translate native compress failures to CompressError instead of null (#397). (296af9a3)
- FIX(dart): validator throws in release + names the offending path (#189 #247) (#383). (c8e13e2a)
- FIX(dart): give UnsupportedFlutterImageCompress actionable error messages (#250 #303 #235) (#379). (54c13e61)
Release notes
Open source →- REFACTOR(common): drop go-flutter plugin, rebuild example native shell (#368). (6d3898b0)
- FIX(*): translate native compress failures to CompressError instead of null (#397). (296af9a3)
- FIX(Android): preserve source EXIF on PNG and WebP output (refs #130) (#395). (4ddf1390)
- FIX(iOS): preserve full source metadata on keepExif=true via direct CGImage passthrough (#168) (#391). (2d6b7fe4)
- FIX(iOS): mkdir target parent before writeToURL (analog of #375) (#389). (ed265d8f)
- FIX(Android): recycle source bitmap in CommonHandler JPEG/PNG/WebP path (#77 #80 #136 partial) (#388). (2775be8b)
- FIX(Android): recycle HEIC bitmaps and always close HeifWriter (#136 partial) (#387). (38466e7b)
- FIX(Android): recycle intermediate bitmaps in scale/rotate pipeline (#77 #80 partial) (#382). (ef837251)
- FIX(iOS): detect HEIC/HEIF/AVIF via ISO BMFF ftyp box in mime sniffer (#381). (8c768f00)
- FIX(Android): delete HEIC tmp file + cache CI deps (#321 partial) (#380). (03230ba6)
- FIX(iOS): delete HEIC intermediate tmp file after read-back (#321 partial) (#377). (cfeb1344)
- FIX(Android): preserve full EXIF and stop leaking tmp .jpg in ExifKeeper (#376). (31558ae4)
- FIX(Android): mkdirs the target path's parent before writing (#194 #181 #90) (#375). (6616d101)
- FIX(iOS): reject non-image input files instead of returning a bogus
XFile(#374). (7b2f5cc1) - FIX(Android): decode into
ARGB_8888instead ofRGB_565(#373). (96fbaf08) - FIX(iOS): compute rotated bbox off the main thread without UIKit (#353) (#370). (717690e8)
- FIX(Android): don't kill the process when the input file is unreadable (#122) (#372). (c88e4758)
- FIX(iOS): don't crash on WebP + keepExif when ImageIO can't rewrite metadata (#369). (46e59a4b)
- FIX(iOS): guard HEIC encoding against nil colorSpace and silent write failures (#358). (aa69d225)
- FIX: Remove AssetsLibrary usage for iOS 26 compatibility (#366). (966a1328)
- FIX: Update commons-io dependency from 2.6 to 2.16.1+ to fix security… (#340). (41f996cc)
- FEAT(Android): opt into Flutter's built-in Kotlin (KGP migration) (#390). (e6a8e769)
- FEAT(darwin): migrate to Swift Package Manager (#323). (a77d6c49)
- DOCS(Android): surface HEIC + keepExif limitation via Log.w + README matrix (refs #130) (#394). (3d47a609)
Release notes
Open source →- FIX(macOS): offload compression off the AppKit main thread (#398). (3d458027)
- FIX(*): translate native compress failures to CompressError instead of null (#397). (296af9a3)
- FIX(macOS): guard remaining force-unwraps in handleImage (#378). (664c18f4)
- FIX(macOS): stop crashing when CGImageDestinationCreate returns nil (#339, #314) (#371). (99370c8d)
- FEAT(darwin): migrate to Swift Package Manager (#323). (a77d6c49)
Release notes
Open source →- REFACTOR(common): drop go-flutter plugin, rebuild example native shell (#368). (6d3898b0)
- FIX(*): translate native compress failures to CompressError instead of null (#397). (296af9a3)
- FIX(Android): preserve source EXIF on PNG and WebP output (refs #130) (#395). (4ddf1390)
- FIX(iOS): preserve full source metadata on keepExif=true via direct CGImage passthrough (#168) (#391). (2d6b7fe4)
- FIX(iOS): mkdir target parent before writeToURL (analog of #375) (#389). (ed265d8f)
- FIX(Android): recycle source bitmap in CommonHandler JPEG/PNG/WebP path (#77 #80 #136 partial) (#388). (2775be8b)
- FIX(Android): recycle HEIC bitmaps and always close HeifWriter (#136 partial) (#387). (38466e7b)
- FIX(Android): recycle intermediate bitmaps in scale/rotate pipeline (#77 #80 partial) (#382). (ef837251)
- FIX(iOS): detect HEIC/HEIF/AVIF via ISO BMFF ftyp box in mime sniffer (#381). (8c768f00)
- FIX(Android): delete HEIC tmp file + cache CI deps (#321 partial) (#380). (03230ba6)
- FIX(iOS): delete HEIC intermediate tmp file after read-back (#321 partial) (#377). (cfeb1344)
- FIX(Android): preserve full EXIF and stop leaking tmp .jpg in ExifKeeper (#376). (31558ae4)
- FIX(Android): mkdirs the target path's parent before writing (#194 #181 #90) (#375). (6616d101)
- FIX(iOS): reject non-image input files instead of returning a bogus
XFile(#374). (7b2f5cc1) - FIX(Android): decode into
ARGB_8888instead ofRGB_565(#373). (96fbaf08) - FIX(iOS): compute rotated bbox off the main thread without UIKit (#353) (#370). (717690e8)
- FIX(Android): don't kill the process when the input file is unreadable (#122) (#372). (c88e4758)
- FIX(iOS): don't crash on WebP + keepExif when ImageIO can't rewrite metadata (#369). (46e59a4b)
- FIX(iOS): guard HEIC encoding against nil colorSpace and silent write failures (#358). (aa69d225)
- FIX: Remove AssetsLibrary usage for iOS 26 compatibility (#366). (966a1328)
- FIX: Update commons-io dependency from 2.6 to 2.16.1+ to fix security… (#340). (41f996cc)
- FEAT(Android): opt into Flutter's built-in Kotlin (KGP migration) (#390). (e6a8e769)
- FEAT(darwin): migrate to Swift Package Manager (#323). (a77d6c49)
- DOCS(Android): surface HEIC + keepExif limitation via Log.w + README matrix (refs #130) (#394). (3d47a609)
Release notes
Open source →October 08, 2025
androidx.heifwriter:heifwriter:1.1.0 is released. Version 1.1.0 contains these commits .
-
1.0.025 Mar 2021 -
1.0.0-nullsafety26 Feb 2021 pre-release -
0.7.005 Jul 2020Release notes
Open source →- Fix memory leaked for android.
- Support android v2 plugin.
Breaking Change:
- Replace
List<int>toUint8List.
-
0.6.816 May 2020 -
0.6.723 Apr 2020 -
0.6.512 Jan 2020 -
0.6.5+114 Jan 2020 -
0.6.411 Jan 2020Release notes
Open source →New feature:
- Add Params inSampleSize for methods.
- Heif and webp Partially supported.
-
0.6.311 Jul 2019Release notes
Open source →Fix:
- Android: When the register of the calling plugin is not in the main process or there is no Activity.
-
0.6.209 Jul 2019Release notes
Open source →Optimization:
- Reduce the speed required for ios to add dependencies by copying the
SYPictureMetadatasource code into the project.
- Reduce the speed required for ios to add dependencies by copying the
-
0.6.102 Jul 2019Release notes
Open source →Fix:
- autoCorrectionAngle switches image width and height.
New feature:
- Keep exif (no have orientation), use
keepExif
-
0.6.025 Jun 2019Release notes
Open source →BREAKING CHANGE :
- remove method
getImageInfo.
For the time being, the follow-dev branch is no longer used, but only the master branch is needed to unify the pub version number.
New Feature:
- It is now supported to set the compression target to png format.
- remove method
-
0.5.223 May 2019 -
0.5.120 May 2019Release notes
Open source →Change
reportErrorwith flutter stable version.Breaking Change: The autoCorrectionAngle parameter causes a number of situations to behave differently than
0.4.0. See readme for details. -
0.5.019 May 2019Release notes
Open source →(don't use)
Breaking Change: Because
FlutterError.reportErrormethod's paramcontexttype changed. So this library will add the constraints of flutter SDK so that users before 1.5.9 will not use version 0.5.0 incorrectly. -
0.4.017 Apr 2019Release notes
Open source →Some code has been added to ensure that parameters that do not pass in native do not trigger crash.
-
0.3.104 Apr 2019 -
0.3.004 Apr 2019 -
0.2.427 Jan 2019Release notes
Open source →Updated Kotlin version
Breaking change. Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.
-
0.2.318 Dec 2018 -
0.2.228 Nov 2018 -
0.2.106 Nov 2018 -
0.2.023 Oct 2018Release notes
Open source →The version number is updated so that people who can use the higher version of gradle can use it. see pr #8
if android run error, you must update your kotlin's version to 1.2.71+
-
0.1.423 Oct 2018Release notes
Open source →- DEPS: Update
jsto>=0.6.0 <0.8.0.
2023-10-20
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
flutter_image_compress-v2.1.0flutter_image_compress_common-v1.0.3flutter_image_compress_platform_interface-v1.0.3flutter_image_compress_web-v0.1.3+2flutter_image_compress_macos-v1.0.1
Packages with dependency updates only:
Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
flutter_image_compress_macos-v1.0.1
- DEPS: Update
-
0.1.328 Sep 2018 -
0.1.209 Sep 2018Nothing published for this version
-
0.1.108 Sep 2018 -
0.1.008 Sep 2018