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-coreby @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
onErroroverloads 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
- Add Hammer Editor to the project showcase by @vinceglb in #615
- Add DevAnalyzer to the project references by @vinceglb in #635
⬆️ 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 usedFileKitDialogSettings(parentWindow = window), migrate toFileKitDialogSettings(parent = FileKitDialogParent.awt(window)), or use the matching native parent factory for Windows, X11, or Wayland. - Callback-style Compose launchers now expose
onErroroverloads for FileKit-owned operational failures. Existing launcher signatures remain available.
🙏 Contributors
Thanks a lot to @PierreVieira and @nik1062 for their contributions to this release ❤️
- @PierreVieira made their first contribution in #619
- @nik1062 made their first contribution in #621
Full Changelog: 0.14.2...0.15