NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #451 most downloaded on pub.dev
Darwin (iOS and macOS) implementation of the file_picker plugin, supporting native file picking, saving, and directory selection.
Last release 16 days ago
22 Sep 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 11 of 11 stable releases
Nothing withdrawn
no release was ever pulled
1 months old
11 releases · first in 2026
One column per month.
The dbus dependency was raised to ^0.8.0 in the previous commit but the package itself was never versioned, so it never got its own changelog entry or
The dbus dependency was raised to ^0.8.0 in the previous commit but the package itself was never versioned, so it never got its own changelog entry or publishable version.
initialDirectory having no effect on macOS and iOS for pickFile(), pickFiles(), and getDirectoryPath(). #2216Desktop (Go): Fixed desktop plugin implementation. Thank you @DenchikBY. (#382)
Merge branch 'main' of https://github.com/vicajilau/flutter_file_picker
Merge branch 'main' of https://github.com/vicajilau/flutter_file_picker
copyToTemporaryDirectory derived its destination from the source's file name alone, which is not unique — photos edited in the Photos app are exported under a fixed name, and Live Photos arrive as .pvt packages. Those copies run concurrently, so colliding names raced: one item would remove the file another was still copying, both copyItem calls then threw and both items were dropped by the compactMap over the resolved results. When every item lost the race the picker called back with nil, reaching Dart as an empty list — indistinguishable from the user cancelling. Each item is now copied into its own freshly created subdirectory.iOS: Fixes an issue that could result in a crash when selecting a media item twice. (#518)
The CHANGELOG already listed a 13.1.0 entry for the UIScene support added in #2214 , but the package version was left at 13.0.0, which was already pub
The CHANGELOG already listed a 13.1.0 entry for the UIScene support added in #2214, but the package version was left at 13.0.0, which was already published.
Adds withReadStream that allows bigger files to be streamed read into a Stream<List<int>>. Thanks @redsolver.
BREAKING CHANGE: PlatformFile.length() now returns Future instead of Future . Returns null when the length could not be determined (e.g. a failed disk…
PlatformFile.length() now returns Future<int?> instead of Future<int>. Returns null when the length could not be determined (e.g. a failed disk read), instead of 0, matching lengthSync(). #2197withData on iOS, dead since the Dart facade stopped forwarding it (file_picker 12.0.0). Picked files are no longer eagerly read into memory on the platform side; PlatformFile.readAsBytes() already reads lazily on demand. #2202Breaking Changes
FilePicker.platform.pickFiles() and extract the files from FilePickerResult;File instances from dart:io and dart:html required stubbing and bloated code, it's no longer available as helper method so you'll have to instanciate a File with the picked paths;New features
FilePicker.platform.pickFiles() with desired parameters which will return a FilePickerResult with a List<PlatformFile> containing the picked data;FilePickerResult and PlatformFile classes with helper getters;withData that allows file data to be immediately available on memory as Uint8List (part of PlatformFile instance). This is particularly helpful on web or if you are going to upload to somehwere else;Removed
getFilePath(), getMultiFilePath(), getFile() and getMultiFile() are no longer availble in favor o pickFiles();Each platform package (android_file_picker, file_picker_darwin, file_picker_linux, windows_file_picker, file_picker_web) had no banner at all. Added o
Each platform package (android_file_picker, file_picker_darwin,
file_picker_linux, windows_file_picker, file_picker_web) had no banner at
all. Added one for each, reusing the root banner's style (gradient, floating
file cards, title) with a platform specific subtitle, a single platform pill
instead of the six way row, and a translucent watermark icon.
The Android, Apple, Tux and Chrome watermarks are traced from the official
marks rather than approximated by hand:
Windows uses a generic four pane grid instead of the Microsoft flag.
DarwinOptions.acceptLabel, letting callers set the confirm button text (NSOpenPanel.prompt) on macOS for pickFile()/pickFiles(). Has no effect on iOS, UIDocumentPickerViewController has no equivalent there. #1861Breaking 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.
melos list returns packages alphabetically, so prepare would tag android_file_picker before the platform interface it depends on. Each tag starts its
melos list returns packages alphabetically, so prepare would tag
android_file_picker before the platform interface it depends on. Each
tag starts its own independent publish run, so that package would reach
pub.dev asking for an interface version that is not published yet.
melos publish sorts by the dependency graph internally, which is why
the dry run always looked right, but the tagging never did. It now takes
the order from melos list --graph and only tags a package once
everything it depends on has been tagged.
On the release this repository is about to cut, that turns
android_file_picker, file_picker, file_picker_darwin, file_picker_linux,
file_picker_platform_interface, file_picker_web, windows_file_picker
into
file_picker_platform_interface, android_file_picker, file_picker_darwin,
file_picker_linux, windows_file_picker, file_picker_web, file_picker
which is the order melos publishes in.
PlatformFile.lengthSync(), returning the length iOS/macOS already reports for a picked file synchronously, without doing any I/O.Breaking changes
FileType.PDF was removed since now it can be used along with custom file types by using the FileType.CUSTOM and providing the file extension (e.g. PDF, SVG, ZIP, etc.).FileType.CAPTURE is now FileType.CAMERANew features
FileType.CUSTOMBug fixes and updates
file_pickerMerge pull request #2182 from miguelpruivo/docs/darwin-asset-represen…
Merge pull request #2182 from miguelpruivo/docs/darwin-asset-represen…
skipEntitlementsChecks() now overrides the new FilePickerPlatform.skipEntitlementsChecks() hook instead of being called through a type test on FilePickerPlatform.instance. No behavior change on iOS or macOS.DarwinOptions.assetRepresentationMode support on iOS, mapped to PHPickerConfiguration.preferredAssetRepresentationMode. Requesting current or compatible lets large HEVC, HDR, or slow-motion videos skip the transcoding automatic (the default) would otherwise require. Non-automatic modes require compressionQuality to be 0.Merge pull request #2172 from miguelpruivo/fix/publish-workflow-pat-a…
Merge pull request #2172 from miguelpruivo/fix/publish-workflow-pat-a…
PrivacyInfo.xcprivacy was never being bundled by Swift Package Manager, because SwiftPM resolves resource paths relative to the target's own directory. #2175Merge pull request #2168 from miguelpruivo/fix/publish-workflow-oidc-…
Merge pull request #2168 from miguelpruivo/fix/publish-workflow-oidc-…
FileSystemException/OSError: Is a directory) when picking a Live Photo from the iOS gallery. Live Photos are saved by iOS as .pvt packages (directories), which loadFileRepresentation(forTypeIdentifier: UTType.item...) returned as-is; the still image contained in the package is now extracted instead.getDirectoryPath, pickFiles, pickFileAndDirectoryPaths, and saveFile on macOS defaulting to the sandbox container's Data folder instead of the user's real home directory when no initialDirectory is provided and the app has App Sandbox enabled.NSSavePanel.isExtensionHidden..app, .fcpbundle) not being selectable as files on macOS file pickers, a regression since 8.2.0. NSOpenPanel.treatsFilePackagesAsDirectories is now explicitly set to false so these are presented as selectable files, matching Finder and other native apps.saveFile on macOS never enforcing an extension on the destination file when the user cleared it from the suggested name. allowedExtensions is not forwarded to saveFile yet, so the dialog now falls back to the extension of the suggested file name.saveFile returning a scheme-less, percent-encoded Uri on macOS instead of a proper file:// Uri, unlike Windows and Linux.FilePickerDarwin.skipEntitlementsChecks(), letting non-sandboxed macOS apps opt out of the App Sandbox entitlement checks performed before showing a dialog. This was previously only reachable through a deprecated, no-op method on FilePicker in the root package.pickFiles, pickFileAndDirectoryPaths, getDirectoryPath, or saveFile. The entitlement check now runs on a background queue before the dialog is created, instead of blocking the main thread synchronously.Fixed pickFileAndDirectoryPaths never returning directories on iOS and macOS. It now calls the native combined file and directory picker instead of si
pickFileAndDirectoryPaths never returning directories on iOS and macOS. It now calls the native combined file and directory picker instead of silently falling back to file only selection.MissingPluginException on macOS by registering the event channel stream handler.any, image, video, audio, media, custom, dir, save).saveFile on macOS not writing the provided file bytes to the chosen location.UTType file type filtering for macOS file dialogs.Initial release of iOS and macOS implementation package for file_picker.
file_picker.Your coding agent can read these notes before it upgrades. Set up the MCP server →