The Android target added in #48 brought AGP onto the build's classpath
without setting org.gradle.jvmargs, so the Gradle daemon ran on its
defaults (512m heap / 384m Metaspace). AGP loads enough classes that,
combined with the KMP matrix, binary-compatibility-validator, Kover and
Dokka in a single build, the daemon exhausts Metaspace and is killed
mid-build (GC thrashing / out of Metaspace). The
'JVM / JS / Wasm / Native / Android + API check' job therefore failed
deterministically on master, and the publish job builds the same targets.
Set org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g. Verified with a
cold full-matrix build locally.
Add the `android` target to the Compose Multiplatform library and a sensible
default renderer, so the largest Compose audience is a first-class consumer.
- Core `tree-structure` and `tree-structure-compose` now build and publish an
`-android` variant (compileSdk 35, minSdk 21). The core needs it too: its
inline `tree { }` DSL is built per target, and Android consumers (JVM 11/17)
cannot inline a JVM-21 build.
- `TreeNodeRow`: a foundation-only default node row (clickable, indented, with a
`▾`/`▸` marker, no Material dependency), plus a no-content `LazyTree(root,
label = …)` overload that uses it. The existing lambda overload is unchanged.
- New `samples` Android app module demonstrating `LazyTree` + `@Preview`
(not published; excluded from API validation).
- Toolchain: Gradle wrapper 8.5 -> 8.10.2, Android Gradle Plugin 8.7.2.
- binary-compatibility-validator now emits per-target dumps (api/jvm, api/android)
for the two multi-JVM-target modules; CI assembles the Android outputs.
* docs: design spec for Dokka HTML API reference on GitHub Pages (#32)
* docs: implementation plan for Dokka API reference on GitHub Pages (#32)
* build: migrate Dokka 1.9.20 -> 2.2.0 (DGP v2) (#32)
* docs: aggregate all modules into one Dokka HTML site with source links (#32)
* docs: add Dokka source links to serialization/coroutines/compose modules (#32)
* ci: add docs workflow to deploy Dokka HTML to GitHub Pages (#32)
* docs: link the published API reference from the README (#32)
v3.4 modernization (continued):
- Migrate to Kotlin 2.x (K2); introduce gradle/libs.versions.toml version catalog;
simplify the JS/Wasm/Node and iOS source-set wiring for the K2 hierarchy template.
- Apply binary-compatibility-validator and Kover plugins.
- New published module tree-structure-serialization: @Serializable TreeNodeDto with
toDto()/toTreeNode() round-trip (kotlinx.serialization).
- New published module tree-structure-coroutines: asFlow()/pre/post/levelOrderFlow()
(kotlinx.coroutines Flow traversal).
- Docs: README examples for Sequence/navigation/functional APIs, class-level KDoc
(thread-safety/complexity), and a CHANGELOG.md.
- Ignore subproject build/ directories.
- Bump version to 3.4.0.
All JVM tests green (core + both modules).
* 10: Convert library into Kotlin Multiplatform library
* 10: Setup CI
* 10: Setup CI
* 10: Test CI
* 10: Test CI
* 10: Test CI
* 10: Test CI
* 10: Test CI
* 10: Test CI
* 10: Test CI