From f20881e1a76c46ea19a06d4869f8475eeadd5cdf Mon Sep 17 00:00:00 2001 From: Reza Taghizadeh Date: Tue, 18 Aug 2026 10:46:20 +0200 Subject: [PATCH] release: prepare FlexTrack Kotlin 1.1.0 --- CHANGELOG.md | 27 +++++++++++++++++++ README.md | 17 ++++++------ flextrack/build.gradle.kts | 2 +- .../main/kotlin/dev/flextrack/FlexTrack.kt | 2 +- .../kotlin/dev/flextrack/FlexTrackTest.kt | 2 +- 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f028cb..7da6425 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # Changelog +## 1.1.0 - 2026-08-18 + +### Added + +- Debug-only structured Logcat diagnostics with `OFF`, `BASIC`, and `VERBOSE` + policies. +- Production-style Compose sample using MVVM, Hilt, StateFlow, Navigation, + and DataStore. +- Shared Runtime MVP fixtures and Flutter/Kotlin conformance coverage. +- On-device tests for durable queue recreation, malformed storage, concurrent + enqueue, consent/network controls, and delivery UI state. +- Flutter–Kotlin parity documentation. + +### Changed + +- Serializes concurrent flush operations to prevent duplicate delivery. +- Returns immutable queue snapshots and defensively copies tracker IDs. +- Explains skipped routing decisions and property keys in debug logs. +- Guarantees tracker initialization before sample event dispatch. +- Updates AndroidX Test dependencies for Android 16 compatibility. + +### Compatibility + +- No migration is required from `1.0.1`. +- Maven coordinates remain `dev.flextrack:flextrack`. +- Core Specification remains `1.0.0`; Runtime Specification is `1.0.0`. + ## 1.0.1 - 2026-08-17 ### Changed diff --git a/README.md b/README.md index ce257fc..6c1859c 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The Kotlin SDK targets Android API 21+ and implements ## Installation -The release workflow publishes version `1.0.1` through GitHub Packages. After +The release workflow publishes version `1.1.0` through GitHub Packages. After the release tag is pushed, add the repository and credentials to your Gradle settings, then add the dependency: @@ -37,7 +37,7 @@ repositories { ```kotlin dependencies { - implementation("dev.flextrack:flextrack:1.0.1") + implementation("dev.flextrack:flextrack:1.1.0") } ``` @@ -95,9 +95,10 @@ logger = AndroidLogcatLogger( ``` Filter Logcat by the `FlexTrack` tag. Routing, delivery, failures, queueing, -offline skips, retries, and flush summaries are reported. Event properties and -PII are never included. `AndroidLogcatLogger` produces no output when the host -application is not debuggable. +offline skips, retries, and flush summaries are reported. `BASIC` logs only +property keys. `VERBOSE` is an explicit debug-only opt-in that also prints +property values, so it must not be used with real PII. `AndroidLogcatLogger` +produces no output when the host application is not debuggable. All client operations are `suspend` functions. Call them from an application- owned coroutine scope. `FileEventQueue` stores failed/offline deliveries in the @@ -132,11 +133,11 @@ example with functional screens for: ## Release The tag must match the version in `flextrack/build.gradle.kts`. Pushing a tag -such as `v1.0.1` verifies the library and publishes it to GitHub Packages: +such as `v1.1.0` verifies the library and publishes it to GitHub Packages: ```bash -git tag v1.0.1 -git push origin v1.0.1 +git tag v1.1.0 +git push origin v1.1.0 ``` ## License diff --git a/flextrack/build.gradle.kts b/flextrack/build.gradle.kts index 9e05208..dd9b48c 100644 --- a/flextrack/build.gradle.kts +++ b/flextrack/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } group = "dev.flextrack" -version = "1.0.1" +version = "1.1.0" android { namespace = "dev.flextrack" diff --git a/flextrack/src/main/kotlin/dev/flextrack/FlexTrack.kt b/flextrack/src/main/kotlin/dev/flextrack/FlexTrack.kt index b4d004d..aaefafc 100644 --- a/flextrack/src/main/kotlin/dev/flextrack/FlexTrack.kt +++ b/flextrack/src/main/kotlin/dev/flextrack/FlexTrack.kt @@ -3,7 +3,7 @@ package dev.flextrack /** Package metadata for the FlexTrack Kotlin SDK. */ public object FlexTrack { /** Current SDK version. */ - public const val VERSION: String = "1.0.1" + public const val VERSION: String = "1.1.0" /** Language-neutral FlexTrack Core specification implemented by this SDK. */ public const val CORE_SPEC_VERSION: String = "1.0.0" diff --git a/flextrack/src/test/kotlin/dev/flextrack/FlexTrackTest.kt b/flextrack/src/test/kotlin/dev/flextrack/FlexTrackTest.kt index 94351ad..1573c28 100644 --- a/flextrack/src/test/kotlin/dev/flextrack/FlexTrackTest.kt +++ b/flextrack/src/test/kotlin/dev/flextrack/FlexTrackTest.kt @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Test class FlexTrackTest { @Test fun `package metadata identifies SDK and contract versions`() { - assertEquals("1.0.1", FlexTrack.VERSION) + assertEquals("1.1.0", FlexTrack.VERSION) assertEquals("1.0.0", FlexTrack.CORE_SPEC_VERSION) } }