Skip to content

v0.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Oct 12:43
  • Added saveAs on Linux. It uses GtkFileChooserNative, so sandboxed apps (Flatpak, Snap) get the XDG desktop portal and everything else gets the GTK dialog. initialDirectory and dialogTitle are supported, and the file is written with GIO's async API so large files never block the UI thread.
  • The Linux plugin now uses the Pigeon-generated API like every other platform. tool/pigeon.sh also formats the generated Dart file, so regenerating no longer produces a formatting-only diff.
  • Native errors no longer include raw exception text (CWE-209). Platform exception messages are now fixed strings per failure, and details carries only a non-sensitive identifier: the exception class name on Android (FileNotFoundException), "<domain> <code>" on iOS, macOS and Linux. Previously the message could contain file paths, content URIs, or a process's pid/uid, and Android also logged it. Error codes are unchanged. If you matched on PlatformException.message, match on code instead.
  • Android: a missing WRITE_EXTERNAL_STORAGE grant on Android 9 and below now reports code PermissionDenied, and a non-media mime type passed to saveToGallery reports InvalidMimeType, instead of the generic gallery/Downloads error.
  • saveAs on an unsupported platform throws UnsupportedError naming the platform, instead of UnimplementedError('Unimplemented Error').