Skip to content

Releases: vinceglb/FileKit

0.12.0

04 Oct 20:38
2c14214

Choose a tag to compare

✨ What's new

  • Add @Serialization support for PlatformFile by @vinceglb in #410
  • Basic MIME type support across pickers by @FegzDev in #367
  • Add PlatformFile.createdAt() and PlatformFile.lastModified() accessors by @vinceglb in #407

✅ Improvements

  • Use Dispatchers.IO when invoking the macOS picker by @egorikftp in #389
  • Switch the default iOS file contentType handling by @Lavmee in #383
  • Improve Android bookmarking workflows, including copyTo and atomicMove, by @vinceglb in #404 and #408

🐛 Bug fixes

  • Fix compressImage PNG transparency on JVM by @egorikftp in #390
  • Prevent iOS crash when PhPickerDelegate fires multiple times by @vinceglb in #403
  • Ensure file sources are closed after use by @vinceglb in #405
  • Preserve iOS gallery selection order by @Dwite in #409
  • Fix CSV files picker on Android by @vinceglb in #406

📝 Documentation updates

⬆️ Dependencies updates

  • Kotlin 2.2.20
  • Compose Multiplatform 1.9.0
  • JNA 5.18.1

🙏 New Contributors

A big thank you to all the contributors ❤️

Full Changelog: 0.11.0...0.12.0

0.11.0

08 Sep 10:43
abf6ca7

Choose a tag to compare

✨ What's new

✅ Improvements

  • Update strings in WindowsFilePicker by @vinceglb in #364
  • Handle absolute path in PlatformFile constructor on apple targets by @vinceglb in #375
  • Trigger Google Play services to install the backported photo picker module by @vinceglb in #376

🐛 Bug fixes

  • Fix Android file truncation when writing shorter content by @vinceglb in #365
  • Fix Android PlatformFile.bookmarkData for files by @vinceglb in #366

📝 Documentation updates

  • Add "Who's Using FileKit" section showcasing community projects by @vinceglb in #381
  • Update FileProvider documentation with authority parameter usage by @vinceglb in #377
  • Add ProGuard configuration to JVM setup documentation by @vinceglb in #378

⬆️ Dependencies updates

  • Kotlin 2.2.10

🙏 New Contributors

A big thank you to all the contributors ❤️

Full Changelog: 0.10.0...0.11.0

0.10.0

28 Jul 08:51
01a2fc4

Choose a tag to compare

FileKit-0 10 0-2

🎉 1k stars on Github

After 1 year and a half, FileKit has received its first 1000 stars on Github!

FileKit is what it is today thanks to the amazing community. I'm so proud of what we've achieved together! I want to thank all for your contributions, encouragement, and support during this journey! 💖

🥂 Community featuring

Let's celebrate this achievement together!

In the next few weeks, I'll be adding a new section to the readme to showcase the amazing projects of the community using FileKit.

The main goals are:

  • Showcasing the projects of the community using FileKit
  • Building trust and credibility for the library for newcomers
  • Giving real-world examples of how developers use FileKit

If you are building something with FileKit, open source or not, and want to be featured on the readme, please share your project with us by commenting on this discussion!

Also, if you want to share a project privately without being featured on the readme, you can send me an email.

Thank you again for using the library and making it possible! ❤️

✨ What's new

✅ Improvements

  • Allow transitive dependency of Coil in filekit-coil by @vinceglb in #326
  • Remove suspend from PlatformFile.createDirectories() by @vinceglb in #291
  • Create a databases directory if it does not exist on Apple target by @vinceglb in #290
  • Replace rootViewController by topMostViewController on iOS by @vinceglb in #338

🐛 Bug fixes

  • Fix shareFile to use file URL by @vinceglb in #325
  • Fix readBytes and readString methods to ensure proper resource management by @vinceglb in #339

📝 Documentation updates

⬆️ Dependencies updates

  • Kotlin 2.2.0
  • kotlinx-io 0.8.0
  • Compose Multiplatform 1.8.2
  • Coil 3.3.0

🙏 New Contributors

A big thank you to all the contributors ❤️

Full Changelog: 0.10.0-beta04...0.10.0

0.10.0-beta04

12 May 13:54
a596dc4

Choose a tag to compare

✨ What's new

  • Add image orientation correction based on EXIF data in PlatformFile.toImageBitmap() on Android by @vinceglb in #266

🐛 Bug fixes

  • Fix: handle nullable file picker results with AWTFilePicker by @zacharee in #260
  • Fix openFileSaver on iOS when suggestedName contains "/" by @mauriziofaleo in #262
  • Fix PlatformFile equality on apple by @vinceglb in #263
  • Fix incorrect NSURL from PlatformFile.list() paths on Apple targets by @vinceglb in #264
  • Fix Android directory picker returned Uri by @vinceglb in #265

⬆️ Dependency updates

  • Compose Multiplatform 1.8.0
  • Kotlin 2.1.21-RC2
  • Coil 3.2.0-rc02
  • AGP 8.10.0

