Skip to content

Releases: Kotlin/kotlinx-io

v0.5.1

15 Jul 10:50
Compare
Choose a tag to compare

Bugfixes

  • Fixed a bug in segment pool implementation affecting a second level pool uses.

v0.5.0

12 Jul 13:36
Compare
Choose a tag to compare

Features

  • Provided an API allowing direct access to Buffer and Segment internals #135, #166

    The API is unsafe, delisted from public docs and requires explicit opt-in. It's recommended to avoid this API unless you're working on integration with other APIs (like, java.nio or io_uring, for example).

  • Improved the way segment pooling is working on JVM #352

    Now sharing a segment won't make an original segment and all its copies recyclable. Instead, the last remaining copy will be placed back into the pool when recycled.
    Segments are no longer allocated or lost when taking or recycling a segment from a pool under a high contention due to concurrent requests.
    The size of the segment pool on the JVM could now be statically configured by setting a system property kotlinx.io.pool.size.bytes.

Thanks to @bjhham, @e5l, @lppedd, @qwwdfsad, @shanshin, and @whyoleg for their participation in this release release!

v0.4.0

06 Jun 09:20
Compare
Choose a tag to compare

Features

Updated Kotlin version to 2.0.

v0.3.5

17 May 13:57
Compare
Choose a tag to compare

Features

  • Provided an extension function to write CharSequences (Sink.writeString overloaded for CharSequence) #318
  • Various minor improvements in build scripts and docs

Shout out to @whyoleg for improving build scripts!

v0.3.4

08 May 14:03
Compare
Choose a tag to compare

Features

  • Kotlin updated to 1.9.24 #315
  • Supported linuxArm32Hfp target #303
  • Enabled KLib ABI validation
  • Provided extension functions to read (Source.readCodePointValue) and write (Sink.writeCodePointValue) Unicode code point values #307
  • Provided function to list directories (FileSystem.list) #222

v0.3.3

22 Apr 14:28
Compare
Choose a tag to compare

The release replaces a required reasoning API uses with alternatives that do not require any app’s privacy manifest updates for iOS/iPadOS/tvOS/watchOS apps.

Features

  • Reimplemented file metadata gathering without required reasoning APIs on Apple targets #297
  • Updated Kover version #293

Bugfixes

  • Muted Webpack warnings about node-js modules on JS target #285

v0.3.2

18 Mar 10:18
Compare
Choose a tag to compare

Features

  • Implemented basic filesystem support for Wasm targets (#256, #257)
  • Enabled native benchmarks by default (#263)
  • Build scripts were updated to use default template (#272)
  • Added missing IOException constructor (#271)

Thanks to @whyoleg, @Goooler, @lukellmann for contributions!

v0.3.1

02 Feb 11:56
Compare
Choose a tag to compare

Features

  • Updated Kotlin to 1.9.22
  • Enabled Wasm Wasi target #236 (Note that neither of Wasm targets has filesystem support yet)
  • Support path resolution #228
  • Dokka configs are improved

Bugfixes

  • Fixed Path::parent behavior on Windows #227
  • Aligned behavior of FileSystem::sink and FileSystem::source across all platforms #252
  • Fixed handling of paths containing a whitespace character #248

Thanks to @lppedd and @whyoleg for contributions!

v0.3.0

13 Sep 14:50
e9a90bc
Compare
Choose a tag to compare

Features

  • Enabled Wasm target #164
  • Added Sink/Source integration with Apple's NSInputStream and NSOutputStream (#174)
  • Added extension functions integrating ByteString with Base64 and HexFormat APIs (#149)
  • Added extension functions to read and write floating point numbers (#167)
  • Extended filesystems support by adding functions to create and delete files and directories, check their existence,
    perform atomic move, and get file size (#211, #214).
    Also extended Path's API to request Path's parent and to get file's name (#206, #212).
  • Updated Kotlin version to 1.9.10

Bugfixes

  • Fixed undefined behavior in the ByteString's hashCode computation on native targets (#190)
  • Fixed compatibility issues with Android API 25 and below (#202)

Shout out to @shanshin, @jeffdgr8, @whyoleg and @qwwdfsad for contributing changes and reviewing the code.

v0.2.1

11 Jul 09:04
Compare
Choose a tag to compare

Changes:

  • Users no longer need to explicitly include kotlinx-io-bytestring when using kotlinx-io-core (#169).