Skip to content

fix(deps): update dependency file_picker to v13 - #3250

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/file_picker-13.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/file_picker-13.x

Conversation

@renovate

@renovate renovate Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
file_picker (source) dependencies major ^10.0.0 → ^13.3.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

vicajilau/flutter_file_picker (file_picker)

v13.3.0

Compare Source

  • Added FilePickerViewScope (package:file_picker/file_picker_view_scope.dart), which provides a picker per Flutter view, so in a multi-window macOS app each picker opens in its own window. Requires file_picker_darwin ^2.4.0.

v13.2.0

Compare Source

  • Deprecated the type and allowedExtensions parameters of FilePicker.saveFile(), which never had any effect. They will be removed in 14.0.0. #​2278

v13.1.0

Compare Source

  • Added support for UIScene on iOS.

v13.0.0

Compare Source

General
  • BREAKING CHANGE: PlatformFile.length() now returns Future<int?> instead of Future<int>, matching lengthSync(). null means the length could not be determined (e.g. a failed disk read), distinct from a genuinely empty file, which still returns 0. Previously both cases returned 0, with no way to tell them apart. #​2197
  • BREAKING CHANGE: Removed the parameters deprecated since the 12.0.0 federated rewrite: allowMultiple and withData/withReadStream/readSequential on pickFiles(), lockParentWindow on pickFiles()/pickFile()/getDirectoryPath()/saveFile(), cancelUploadOnWindowBlur on pickFiles()/pickFile(), and androidSafOptions on pickFiles()/pickFile()/getDirectoryPath(). Use pickFile() for single-file selection, PlatformFile.readAsBytes()/readAsByteStream() to read file data, WindowsOptions.lockParentWindow/LinuxOptions.lockParentWindow, WebOptions.cancelUploadOnWindowBlur, and androidOptions respectively. #​2202
  • Raised lower bounds of all platform implementation packages: file_picker_platform_interface ^4.0.0, android_file_picker ^2.0.0, file_picker_darwin ^2.0.0, file_picker_linux ^2.0.0, windows_file_picker ^2.0.0, and file_picker_web ^4.0.0.
Web
  • Fixed FilePickerWebOptions.readSequential having no effect (file_picker_web 4.0.0). #​2206
Android & iOS
  • Removed the dead native code paths behind withData (android_file_picker 2.0.0, file_picker_darwin 2.0.0). #​2202

v12.3.0

Compare Source

Desktop (Windows)
  • Added WindowsOptions.acceptLabel, letting callers set the confirm ("OK") button text on pickFile(), pickFiles(), getDirectoryPath(), and saveFile() dialogs. #​1861
macOS
  • Added DarwinOptions.acceptLabel, letting callers set the confirm button text for pickFile()/pickFiles() (NSOpenPanel.prompt). Has no effect on iOS. #​1861

v12.2.0

Compare Source

General
  • Added PlatformFile.lengthSync(), replacing the size property removed in 12.0. It returns the length the native picker already reported, without any I/O, or null when the platform did not report one, in which case length() still reads it from disk. #​2187
  • Raised the lower bounds on the platform implementations and the platform interface together. PlatformFile.lengthSync() is abstract, so an implementation published before it does not satisfy the new interface, and leaving the old bounds would let pub resolve a combination that compiles nowhere.

v12.1.3

Compare Source

General
  • Raised the lower bounds on the platform implementations to the first versions built against file_picker_platform_interface 3.2.0. The facade already required ^3.2.0 for the interface itself, but still allowed implementations predating the DarwinOptions parameter added there, so pub could legally resolve a combination that does not compile. #​2186

v12.1.2

Compare Source

General
  • Stopped importing file_picker_darwin directly from the facade package. skipEntitlementsChecks() now dispatches through the new FilePickerPlatform.skipEntitlementsChecks() hook instead of a type test on FilePickerPlatform.instance. That import pulled dart:io into file_picker's import graph, making the package incompatible with wasm and breaking analysis when resolved against the lowest allowed dependency versions. No behavior change on any platform.
