Skip to content

Update dependency file_saver to ^0.6.0 - #331

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

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/file_saver-0.x

Conversation

@renovate

@renovate renovate Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
file_saver (source) dependencies minor ^0.4.0 → ^0.6.0

Warning

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


Release Notes

incrediblezayed/file_saver (file_saver)

v0.6.0

Compare Source

  • Added saveToDownloads for writing into the shared Downloads folder without a dialog, with an optional subfolder. Android uses MediaStore (no permission on Android 10+); macOS, Windows and Linux write to the user's Downloads directory; web triggers a browser download; iOS throws UnsupportedError.
    • Fixes #​108 and the "save into Download/<folder>" half of #​47.
  • Desktop saves now honour a sourcePath, so saveToDownloads(filePath:) copies without loading the file into memory.

v0.5.0

Compare Source

  • Breaking: replaced the dio dependency with package:http.
    • dioClient is now httpClient (http.Client?) on saveFile, saveAs and saveLinkAsStream.
    • transformDioResponse is removed; responses are always bytes. Fetch and transform yourself, then pass bytes:.
    • LinkDetails.responseType is removed. LinkDetails.uri exposes the link with queryParameters merged.
    • HTTP 4xx/5xx responses now throw http.ClientException instead of writing the error body to disk.
    • Fixes #​102.
  • macOS: sandbox failures now say which entitlement is missing — com.apple.security.files.downloads.read-write when the Downloads write fails, com.apple.security.network.client when the download fails.
  • Migrated Android to built-in Kotlin / AGP 9 compatibility. Requires Flutter 3.44+.
  • Added initialDirectory to saveAs, saveAsStream and saveLinkAsStream so the save dialog can open in a chosen folder (macOS, Windows, iOS, Android).
  • Added saveToGallery for saving images and videos to the photo library — MediaStore on Android, Photos on iOS — with an optional album.
  • Added dialogTitle to saveAs, saveAsStream and saveLinkAsStream (macOS, Windows).
  • Windows saveAs converts initialDirectory and dialogTitle from UTF-8 with MultiByteToWideChar.
  • Breaking: Android saveFile now throws a PlatformException on failure instead of returning an error message as the path.
  • Threading and streaming hardening across platforms:
    • Android: file copies run on a supervised IO scope and reply exactly once; saveAs survives rotation while the picker is open, fails cleanly when the Activity is destroyed or no app can show the picker, and rejects a second saveAs while one is open instead of silently dropping the first. Error details no longer carry a Throwable the channel codec cannot encode.
    • iOS: temp-file writes and copies run off the main thread, payloads are no longer copied into [UInt8], the picker is presented on the top-most controller, and a second saveAs while one is open is rejected.
    • macOS: copies stream in 1 MiB chunks off the main thread and failures throw instead of returning "Failed to save file" as the path.
    • Windows: the dialog is owned by the app window, uses heap buffers instead of a 1 MiB stack array and fixed MAX_PATH statics (a long file name aborted the process), builds the filter correctly, converts names and paths from UTF-8, and reports dialog errors instead of treating them as cancel.
    • Web: cancelling the File System Access picker resolves to null like other platforms; a failed stream is aborted without masking the original error.
    • saveAsStream deletes its temp file when the stream fails.
  • Platform channels are now generated with Pigeon from pigeons/messages.dart (regenerate with tool/pigeon.sh), so argument mismatches fail at compile time. Windows saveAs returns the path as a UTF-8 string. macOS deployment target is now 10.15.
  • Removed the unused FileUtils.kt and the duplicate macos/Classes sources — macOS builds from macos/file_saver/Sources for both CocoaPods and Swift Package Manager.
  • Documented macOS entitlement file naming and Windows SDK requirements.

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • "before 7am on monday"
  • Automerge
    • At any time (no schedule defined)

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

♻ Rebasing: Never, 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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants