Skip to content

0.15.0

Choose a tag to compare

@vinceglb vinceglb released this 08 Aug 21:35
· 135 commits to main since this release
1164133

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.1 → 9.6.1
  • Kotlin 2.4.0 → 2.4.10
  • Android Gradle Plugin 9.2.1 → 9.3.1
  • kotlinx-io 0.9.0 → 0.9.1
  • Compose Hot Reload 1.1.1 → 1.2.0
  • Vanniktech Maven Publish 0.36.0 → 0.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