diff --git a/CHANGELOG.md b/CHANGELOG.md index be7ce7a7e..14fd2bd54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # CHANGELOG +## 0.5.0 +> Published 12 July 2024 + +### Features +- Provided an API allowing direct access to Buffer and Segment internals [#135](https://github.com/Kotlin/kotlinx-io/issues/135), [#166](https://github.com/Kotlin/kotlinx-io/issues/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](https://github.com/Kotlin/kotlinx-io/pull/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 pool + under a high contention due to concurrent requests. + Size of the segment pool on the JVM could now be statically configured by setting a system property + `kotlinx.io.pool.size.bytes`. + ## 0.4.0 > Published 6 June 2024 diff --git a/README.md b/README.md index 83c1a6a14..49e6fe8d1 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ repositories { Add the library to dependencies: ```kotlin dependencies { - implementation("org.jetbrains.kotlinx:kotlinx-io-core:0.4.0") + implementation("org.jetbrains.kotlinx:kotlinx-io-core:0.5.0") } ``` @@ -58,7 +58,7 @@ kotlin { sourceSets { commonMain { dependencies { - implementation("org.jetbrains.kotlinx:kotlinx-io-core:0.4.0") + implementation("org.jetbrains.kotlinx:kotlinx-io-core:0.5.0") } } } @@ -72,7 +72,7 @@ Add the library to dependencies: <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-io-core-jvm</artifactId> - <version>0.4.0</version> + <version>0.5.0</version> </dependency> ``` diff --git a/core/common/src/files/Paths.kt b/core/common/src/files/Paths.kt index 63531a9c8..7f75cfb12 100644 --- a/core/common/src/files/Paths.kt +++ b/core/common/src/files/Paths.kt @@ -100,7 +100,7 @@ public fun Path(base: Path, vararg parts: String): Path { /** * Returns [RawSource] for the given file or throws if path is not a file or does not exist * - * Use of this method is deprecated with warning since kotlinx-io 0.3.0. The method will be removed in 0.4.0. + * Use of this method is deprecated with warning since kotlinx-io 0.3.0. The method will be removed in 0.6.0. */ @Deprecated( message = "Use FileSystem.source instead", @@ -117,7 +117,7 @@ public fun Path.source(): Source = SystemFileSystem.source(this).buffered() * Returns [RawSink] for the given path, creates file if it doesn't exist, throws if it's a directory, * overwrites contents. * - * Use of this method is deprecated with warning since kotlinx-io 0.3.0. The method will be removed in 0.4.0. + * Use of this method is deprecated with warning since kotlinx-io 0.3.0. The method will be removed in 0.6.0. */ @Deprecated( message = "Use FileSystem.sink instead", diff --git a/gradle.properties b/gradle.properties index 3554f8341..db68238ef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ # group=org.jetbrains.kotlinx -version=0.4.0-SNAPSHOT +version=0.6.0-SNAPSHOT kotlin.code.style=official org.gradle.jvmargs=-Xmx4G nativeBenchmarksEnabled=true