Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -37,7 +37,7 @@ repositories {

```kotlin
dependencies {
implementation("dev.flextrack:flextrack:1.0.1")
implementation("dev.flextrack:flextrack:1.1.0")
}
```

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion flextrack/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

group = "dev.flextrack"
version = "1.0.1"
version = "1.1.0"

android {
namespace = "dev.flextrack"
Expand Down
2 changes: 1 addition & 1 deletion flextrack/src/main/kotlin/dev/flextrack/FlexTrack.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion flextrack/src/test/kotlin/dev/flextrack/FlexTrackTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
}
Loading