From 0fe65352583ea3233c19cf4a1fb9d53f23df55be Mon Sep 17 00:00:00 2001 From: Adrian Kuta Date: Mon, 8 Jun 2026 21:58:23 +0200 Subject: [PATCH] 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. --- CHANGELOG.md | 4 ++-- README.md | 14 +++++++------- build.gradle.kts | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40b796f..c60d713 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [4.2.0] - 2026-06-08 ### Added - **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] - 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.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 diff --git a/README.md b/README.md index bd5f736..a405262 100644 --- a/README.md +++ b/README.md @@ -30,14 +30,14 @@ Gradle (Kotlin DSL): ```kotlin // commonMain for KMP projects, or any sourceSet/module where you need it 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): ```groovy dependencies { - implementation "com.github.adriankuta:tree-structure:4.1.1" + implementation "com.github.adriankuta:tree-structure:4.2.0" } ``` @@ -46,7 +46,7 @@ Maven: com.github.adriankuta tree-structure - 4.1.1 + 4.2.0 ``` @@ -160,7 +160,7 @@ that depends on the core. `@Serializable` directly. Convert to and from the acyclic `TreeNodeDto` instead. ```kotlin -implementation("com.github.adriankuta:tree-structure-serialization:4.1.1") +implementation("com.github.adriankuta:tree-structure-serialization:4.2.0") ``` ```kotlin val json = Json.encodeToString(root.toDto()) @@ -172,7 +172,7 @@ val restored = Json.decodeFromString>(json).toTreeNode() Traverse a tree as a cold `Flow`, which is handy inside coroutine and `ViewModel` pipelines. ```kotlin -implementation("com.github.adriankuta:tree-structure-coroutines:4.1.1") +implementation("com.github.adriankuta:tree-structure-coroutines:4.2.0") ``` ```kotlin root.preOrderFlow().collect { println(it.value) } @@ -185,7 +185,7 @@ A `LazyTree` composable for Compose Multiplatform (JVM/desktop, Android, iOS, Wa nodes are composed. ```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` @@ -217,7 +217,7 @@ subtrees are reused, so updates are cheap and old roots stay valid. Backed by `kotlinx.collections.immutable`. ```kotlin -implementation("com.github.adriankuta:tree-structure-immutable:4.1.1") +implementation("com.github.adriankuta:tree-structure-immutable:4.2.0") ``` ```kotlin val root = ImmutableTreeNode("World").addChild(ImmutableTreeNode("Europe")) diff --git a/build.gradle.kts b/build.gradle.kts index 289ff1e..da79085 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,7 +16,7 @@ plugins { val PUBLISH_GROUP_ID = "com.github.adriankuta" 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