🙏 New Contributors

A big thank you to all the contributors ❤️

Full Changelog: 0.10.0-beta03...0.10.0-beta04

0.10.0-beta03

02 May 19:30
6e9e14c

Choose a tag to compare

✨ What's new

🐛 Bug fixes

  • Fix PlatformFile.toImageBitmap() on Android when the PlatformFile is an URI by @vinceglb in #254
  • Fix file saver on Windows when no extension provided by @vinceglb in #258

⬆️ Dependency updates

  • Bump androidx.exifinterface:exifinterface from 1.4.0 to 1.4.1

🙏 New Contributors

A big thank you to all the contributors ❤️

Full Changelog: 0.10.0-beta02...0.10.0-beta03

0.10.0-beta02

21 Apr 00:51
2386167

Choose a tag to compare

✨ What's new

🐛 Bug fixes

  • Fix the iOS file saver feature by @vinceglb in #229
  • Fix: fall back to single file value if multi files value is empty in AWT and Swing by @zacharee in #235
  • Improve FileKit Core stability on Android by @vinceglb in #243

⬆️ Dependency updates

  • Bump kotlin from 2.1.10 to 2.1.20
  • Bump jna from 5.16.0 to 5.17.0
  • Bump dbus-java from 5.1.0 to 5.1.1
  • Bump kotlinx-coroutines from 1.10.1 to 1.10.2

⚗️ New File Explorer Sample

This new sample demonstrates how to use FileKit to reproduce a minimal file explorer in Kotlin. It shows how to get a list of files, all their related information, and perform some basic operations even on iOS thanks to the new security scope methods. It targets Android, iOS and JVM.

🙏 New Contributors

A big thank you to all the contributors ❤️

Full Changelog: 0.10.0-beta01...0.10.0-beta02

0.10.0-beta01

03 Mar 17:19
a2bb953

Choose a tag to compare

hero-10

🎉 FileKit v0.10 is now available in beta!

FileKit v0.10 is a full rewrite of the library. It focuses on improving the developer experience by facilitating tasks related to files operations in Kotlin Multiplatform projects.

  • Improve PlatformFile abstraction to make development easier for common files-related tasks
  • Support for kotlinx-io to easily read, write, stream files and more from the common code
  • Access common paths like application filesDir and cacheDir from common code
  • It's now easier than ever to store and read files in the app storage!
  • Capture photos with the native camera app and return the associated file on Android and iOS
  • Save images to the native gallery on Android and iOS
  • Add helpers to display images from PlatformFile on Compose Multiplatform using Coil3
  • A brand new website for the documentation
  • And more!

🚀 Get started

📣 Feedback

I'm really interested in having your feedback about this update.

  • What do you think about the new API? Do you find it easier to use?
  • What do you think about the new capabilities (like the possibility of reading and writing, streaming, kotlinx-io integration, etc)?
  • What do you think about the new documentation?
  • If you have any suggestions or comments, please share them!

You can share your thoughts in this discussion: #206.

Thanks a lot ❤️

🙏 New Contributors

As usual, a big thank you to all the contributors!

Full Changelog: 0.8.8...0.10.0-beta01

0.8.8

12 Dec 17:01
acd0389

Choose a tag to compare

FileKit 0.10 announcement

✅ Improvements

  • Bump Kotlin to 2.0.21
  • Bump Compose to 1.7.1

🐛 Bug fixes

  • Fix a bug on JS target when using Safari browser by @ztn0 in #165

🙏 New Contributors

A big thank you to all the contributors ❤️

  • @ztn0 made their first contribution in #165

📣 Announcement

The next version of FileKit 0.10 will bring a lot more features and improve the global developer experience:

  • Improve PlatformFile abstraction to make development easier for common files-related tasks
  • Support for kotlinx-io to easily read, write, stream files and more from the common code
  • Access common paths like application filesDir and cacheDir from common code
  • It's now easier than ever to store and read files in the app storage!
  • Capture photos with the native camera app and return the associated file on Android and iOS
  • Save images to the native gallery on Android and iOS
  • Add helpers to display images from PlatformFile on Compose Multiplatform using Coil3
  • A brand new website for the documentation
  • And more!

I'm excited to share with you and have your feedback on this new version in the following weeks, so stay tuned!

Full Changelog: 0.8.7...0.8.8

0.8.7

06 Oct 18:53

Choose a tag to compare

🐛 Bug fixes

  • Fix regression on Linux, File is not correctly initialised by @vinceglb in #136

Full Changelog: 0.8.6...0.8.7

0.8.4

04 Oct 22:39

Choose a tag to compare

✅ Improvements

  • On iOS, run FileKit from any thread, it will safely run on the main thread by @santiwanti in #124

🐛 Bug fixes

  • On iOS, fix swiping down the image picker sheet does not cause any events by @vinceglb in #131
  • On Linux, fix UTF8 characters in the path when selecting a file crashes by @vinceglb in #130

Full Changelog: 0.8.3...0.8.4