All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Images that fail to download from iCloud on iOS will now throw
AssetFailedToDownloadException
exception if you try to access the path.
getByteData
andgetThumbByteData
now will return the current image with all adjustments on iOS #277
- Add new option for both Android and iOS
autoCloseOnSelectionLimit
. It will close the image picker as soon as the selection limit is reached.
- Fix crash on iOS when optimize storage is enabled
- Update BSImagePicker version to 2.10.2
- Update BSImagePicker version to 2.10.1
- Update FishBun to version 0.11.1
- Fixed picking image using camera does not return FilePath #226
- Trying to read images that does not exists will now throw AssetNotFoundException #222
- Permission Denied error now will be correctly thrown on iOS if the user has disabled camera access.
- Don't pin meta package version
- Make thumb provider use non depracated plugin methods
- Temporarily pin meta package version to 1.1.7
- The plugin now returns file paths as well. To obtain the asset file path use
await asset.filePath
- Removed
deleteImages
method. This plugin purpose is only to pick images. - Deprecated
Asset.requestThumbnail
method. UseAsset.getThumbByteData
instead. - Deprecated
Asset.requestOriginal
method. UseAsset.getByteData
instead. - Deprecated
Asset.requestMetadata
method. UseAsset.metadata
instead.
- Pin minimum Flutter version required to 1.7.8
- Added Material option
textOnNothingSelected
#201 - Updated the code to use defaultBinaryMessenger instead of the deprecated BinaryMessenger
pickImages
now throws NoImagesSelectedException, PermissionDeniedException and PermissionPermanentlyDeniedExeption in addition to PlatformException. You can implement different logic for handling each case separately now.- dateTime, dateTimeOriginal and dateTimeDigitized in the Metadata.exif object will now properly be returned as strings. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format as per Exif spec.
- Added the ability to change the icons for back and done buttons on Android. For more information see the documentation and the example app in this repository.
- Added new Android option useDetailsView to disable details view when clicking on the image and directly select it
- Update FishBun library to version 0.10.0
- Do not display GIF images on Android #180
- Methods marked with @UiThread must be executed on the main thread. #160
- Fix resolving gps metadata on Android #153
- Updated FishBun to version 0.9.1
- Added new option
selectedAssets
which allows you to pre select Assets when opening the image picker
- Added option to customize the message when max selection limit is reached on Android
- Remove informationCollector from AssetThumbImageProvider to make the plugin work with latest master version of Flutter info
- Updated BSImagePicker version to 2.10.0 and Switct version to 5.0
- Added an option to start Android picker in "All Photos" closes #111
- Added selectCircleStrokeColor closes #113
- Added
AssetThumb
widget, which simplified and handles displaying of thumb images. - Added
AssetThumbProvider
- Removed
Asset.thumbData
andAsset.imageData
getters. They were obsolete as this data was returned from resolved future anyways, there is no point to keep them in theAsset
object. - Removed
Asset.releaseThumb
,Asset.releaseOriginal
andAsset.release
methods, as they are no longer needed. Asset.requestThumbnail
andAsset.requestOriginal
now returnFuture<ByteData>
as previously returnedFuture<dynamic>
- Correctly return image name on photos taken with camera on Android
- Export MaterialOptions to make styling of Android possible.
- Fixed some deprecation warnings on Android
- Fix Matisse version
- Send Thumb and Original image data via separate channels #80
- Added ability to delete array of Assets from the filesystem #79
- Fix failing build on Android
- Display only images in the picker on Android #73
- Use custom fork of Matisse until it adds AndroidX support.
- 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.
- Renamed Metadata properties to lowerCamelCase in order to resolve dart-lang/sdk#35732
- Correctly handle LensSpecification and SubjectArea metadata
- Fix possible bug with permissions on Android
- Add original image name to the Asset class
- Fix bug with permissions on Android
- Remove static_library definition on iOS
- Fix memory leak on Android
- Bump Android and iOS versions
- Pub page preview fixes
- Removed deprecated meta data tag on Android
- Added
requestMetadata()
method to the Asset class
- Added
takePhotoIcon
option to ios customization settings
- Android - renamed authorities to
android:authorities="YOUR_PACKAGE_NAME_HERE.multiimagepicker.fileprovider"
. Please update your manifest file to avoid errors.
- Added custom file provider to avoid collisions with other plugins. See README for example implementation
- Define module_headers as per http://blog.cocoapods.org/CocoaPods-1.5.0/
- Add s.static_framework = true as per flutter/flutter#14161
- Added new optional parameter
quality
torequestThumb
andrequestOriginal
methods.
- Don't rescale the image when decoding it on Android
- Correctly handle image orientation on Android phones ref
- Increase thumb quality on Android
- Ask for CAMERA permission on Android, and fix opening of the picker after permission grant.
- Use correct application id on Android devices when setting up the camera provider
- requestOriginal now works correctly on Android
- Use app specific content provider, updated README.md
- Commented out example file provider as it gets included in production bundle. If you want to test the example just uncomment it in the android manifest.
- Added new picker option
enableCamera
which allows the user to take pictures directly from the gallery. For more info how to enable this please see README.md
- iOS 12 and Swift 4.2 language fixes
- Important: In your XCode build setting you must set Swift Version to 4.2
- Update Image picker library to support Swift 4.2 and XCode 10
- Remove obsolette file path in the asset class
- Fixed path not passed to the Asset class #7
- Add Real file path and allow to refresh image gallery #6 (thanks CircleCurve)
- Improved the docs
- Add originalWidth, originalHeight, isPortrait and isLandscape getters for the Asset class
- Add release(), releaseOriginal() and releaseThumb() methods to help clean up the image data when it is no longer needed
- Fix null pointer exception on Android when finishing from another activity (thanks to xia-weiyang)
- Add getters to Asset class
- Asset's
requestThumbnail
andrequestOriginal
methods now will return Future. Removed the method callbacks.
- Correctly crop the thumb on iOS
- Allow network access to download images present only in iCloud
- Improve thumbs quality on iOS to always deliver best of it
- Fix picking original image on Android was not triggering properly the callback
- The plugin have been redesigned to be more responsive and flexible.
- pickImages method will no longer return List, instead it will return List
- You can then request asset thumbnails or the original image, which will load asyncrhoniously without blocking the main UI thred. For more info see the examples directory.
Asset
class, with methodsrequestThumbnail(int width, int height, callback)
andrequestOriginal(callback)
- Fix crash on iOS when picking a lot of images.
- Picking images on iOS now will properly handle PHAssets
- Fix a crash on Android caused by closing and reopening the gallery
- Support iOS and Android customizations
- iOS: Add missing super.init() call in the class constructor
- Changed sdk: ">=2.0.0-dev.28.0 <3.0.0"
- Add Support for Dart 2 in pubspec.yaml file
- Initial release with basic support for iOS and Android