From 31977508bc9d24ac71ea99e0cd99e9534ed5eae5 Mon Sep 17 00:00:00 2001 From: "harry.tumalewa" Date: Sun, 26 Apr 2026 03:07:10 +0700 Subject: [PATCH] release: v1.0.0-rc01 --- CHANGELOG.md | 8 ++++++++ README.md | 11 +++++------ .../src/main/kotlin/PublishingConventionPlugin.kt | 2 +- stitch-annotations/build.gradle.kts | 2 +- stitch-ksp/build.gradle.kts | 2 +- stitch/build.gradle.kts | 2 +- 6 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..c5eee78 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [1.0.0-rc01] - 2026-04-26 + +### Added +- First release candidate for Stitch. \ No newline at end of file diff --git a/README.md b/README.md index a22b820..dd087b8 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,11 @@ registration path, designed to replace the Dagger + Koin split with one consiste Today, dependency injection tools often force a tradeoff: -- **Dagger 2** is fast, but no runtime binding registration and no multiplatform support. +- **Dagger 2** is fast, but has no runtime binding registration and no multiplatform support. - **Koin** allows runtime registration, but has slower resolutions and higher APK-size impact. - Using **Dagger 2 + Koin** means carrying two mental models and the combined trade-offs. -Stitch brings both models into one library without the combined trade-offs: - -- **Precompiled path** for generated graphs and top-tier injection performance -- **Runtime registration path** for dynamic bindings and feature-driven registration +Stitch brings both models into one library without the combined trade-offs. ## At a Glance @@ -31,7 +28,9 @@ Stitch brings both models into one library without the combined trade-offs: | APK size impact on larger graphs | ✅ Lowest | ✅ Low | ❌ Highest | | Build-time impact on larger graphs | ✅ Lower than Dagger | ❌ Highest | ✅ Lowest | -**Note:** "Larger graphs" refers to projects with 100-200+ registered bindings. +**Notes:** +- "Larger graphs" refers to projects with 100-200+ registered bindings. +- See [Performance Benchmarks](#performance-benchmarks) for the measurement details. ## Installation diff --git a/build-logic/convention/src/main/kotlin/PublishingConventionPlugin.kt b/build-logic/convention/src/main/kotlin/PublishingConventionPlugin.kt index d896627..61c6f9f 100644 --- a/build-logic/convention/src/main/kotlin/PublishingConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/PublishingConventionPlugin.kt @@ -26,7 +26,7 @@ class PublishingConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { group = "io.github.harrytmthy" - version = "1.0.0" + version = "1.0.0-rc01" pluginManager.apply("org.jetbrains.dokka") pluginManager.apply("com.vanniktech.maven.publish") diff --git a/stitch-annotations/build.gradle.kts b/stitch-annotations/build.gradle.kts index 45f12e5..a4fdb1a 100644 --- a/stitch-annotations/build.gradle.kts +++ b/stitch-annotations/build.gradle.kts @@ -22,6 +22,6 @@ plugins { mavenPublishing { pom { name.set("Stitch Annotations") - description.set("Annotation definitions for Stitch DI") + description.set("Annotation definitions for Stitch's precompiled path.") } } diff --git a/stitch-ksp/build.gradle.kts b/stitch-ksp/build.gradle.kts index f10b57b..56b30b0 100644 --- a/stitch-ksp/build.gradle.kts +++ b/stitch-ksp/build.gradle.kts @@ -48,7 +48,7 @@ dependencies { mavenPublishing { pom { name.set("Stitch KSP") - description.set("Stitch KSP handler and Gradle plugin for module-aware code generation.") + description.set("KSP processor for Stitch's precompiled path.") } } diff --git a/stitch/build.gradle.kts b/stitch/build.gradle.kts index b7162b4..26d4467 100644 --- a/stitch/build.gradle.kts +++ b/stitch/build.gradle.kts @@ -35,6 +35,6 @@ kotlin { mavenPublishing { pom { name.set("Stitch") - description.set("") + description.set("A Kotlin Multiplatform dependency injection library with a precompiled path and a runtime registration path.") } } \ No newline at end of file