iOS
  • Added darwinOptions (DarwinOptions) to pickFile()/pickFiles(), letting callers set DarwinAssetRepresentationMode to request the photo library return media in its current or a compatible representation instead of always transcoding to the system default (automatic). Restores a way to avoid expensive transcoding for large HEVC, HDR, or slow-motion videos, which existed before the Darwin implementation was rewritten. Non-automatic modes require compressionQuality: 0, mixing the two throws an ArgumentError.

v12.1.1

Compare Source

macOS
  • Fixed FilePicker.skipEntitlementsChecks() being a permanent no-op. It now delegates to FilePickerDarwin.skipEntitlementsChecks() when running on macOS, so non-sandboxed apps can actually skip the App Sandbox entitlement checks again.

v12.1.0

Compare Source

General
  • Added PlatformFile.extension, restoring the pre-12.0 convenience getter that was dropped during the federated rewrite. Returns the file extension of name without the leading dot, or null if there is none.
iOS
  • Fixed a crash (FileSystemException/OSError: Is a directory) when picking a Live Photo from the gallery. Live Photos are saved by iOS as .pvt packages (directories); the still image contained in the package is now extracted instead of returning the package itself.

v12.0.0

Compare Source

Breaking Changes
  • Minimum Requirements: Raised minimum supported versions to Flutter 3.38 / Dart 3.10.
  • iOS Target: Raised minimum supported iOS deployment target to 14.0. Removed DKImagePickerController / DKPhotoGallery dependency chain.
  • API Modifications:
    • saveFile(): fileName and bytes are now required parameters across all platforms.
    • Removed FilePickerResult. pickFiles() now returns Future<List<PlatformFile>> directly (an empty list instead of null, no .files/.count/.isSinglePick wrapper), and pickFile() returns Future<PlatformFile?> for a single selection.
    • pickFiles(): allowMultiple now defaults to true. Use pickFile() for single file selection (allowMultiple is deprecated).
    • Deprecated withData, withReadStream, and readSequential on pickFiles()/pickFile() in favor of PlatformFile.readAsBytes() and PlatformFile.readAsByteStream().
    • Deprecated top-level lockParentWindow and cancelUploadOnWindowBlur parameters in favor of platform-specific option classes (WindowsOptions, LinuxOptions, WebOptions).
Architecture
  • Federated Plugin: Refactored file_picker into a federated architecture with dedicated platform implementation packages (file_picker_platform_interface, android_file_picker, file_picker_darwin, file_picker_linux, windows_file_picker, and file_picker_web).
Features & Enhancements
  • New API: Added pickFile() static method as a convenience wrapper for single file selection.
  • Platform Options: Introduced WindowsOptions, LinuxOptions (with acceptLabel and parentWindow), and WebOptions.
  • Android: Added support for Storage Access Framework (SAF) Persistable URI Grants (AndroidSAFOptions, AndroidSAFHandle, AndroidPlatformFile). Optimized image compression to prevent OutOfMemoryError.
  • iOS & macOS: Unified native implementations into shared Darwin sources. Selection order is now preserved when picking multiple files on iOS.
  • Exception Handling: Exported IllegalCharacterInFileNameException in file_picker.dart.

v11.0.3

Compare Source

Android
  • Removed the Apache Tika dependency (~300 KB) used for MIME type detection in saveFile(). MIME types are now resolved from the file name extension via MimeTypeMap, with URLConnection.guessContentTypeFromStream as a content-sniffing fallback when no extension is available. #​2101

v11.0.2

Compare Source

Android
  • Fixed a Path Traversal vulnerability (CWE-22) when resolving file paths from external content providers. #​1967
Linux
  • Fixed "Cannot add to a fixed-length list" crash when opening or saving files with an initial directory on Linux. #​1976

v11.0.1

Compare Source

Android
  • Fixed backward compatibility with Android Gradle Plugin (AGP) versions below 9.0. #​1973

v11.0.0

Compare Source

General
  • BREAKING CHANGE: Refactored FilePicker class to use static methods instead of an instance-based approach. Users should now call FilePicker.pickFiles(), FilePicker.getDirectoryPath(), and FilePicker.saveFile() directly.
  • Added cancelUploadOnWindowBlur to the public pickFiles API (Web only). #​1961
  • Reordered and cleaned up exports in file_picker.dart.
