mirror of
https://github.com/AdrianKuta/Tree-Data-Structure.git
synced 2026-06-19 19:00:14 +02:00
Release 4.2.0
- PUBLISH_VERSION 4.1.1 -> 4.2.0 - CHANGELOG: promote [Unreleased] -> [4.2.0] (2026-06-08) + compare link - README: bump install snippets to 4.2.0 Adds the Android target for tree-structure and tree-structure-compose, the default TreeNodeRow composable + LazyTree(label=...) overload, and a runnable Android sample. All additive, no breaking changes.
This commit is contained in:
@@ -4,7 +4,7 @@ All notable changes to this project are documented here. The format is based on
|
|||||||
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
|
||||||
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [Unreleased]
|
## [4.2.0] - 2026-06-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- **Android target.** The core `tree-structure` module and `tree-structure-compose` now publish an
|
- **Android target.** The core `tree-structure` module and `tree-structure-compose` now publish an
|
||||||
@@ -112,7 +112,7 @@ A breaking release that cleans up the core API and enforces an explicit public s
|
|||||||
## [3.1.3]
|
## [3.1.3]
|
||||||
- iOS targets and Maven Central (Sonatype Central Portal) publishing.
|
- iOS targets and Maven Central (Sonatype Central Portal) publishing.
|
||||||
|
|
||||||
[Unreleased]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v4.1.1...HEAD
|
[4.2.0]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v4.1.1...v4.2.0
|
||||||
[4.1.1]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v4.1.0...v4.1.1
|
[4.1.1]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v4.1.0...v4.1.1
|
||||||
[4.1.0]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v4.0.0...v4.1.0
|
[4.1.0]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v4.0.0...v4.1.0
|
||||||
[4.0.0]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v3.4.0...v4.0.0
|
[4.0.0]: https://github.com/AdrianKuta/Tree-Data-Structure/compare/v3.4.0...v4.0.0
|
||||||
|
|||||||
14
README.md
14
README.md
@@ -30,14 +30,14 @@ Gradle (Kotlin DSL):
|
|||||||
```kotlin
|
```kotlin
|
||||||
// commonMain for KMP projects, or any sourceSet/module where you need it
|
// commonMain for KMP projects, or any sourceSet/module where you need it
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.github.adriankuta:tree-structure:4.1.1") // latest version is on the badge above
|
implementation("com.github.adriankuta:tree-structure:4.2.0") // latest version is on the badge above
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Gradle (Groovy):
|
Gradle (Groovy):
|
||||||
```groovy
|
```groovy
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation "com.github.adriankuta:tree-structure:4.1.1"
|
implementation "com.github.adriankuta:tree-structure:4.2.0"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ Maven:
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.adriankuta</groupId>
|
<groupId>com.github.adriankuta</groupId>
|
||||||
<artifactId>tree-structure</artifactId>
|
<artifactId>tree-structure</artifactId>
|
||||||
<version>4.1.1</version>
|
<version>4.2.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ that depends on the core.
|
|||||||
`@Serializable` directly. Convert to and from the acyclic `TreeNodeDto` instead.
|
`@Serializable` directly. Convert to and from the acyclic `TreeNodeDto` instead.
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
implementation("com.github.adriankuta:tree-structure-serialization:4.1.1")
|
implementation("com.github.adriankuta:tree-structure-serialization:4.2.0")
|
||||||
```
|
```
|
||||||
```kotlin
|
```kotlin
|
||||||
val json = Json.encodeToString(root.toDto())
|
val json = Json.encodeToString(root.toDto())
|
||||||
@@ -172,7 +172,7 @@ val restored = Json.decodeFromString<TreeNodeDto<String>>(json).toTreeNode()
|
|||||||
Traverse a tree as a cold `Flow`, which is handy inside coroutine and `ViewModel` pipelines.
|
Traverse a tree as a cold `Flow`, which is handy inside coroutine and `ViewModel` pipelines.
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
implementation("com.github.adriankuta:tree-structure-coroutines:4.1.1")
|
implementation("com.github.adriankuta:tree-structure-coroutines:4.2.0")
|
||||||
```
|
```
|
||||||
```kotlin
|
```kotlin
|
||||||
root.preOrderFlow().collect { println(it.value) }
|
root.preOrderFlow().collect { println(it.value) }
|
||||||
@@ -185,7 +185,7 @@ A `LazyTree` composable for Compose Multiplatform (JVM/desktop, Android, iOS, Wa
|
|||||||
nodes are composed.
|
nodes are composed.
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
implementation("com.github.adriankuta:tree-structure-compose:4.1.1")
|
implementation("com.github.adriankuta:tree-structure-compose:4.2.0")
|
||||||
```
|
```
|
||||||
|
|
||||||
For the common case, the no-content overload renders each node with the built-in `TreeNodeRow`
|
For the common case, the no-content overload renders each node with the built-in `TreeNodeRow`
|
||||||
@@ -217,7 +217,7 @@ subtrees are reused, so updates are cheap and old roots stay valid. Backed by
|
|||||||
`kotlinx.collections.immutable`.
|
`kotlinx.collections.immutable`.
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
implementation("com.github.adriankuta:tree-structure-immutable:4.1.1")
|
implementation("com.github.adriankuta:tree-structure-immutable:4.2.0")
|
||||||
```
|
```
|
||||||
```kotlin
|
```kotlin
|
||||||
val root = ImmutableTreeNode("World").addChild(ImmutableTreeNode("Europe"))
|
val root = ImmutableTreeNode("World").addChild(ImmutableTreeNode("Europe"))
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ plugins {
|
|||||||
|
|
||||||
val PUBLISH_GROUP_ID = "com.github.adriankuta"
|
val PUBLISH_GROUP_ID = "com.github.adriankuta"
|
||||||
val PUBLISH_ARTIFACT_ID = "tree-structure" // base artifact; KMP will add -jvm, -ios*, etc.
|
val PUBLISH_ARTIFACT_ID = "tree-structure" // base artifact; KMP will add -jvm, -ios*, etc.
|
||||||
val PUBLISH_VERSION = "4.1.1"
|
val PUBLISH_VERSION = "4.2.0"
|
||||||
|
|
||||||
val snapshot: String? by project
|
val snapshot: String? by project
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user