github vinceglb/FileKit 0.15.0

4 hours ago

FileKit 0.15 expands native platform coverage, improves dialog ownership on desktop, and makes picker failures easier to handle across platforms.

This release brings filekit-core to Linux X64 and Arm64, restores persistent security-scoped bookmarks for sandboxed macOS applications, adds typed JVM dialog parents, and improves picker reliability across Windows, Linux, macOS, Android, and iOS.

✨ What's New

  • Add Linux X64 and Arm64 native support to filekit-core by @nik1062 in #621
  • Add typed JVM dialog parents for AWT, Windows HWND, X11, and Wayland ownership by @vinceglb in #629
  • Add a Nucleus/Tao desktop sample reusing the shared FileKit sample UI by @vinceglb in #614
  • Support Nucleus 2.3 dialog parenting on Linux/X11 by @vinceglb in #634
  • Add observable Compose launcher failures with onError overloads and public dialog/picker exception types by @vinceglb in #633

✅ Improvements

  • Restore persistent security-scoped bookmarks on JVM and Kotlin/Native, with versioned bookmark data and refresh metadata by @vinceglb in #625
  • Make Windows dialog thread tests reliable when coroutine debugging is enabled by @vinceglb in #620
  • Add and update dialog error-handling documentation and samples by @vinceglb in #633

🐛 Bug Fixes

  • Fix empty-path deletion on iOS and align delete(mustExist = false) with Android by @vinceglb in #610
  • Force JVM Windows dialogs to return filesystem-backed results by @vinceglb in #613
  • Run Windows file dialogs on a dedicated STA thread and correctly manage COM initialization by @vinceglb in #616
  • Deliver iOS camera results after dismissal and move JPEG encoding and file writes off the main thread by @PierreVieira in #619
  • Prevent macOS/JVM Objective-C runnable class collisions by @vinceglb in #628
  • Handle missing Android camera activities without crashing by @vinceglb in #630
  • Handle Compose picker failures without crashing callback-style launchers by @vinceglb in #631
  • Improve launcher error handling across dialog platforms by @vinceglb in #633

📝 Documentation

⬆️ Dependency Updates

  • Gradle 9.5.19.6.1
  • Kotlin 2.4.02.4.10
  • Android Gradle Plugin 9.2.19.3.1
  • kotlinx-io 0.9.00.9.1
  • Compose Hot Reload 1.1.11.2.0
  • Vanniktech Maven Publish 0.36.00.37.0
  • Nucleus 2.3.2

⚠️ Migration Notes

  • JVM dialog parenting now uses FileKitDialogParent. If you used FileKitDialogSettings(parentWindow = window), migrate to FileKitDialogSettings(parent = FileKitDialogParent.awt(window)), or use the matching native parent factory for Windows, X11, or Wayland.
  • Callback-style Compose launchers now expose onError overloads for FileKit-owned operational failures. Existing launcher signatures remain available.

🙏 Contributors

Thanks a lot to @PierreVieira and @nik1062 for their contributions to this release ❤️

Full Changelog: 0.14.2...0.15

Don't miss a new FileKit release

NewReleases is sending notifications on new releases.