Releases: Kotlin/kotlinx.collections.immutable
Releases Β· Kotlin/kotlinx.collections.immutable
v0.4.0
- Fixed the equality bug in PersistentMap β Added proper node promotion during mutable operations to ensure a consistent internal tree structure #217
- Fixed the bug in PersistentMap equals implementation β Ensured proper node promotion during mutable key removal even when nodes share the same owner #218
- Fixed the ghost element issue in PersistentHashSet β Corrected condition check order to ensure proper recursive element promotion after collision removal #219
- Updated Kotlin to version 2.1.20 and core dependencies #213
- Enabled '-Xjvm-default=disable' explicitly to prevent API dump changes #210
v0.3.8
v0.3.7
- Upgrade Kotlin version up to 1.9.21
- Support wasmJs and wasmWasi targets
v0.3.6
- Upgrade Kotlin version up to 1.9.0
- Support all targets currently supported by the K/N compiler
- Drop support for the Legacy js target
v0.3.5
v0.3.4
- Upgrade Kotlin version up to 1.4.30
- Publish the library to Maven Central instead of Bintray #96.
- Add license information to published POMs #98.
- Implement workaround for specialized MutableEntrySet.contains/remove KT-41278.
- Bug in PersistentList - list is broken after removeAll call #92.
- Faster bulk operations for non-ordered sets (removeAll, retainAll, containsAll) #91.
- Faster addAll/putAll implementation for non-ordered sets/maps #83.
- Add extension functions to convert Sequence to persistent collections 84.
- Add missing CharSequence.toImmutableSet() extension function.
v0.3.3
v0.3.2
v0.3.1
Update Kotlin version up to 1.3.70
v0.3
- Turn the JVM-only project into a multiplatform library
- JVM artifact id has changed from kotlinx-collections-immutabletokotlinx-collections-immutable-jvm
- Builder iterators are fast-fail only on JVM. On the other platforms modifying the builder during iteration not through the corresponding iterator can invalidate the iterator state in an unspecified way.
- In addition to JVM and JS platforms, macosX64, iosX64, iosArm64, iosArm32, linuxX64, and mingwX64 native platforms are supported.
 
- JVM artifact id has changed from 
- Make conversion to persistent collections consistent
- toPersistentMap/- Setalways returns an ordered persistent map/set
- toPersistentHashMap/- Setalways returns an unordered persistent map/set
- toImmutableMap/- Setmay return any kind of immutable map/set
 
- Optimize persistent list [builder] batch update operations
- addAll(elements)operation performs ~3 times faster π
- addAll(index, elements)operation takes O(N + M), down from O(N * M), where N is the size of this collection and M - the size of the- elementscollection. π
- removeAll(elements)operation takes O(N * K), down from O(N * M), where K is the time complexity of- containsoperation on the- elementscollection π
- removeAll(predicate)operation takes O(N * P), down from O(N * (P + N)), where P is the time complexity of the- predicatealgorithm π
 
- Implement set/map backing trie canonicalization
- addoperation after- removeoperations performs ~20% faster π
- iteration after removeoperations performs ~3 times faster π