NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #176 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 21 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
Fix pickFiles for Android with launchMode=singleInstance #1700, #1404
### iOS - Fix 1367
One column per quarter.
Adds support for Swift Package Manager for compatibility with new projects #1582
BREAKING CHANGE: pickFiles() now requires the com.apple.security.files.user-selected.read-only entitlement on macOS. Without this entitlement, the fil…
pickFiles() now requires the com.apple.security.files.user-selected.read-only entitlement on macOS. Without this entitlement, the file picker will not open, and the method will return null. See the note in the updated wikiFix Image Picker to Handle Partial Failures Gracefully #1554
Fix Android compile error #1643
Fix #872 by removing unnecessary external storage permission
Fixes a crash when sometimes user swipe the modal down and call it again. 1357
Fixes a null object reference error #1604
Fixes a cache deletion issue #1505
Migrate the web example to use the new web bootstrapping, introduced in Flutter 3.22.
Updates the minimum Flutter version to 3.22.0, to support Dart 3.4.
package:web dependency to 1.0.0.FilePickerWeb.platform static field. Use FilePicker.platform instead.Fixes an issue relating to incorrect registration of platform-specific implementations. #1555.
kIsWeb and FilePickerWeb when running on the web.Updates the minimum Android SDK version to 21, to match the current Flutter minimum Android SDK version. Fixes #1522, #1528, and #1531. Thanks @navaro
Release picked file data in memory to avoid memory leak
Release picked file data in memory to avoid memory leak
Removes references to Flutter v1 android embedding classes.
Removes references to Flutter v1 android embedding classes.
Fixes a TypeError with pickFiles() when using the HTML renderer.
Fixes a TypeError with pickFiles() when using the HTML renderer.
Fixes the bug #1412 that picking a folder in iOS causes the original folder to be deleted.
Fixes the bug #1412 that picking a folder in iOS causes the original folder to be deleted.
Fixes an issue preventing compilation on iOS when using Pod::PICKER_DOCUMENT = false.
Fixes an issue preventing compilation on iOS when using Pod::PICKER_DOCUMENT = false.
Removes linter warnings and fixes CI/CD.
Removes linter warnings and fixes CI/CD.
### Desktop Removes Flutter GO support. ### iOS Adds privacy manifest #1418.
Adds xFiles getter to [FilePickerResult] and XFile to PlatformFile to retrieve a List or single XFile accordingly.
xFiles getter to [FilePickerResult] and XFile to PlatformFile to retrieve a List<XFile> or single XFile accordingly.Fixes typo on docs (there was some refernces to FileType.all instead of the correct FileType.any).
Fixes typo on docs (there was some refernces to FileType.all instead of the correct FileType.any).
File picker extensions for Linux Zenity are case insensitive now
The initialDirectory parameter of getDirectoryPath() now works (#970).
The initialDirectory parameter of getDirectoryPath() now works (#970).
Add ability to compress images on android by specifying a compression quality value ([#735] ( )).
Add ability to compress images on android by specifying a compression quality value ([#735] (https://github.com/vicajilau/flutter_file_picker/issues/735)).
Android's CSV mime type is text/comma-separated-values. Added standard text/csv when the CSV extension is specified which fixes issues when picking CS
Android's CSV mime type is text/comma-separated-values. Added standard text/csv when the
CSV extension is specified which fixes issues when picking CSV files from Google Drive
on Android devices.
Update minimum Flutter version to 3.7.0.
Update minimum Flutter version to 3.7.0.
Fix if selecting from gallery multiple files from remote sources (eg GoPro, Drone) imported to the device gallery and uploaded to iCloud they would ha
Fix #1317
Fix #1317
Fix #1312
Fix #1312
Bumps the dependency win32 to 5.0.2 (#1281). Thank you @frg2089!
Bumps the dependency win32 to 5.0.2 (#1281). Thank you @frg2089!
Bump Dart SDK lower bound to <4.0.0 to support Dart 3
Bump Dart SDK lower bound to <4.0.0 to support Dart 3
Updates Gradle to version 7.5 Adds the namespace property for compatibility with Gradle 8
Updates Gradle to version 7.5 Adds the namespace property for compatibility with Gradle 8
Updates dependencies, including win32 bump to 4.1.3 (#1255).
Updates dependencies, including win32 bump to 4.1.3 (#1255).
Fixes the bug that the result of the save-file dialog was incorrect when it was invoked with a long default file name but the user selected a file wit
Fixes the bug that the result of the save-file dialog was incorrect when it was invoked with a long default file name but the user selected a file with a much short file name (#1257).
Fixes the errors Type 'Uint8List' not found and 'Uint8List' isn't a type (#1260). Thank you @miguelslemos!
Fixes the errors Type 'Uint8List' not found and 'Uint8List' isn't a type (#1260). Thank you @miguelslemos!
Fixes the bug that the current directory sometimes changed after the user picked a file. Now, after the dialog is closed, the current directory is aut
Fixes the bug that the current directory sometimes changed after the user picked a file. Now, after the dialog is closed, the current directory is automatically restored to its original value even if the user changed the directory while searching for files (#1254). Thank you @Tokenyet!
Fixes the behavior of the saveFile() dialog on Ubuntu/Kubuntu. This fix should have been committed in the previous version 5.2.7 but was forgotten. Now, when the user selects an already existing file, then Ubuntu prompts the user to confirm overwriting this file. This change finally makes the dialog behave the same on all desktop platforms (macOS, Linux, and Windows) (#989).
Fixes the behavior of the saveFile() dialog on Windows. Now, when the user selects an already existing file, then Windows prompts the user to confirm
Fixes the behavior of the saveFile() dialog on Windows. Now, when the user selects an already existing file, then Windows prompts the user to confirm overwriting this file. This change makes the dialog behave the same on all desktop platforms (macOS, Linux, and Windows). Previously, Windows would not have asked the user for confirmation (#989).
Increase time to wait on js result
Fix preprocessor definitions in podspec (thanks @tomk9)
Calling pick/save file dialog will no longer freeze ui thread.
Fixes an issue when picking live photos where the key photo was changed.
Fix deprecation warning for getParcelable(String key) method.
getParcelable(String key) method.Removed build constant TIRAMISU to fix build error if targeting API 32 or less (#1140, #1124)
Fixes issue with caching on android
Reverts 5.2.0 due to multiple regressions.
Update Dependencies to latest versions (Win32 2.7.0 to 3.0.0). (Thank you @ishangavidusha)
Fixes an issue when picking live photos. (Thank you @nagibazad)
Removes READ_EXTERNAL_STORAGE on SDKs targeting 33 or above. (Thank you @alexmercerind)
Replaces random number generation with milliseconds timestamp in file name fallback.
Replaces random number generation with milliseconds timestamp in file name fallback.
Updated dependecies (most importantly is upgrade from ffi 1.1.2 to 2.0.1). Update lints from 1.0.1 to 2.0.0 (with several fixes of code).
Updated dependecies (most importantly is upgrade from ffi 1.1.2 to 2.0.1). Update lints from 1.0.1 to 2.0.0 (with several fixes of code).
Handle UTTypeCreatePreferredIdentifierForTag returning NULL. This prevents a crash observed on the iOS simulator on Apple Silicon (#1040).
Handle UTTypeCreatePreferredIdentifierForTag returning NULL. This prevents a crash observed
on the iOS simulator on Apple Silicon (#1040).
Add conditional compilation of media, audio and document pickers for iOS. This prevents error messages for permissions (NSPhotoLibraryUsageDescription
Add conditional compilation of media, audio and document pickers for iOS. This prevents error messages for permissions (NSPhotoLibraryUsageDescription, NSAppleMusicUsageDescription, etc.) when publishing to app store connect, in case you don't need either category. This addresses #783 in a different way.
Adds display:none to the internal input element to fix a display issue in specific scenario's.
Adds display:none to the internal input element to fix a display issue in specific scenario's.
Changes the implementation of getDirectoryPath() on Windows to provide a modern dialog that looks the same as a file picker dialog (#915).
Changes the implementation of getDirectoryPath() on Windows to provide a modern dialog that looks the same as a file picker dialog (#915).
Adds the additional parameter initialDirectory to configure the initial directory where the dialog should be opened. This parameter is supported for a
Adds the additional parameter initialDirectory to configure the initial directory where the dialog should be opened. This parameter is supported for all three dialogs (pick files, pick directory, and save file). The only exception is that the parameter does not work on Windows for the function getDirectoryPath(). Please note that this feature has not been implemented for Android and iOS.
Introduces two fixes for the KDE Plasma Linux implementation which uses kdialog to open the file picker dialogs. Firstly, the selection of multiple fi
Introduces two fixes for the KDE Plasma Linux implementation which uses kdialog to open the file picker dialogs. Firstly, the selection of multiple files is fixed so that file paths with blanks/spaces are handled correctly. Secondly, file type filters are implemented. Thank you @w1th0utnam3.
Fixes the issue under Windows that the save-file dialog did not open if the specified file name contained an illegal character. Windows prohibits the
Fixes the issue under Windows that the save-file dialog did not open if the specified file name contained an illegal character. Windows prohibits the usage of reserved characters in file names. Now the exception IllegalCharacterInFileNameException is thrown if the specified file name contains forbidden characters
(#926).
Adds KDE Plasma's kdialog arguments, allowing filepicker to invoke kdialog for file system manipulation using shell scripts on distributions that use
Adds KDE Plasma's kdialog arguments, allowing filepicker to invoke kdialog for file system manipulation using shell scripts on distributions that use KDE Plasma as their Desktop Environment and don't ship zenity or qarma.
Adds the parameter lockParentWindow for Windows desktop. This parameter makes the file picker dialog behave like a modal window. That is, the file pic
Adds the parameter lockParentWindow for Windows desktop. This parameter makes the file picker dialog behave like a modal window. That is, the file picker always stays in front of the Flutter window until it is closed. Thank you @vinicios-cervantes.
Fixes the issue under Windows that the user could not select more than about 256 files (depending on the length of the file paths) because the buffer
Fixes the issue under Windows that the user could not select more than about 256 files (depending on the length of the file paths) because the buffer size for storing the selected file paths was too small. (#918).
Your coding agent can read these notes before it upgrades. Set up the MCP server →