Web
  • Added WASM support for the web file picker. #​1950
Android
  • Fixed an issue where file type selection (audio, video, media) was not being considered correctly on Android. #​1959
  • Updated Android package to support AGP 9. #​1942
Desktop (macOS)
  • Added a new method, skipEntitlementsChecks(), to allow users to bypass entitlements checks on macOS when using the plugin without Sandbox enabled. #​1845

v10.3.10

Compare Source

General
  • Reverted breaking changes accidentally introduced in 10.3.9 to maintain Semantic Versioning compliance.
Android

v10.3.9

Compare Source

Android

v10.3.8

Compare Source

iOS
  • Rename FileUtils to FilePickerUtils #​1921
Android
  • Restores the ms[df] URI handling logic in FileUtils.kt to fix file selection returning null on some devices.

v10.3.7

Compare Source

Android
  • Fixed an issue where file type filtering was not being applied correctly, now only displaying files that match the selected MIME types. #​1906

v10.3.6

Compare Source

Android
  • Added support for 16 KB page sizes. #​1888

v10.3.3

Compare Source

Android
  • Updated compileSdk to use flutter.compileSdkVersion. #​1842
Linux
  • Fixed an issue where initialDirectory was not working. #​1878

v10.3.2

Linux

v10.3.1

Linux
  • Fixed a crash when initialDirectory contains special characters #​1963

v10.3.0

Desktop
Android
  • Fixed an issue where CSV files were not properly filtered during file selection. #​1849 @​SoftWyer
Web

v10.2.4

Android
  • Fixed an issue where custom MIME types were failing to load picking files on Chromebook. #​1858 @​vicajilau

v10.2.3

General
  • Fixed build failures on Flutter 3.24 caused by changes to address Win32 deprecation warnings on Windows. #​1855 @​vicajilau

v10.2.2

Android
  • Fixed an issue where some files would incorrectly append a .txt extension when saving files on Android. @​vicajilau

v10.2.1

Android
  • Fixed an issue where the image upload would not display the loading indicator.

v10.2.0

Desktop
  • Added support for webp images on Desktop platforms. #​1491
Android

v10.1.9

Android
  • Fixed an issue when a folder is selected on an external storage #​1801

v10.1.8

Android
  • Fixed an issue when a folder is selected #​1802

v10.1.7

Web
  • Fixed a memory leak on the web.

v10.1.6

Android
  • Fixed an issue when you try to select more than one file#​1796
  • Fixed the app not filter correctly for the selected file types #​1792

v10.1.5

iOS
  • Fixed an app crash when calling .saveFile twice and cancelling the native save operation via the UI #​1626 @​Leapward-Koex
  • Fixed a .saveFile future never completing when .saveFile is called twice without waiting for the first completion. @​Leapward-Koex

v10.1.4

Android
  • Fixed an issue where paths were loaded with duplicated endings. #​1767

v10.1.3

Android
  • Fixed an issue loading files. #​1777

v10.1.2

Android

v10.1.1

Android
  • Migrated Android code base from Java to Kotlin.
  • Fixed an issue where compressed images were always saved as JPEG files. #​1738@vicajilau
  • Fixed an issue where files without extension were not saved properly. @​vicajilau
iOS
  • Fixed an issue where compressionQuality on iOS was not loaded properly. #​1761

v10.1.0

Compare Source

Desktop (macOS)
  • Introduced a new method, pickFileAndDirectoryPaths(), which displays a dialog enabling users to select both files and directories simultaneously. The method returns their absolute paths. Only available for macOS.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/file_picker-13.x branch from 55cbbe5 to feb9d62 Compare September 15, 2026 21:05
@renovate
renovate Bot force-pushed the renovate/file_picker-13.x branch from feb9d62 to 302f192 Compare October 24, 2026 07:05
@renovate
renovate Bot force-pushed the renovate/file_picker-13.x branch from 302f192 to 56bd4fc Compare October 26, 2026 06:58

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants