NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #175 most downloaded on pub.dev
A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.
Last release 16 days ago
15 Sep 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
242 releases · first in 2018
Fixes the issue under Windows that the user could select all file types even though a file type filter was enabled. This error existed because the use
Fixes the issue under Windows that the user could select all file types even though a file type filter was enabled. This error existed because the user could select the entry All Files (*.*) in the file type filter dropdown. Also, fixes the bug under macOS that users could select files without file extension even when one of the pre-defined file type filters (audio, image, video, or media) was enabled. (#871).
Fixes linting error during builds (#851).
Fixes linting error during builds (#851).
One column per quarter.
Fixes the issue of picking filenames that contain a comma followed by a space (#890).
Fixes the issue of picking filenames that contain a comma followed by a space (#890).
Improves error handling when device can't fetch files due to low storage space (#885).
Improves error handling when device can't fetch files due to low storage space (#885).
Fixed an issue that was creating a crash when media in PHPickerViewController in iOs was tapped several times very fast, we check that _result is not
Fixed an issue that was creating a crash when media in PHPickerViewController in iOs was tapped several times very fast, we check that _result is not empty to avoid the crash. No Github issue created.
Removes permission from the platform implementation Manifest since may not be required for some applications and devs can manually add it to their own
Removes <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> permission from the platform implementation Manifest since may not be required for some applications and devs can manually add it to their own application if needed (#864).
Reverts Android READ_EXTERNAL_STORAGE permission removal.
Reverts Android READ_EXTERNAL_STORAGE permission removal.
Fixes an issue where onFileLoading would be called while picking directories (#863).
Fixes an issue where onFileLoading would be called while picking directories (#863).
Adds the identifier property to the PlatformFile which references the original file identifier for both iOS & Android (#804).
Adds the identifier property to the PlatformFile which references the original file identifier for both iOS & Android (#804).
Fixes the issue that users could not pick .app files on macOS because FilePicker tried to determine the file size of .app files. On macOS, these speci
Fixes the issue that users could not pick .app files on macOS because FilePicker tried to determine the file size of .app files. On macOS, these special kind of files are actually Unix directories in a special format (read more on StackExchange). Now, if a file is picked, which is actually a directory, then the file size will be zero. (#856)
Fixes an issue that would prevent the call to return when both withReadStream and allowMultiple were set. (#843).
withReadStream and allowMultiple were set. (#843).Addresses an issue where multiple media files couldn't be picked in some 3rd party explorers (#846). Thank you @innim98.
Addresses an issue where multiple media files couldn't be picked in some 3rd party explorers (#846). Thank you @innim98.
Fixes an issue where Live Photos were being picked as .pvt packages (since iOS 15). From now on, if allowCompression is set to true, Live Photos will
Fixes an issue where Live Photos were being picked as .pvt packages (since iOS 15). From now on, if allowCompression is set to true, Live Photos will automatically be converted to static JPEG pictures. (#835)
Fixes the issue that on Linux the file type filter FileType.any did not allow the selection of files without file extension.
Fixes the issue that on Linux the file type filter FileType.any did not allow the selection of files without file extension. (#836)
Fixes an issue that would result in picker being dismissed by pulling down the modal sheet without an event.
Extends API by new function saveFiles() for opening a save-file dialog as requested in #799. This feature is only supported on desktop platforms (Linu
Extends API by new function saveFiles() for opening a save-file dialog as requested in #799. This feature is only supported on desktop platforms (Linux, macOS, and Windows).
Makes the path getter nullable to match with its property (#823).
Makes the path getter nullable to match with its property (#823).
Fixes custom extension filter. Thank you @jgoyvaerts.
Fixes custom extension filter. Thank you @jgoyvaerts.
Overrides equality and toString for platform_file and file_picker_result for better comparison different results. Thank you @Nolence.
Overrides equality and toString for platform_file and file_picker_result for better comparison different results. Thank you @Nolence.
UIModalPresentationCurrentContext to UIModalPresentationAutomatic (#813).path on Web. Thank you @maxzod.From now on, you'll be able to use file_picker with all your platforms, a big thanks to @philenius, which made this possible and allowed the flutter_f
From now on, you'll be able to use file_picker with all your platforms, a big thanks to @philenius, which made this possible and allowed the flutter_file_picker_desktop to be merged with this one.
Have in mind that because of platforms differences, that the following API methods aren't available to use on Desktop:
onFileLoading() isn't necessary, hence, FilePickerStatus won't change, since it hasn't any effect on those;clearTemporaryFiles() isn't necessary since those files aren't created - the platforms will always use a reference to the original file;dialogTitle which can be used to set the title of the modal dialog when picking the files;Adds onFileLoading() to Web. (#766).
Addresses an issue where an invalid custom file extension wouldn't throw an error when it should. Thank you @Jahn08.
getDirectoryPath() #745. Thank you @tomm1e.Removes analysis_options.yaml from the plugin and fixes the _Don't import implementation files from another package_ warning (#746).
withData is set to true. (#616).Removes deprecated call warnings;
name and size properties are now non-nullable types.Nothing published for this version
- Fixes #725.
Use MediaStore Opener (which goes through the gallery) instead of default explorer. (Thank you @tmthecoder).
Adds null safety support (#510).
Adds null safety support (#510).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixes an issue where a crash could happen when picking a lot of media files in low memory devices (#606).
preferredAssetRepresentationMode. Thank you @nrikiji.Addresses an issue on iOS 14 and later where events onFileLoading events weren't being provided (#577).
onFileLoading events weren't being provided (#577).iOS & Android: Updates size property from PlatformFile to be in bytes instead of kb.
iOS & Android: Updates size property from PlatformFile to be in bytes instead of kb.
Web: Updates size property from PlatformFile to be in bytes instead of kb;
size property from PlatformFile to be in bytes instead of kb;iOS: Fixes iOS ViewController which is nil when UIWindow.rootViewController have changed. (#525). Thank you @devcxm.
iOS: Fixes iOS ViewController which is nil when UIWindow.rootViewController have changed. (#525). Thank you @devcxm.
Android: Updates file name handling method.
Android: Updates file name handling method. (#487)
Desktop (Go): Fixed desktop plugin implementation. Thank you @DenchikBY.
Desktop (Go): Fixed desktop plugin implementation. Thank you @DenchikBY. (#382)
iOS: Fixes an issue that could result in a crash when selecting a media item twice.
iOS: Fixes an issue that could result in a crash when selecting a media item twice. (#518)
Adds withReadStream that allows bigger files to be streamed read into a Stream >. Thanks @redsolver.
Adds withReadStream that allows bigger files to be streamed read into a Stream<List<int>>. Thanks @redsolver.
Updates extension helper getter to use the name property instead of path, since the latest isn't available on the Web, hence, the extension wouldn't b
Updates extension helper getter to use the name property instead of path, since the latest isn't available on the Web, hence, the extension wouldn't be as well. Thank you @markgrancapal.
Fixes an issue that could result in some files not being properly retrieved due to special characters on their names.
iOS: Fixes FileType.audio exports to support ipod-library content (non DRM protected). From now on, a cached asset (m4a) will be exported from the sel
iOS: Fixes FileType.audio exports to support ipod-library content (non DRM protected). From now on, a cached asset (m4a) will be exported from the selected music file in the Music app, so it can later be used. Fixes (#441).
Adds missing extension to name property of PlatformFile.
Adds missing extension to name property of PlatformFile. (#444)
Android: Updates package visibility to fully support Android 11 (SDK 30 and later).
Android: Updates package visibility to fully support Android 11 (SDK 30 and later). (#440)
Note: If you have build issues from now on because <queries> aren't recognized, you'll need to update your build.gradle to use one of the following patched versions.
Minor fix on CHANGELOG regarding version 2.0.9.
Minor fix on CHANGELOG regarding version 2.0.9.
Fixes an issue on iOS 14, where canceling with swipe gestures, could result in cancel event not being dispatched. (#431).
Fixes an issue on iOS 14, where canceling with swipe gestures, could result in cancel event not being dispatched. (#431).
iOS: Updates media picker to launch in app context (instead of modal).
Fixes #425 and updates iOS to use NSDocumentDirectory on iOS 12 or lower. Thanks @allanwolski.
Fixes #425 and updates iOS to use NSDocumentDirectory on iOS 12 or lower. Thanks @allanwolski.
iOS: Fixes iOS 14 media picker (image & video) (#405, #407).
iOS: Fixes iOS 14 media picker (image & video) (#405, #407).
Android: Fixes #402.
Android: Fixes #402.
Desktop (Go): Fixes directory pick on Linux.
Desktop (Go): Fixes directory pick on Linux.
Android: Fixes out of memory issue on some devices when picking big files.
Android: Fixes out of memory issue on some devices when picking big files.
Web: Adds mobile Safari support and other minor improvements. iOS: Adds conditional import for backwards compatibility with Xcode 11.
Web: Adds mobile Safari support and other minor improvements. iOS: Adds conditional import for backwards compatibility with Xcode 11.
iOS: Fixes conditional import for backwards compatibility with Xcode 11.
iOS: Fixes conditional import for backwards compatibility with Xcode 11.
Fixes multi-pick example on README.
Fixes multi-pick example on README.
iOS: Updates picker to use new PHPickerController for both single and multi media (image/video) picks (iOS 14 and above only).
iOS: Updates picker to use new PHPickerController for both single and multi media (image/video) picks (iOS 14 and above only).
Fixes README screenshots.
Fixes README screenshots.
iOS: Addresses an issue that could prevent users from viewing picked media elements (pictures/videos) from gallery on iOS 14.
iOS: Addresses an issue that could prevent users from viewing picked media elements (pictures/videos) from gallery on iOS 14.
Your coding agent can read these notes before it upgrades. Set up the MCP server →