NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #468 most downloaded on pub.dev
Web platform implementation of the file_picker plugin, providing browser file selection, file streaming, and file loading.
Last release 2 days ago
06 Oct 2026
Ships unpredictably
gaps range from 8 days to 5.9 years
Nearly every release is documented
notes for 16 of 16 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
16 releases · first in 2020
Fixed picking files on Safari (macOS and iOS) never returning the selection. #2222
change event.readAsBytes() and readAsByteStream() hiding read failures. A failed stream now emits an error instead of ending early with a truncated file. #2229blob: URL instead of an empty one.pickFiles()/pickFile() never completing when processing the picked files failed.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.One column per quarter.
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(). #2197FilePickerWebOptions.readSequential having no effect. Files are now genuinely read one at a time when true, and concurrently (the default) when false, preserving selection order in the result either way. #2206From 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).
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 browser's File.size (or the loaded bytes' length) synchronously, without doing any I/O.Merge pull request #2182 from miguelpruivo/docs/darwin-asset-represen…
Merge pull request #2182 from miguelpruivo/docs/darwin-asset-represen…
file_picker_platform_interface lower bound to ^3.2.0. This package's pickFile()/pickFiles() signatures reference DarwinOptions, added in that version, so resolving against an older one would fail to compile.withData is set to true. (#616).Merge pull request #2168 from miguelpruivo/fix/publish-workflow-oidc-…
Merge pull request #2168 from miguelpruivo/fix/publish-workflow-oidc-…
window focus listener used to detect a cancelled picker dialog never being removed after use. removeEventListener was passed a freshly created .toJS function object on every call, which never matches the one originally passed to addEventListener, so the listener leaked on window on every pickFiles/pickFile call. The JS function references are now cached and reused for both add and remove.name and size properties are now non-nullable types.Improved package description, added example, and added missing API documentation.
Unified Web platform release for federated file_picker architecture using package:web and dart:js_interop.
file_picker architecture using package:web and dart:js_interop.Deprecates plugin in favor of standalone file_picker for all platforms.
file_picker for all platforms.Breaking 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();Fix custom filter String creation.
Addresses an issue that would cause dot being required on filters for web (#343).
Updates homepage & description.
Bumps file_picker_platform_interface dependency version.
file_picker_platform_interface dependency version.Updates API to support onFileLoading from FilePickerInterface.
onFileLoading from FilePickerInterface.Adds public API documentation and updates file_picker_platform_interface dependency.
file_picker_platform_interface dependency.Added no-op iOS podspec to prevent build issues on iOS.
Creation of File Picker Web project draft.
Your coding agent can read these notes before it upgrades. Set up the MCP server →