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
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 1.0.1 - 2026-08-17

### Changed

- Rebrands the public Kotlin packages and Android namespace from
`dev.taghizadeh.flextrack` to `dev.flextrack`.
- Changes Maven coordinates to `dev.flextrack:flextrack:1.0.1`.
- Updates the sample application ID and imports to the new namespace.

### Migration

Replace imports beginning with `dev.taghizadeh.flextrack` with `dev.flextrack`.
No runtime behavior or Core Specification semantics changed.

## 1.0.0 - 2026-08-17

### Added
Expand Down
10 changes: 5 additions & 5 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.0` through GitHub Packages. After
The release workflow publishes version `1.0.1` 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.taghizadeh.flextrack:flextrack:1.0.0")
implementation("dev.flextrack:flextrack:1.0.1")
}
```

Expand Down Expand Up @@ -102,11 +102,11 @@ app's private files directory and retries only the destinations still pending.
## Release

The tag must match the version in `flextrack/build.gradle.kts`. Pushing a tag
such as `v1.0.0` verifies the library and publishes it to GitHub Packages:
such as `v1.0.1` verifies the library and publishes it to GitHub Packages:

```bash
git tag v1.0.0
git push origin v1.0.0
git tag v1.0.1
git push origin v1.0.1
```

## License
Expand Down
6 changes: 3 additions & 3 deletions flextrack/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ plugins {
`maven-publish`
}

group = "dev.taghizadeh.flextrack"
version = "1.0.0"
group = "dev.flextrack"
version = "1.0.1"

android {
namespace = "dev.taghizadeh.flextrack"
namespace = "dev.flextrack"
compileSdk {
version = release(36)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dev.taghizadeh.flextrack
package dev.flextrack

/** Package metadata for the FlexTrack Kotlin SDK. */
public object FlexTrack {
/** Current SDK version. */
public const val VERSION: String = "1.0.0"
public const val VERSION: String = "1.0.1"

/** Language-neutral FlexTrack Core specification implemented by this SDK. */
public const val CORE_SPEC_VERSION: String = "1.0.0"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dev.taghizadeh.flextrack.event
package dev.flextrack.event

import dev.taghizadeh.flextrack.routing.EventCategory
import dev.taghizadeh.flextrack.routing.TrackerGroup
import dev.flextrack.routing.EventCategory
import dev.flextrack.routing.TrackerGroup
import java.util.Collections

/** Adds properties without changing the identity or metadata of [original]. */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dev.taghizadeh.flextrack.event
package dev.flextrack.event

import dev.taghizadeh.flextrack.routing.EventCategory
import dev.taghizadeh.flextrack.routing.TrackerGroup
import dev.flextrack.routing.EventCategory
import dev.flextrack.routing.TrackerGroup
import java.time.Instant
import java.util.UUID

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.taghizadeh.flextrack.event
package dev.flextrack.event

/** Ordered, failure-isolated event transformation. */
public class TransformerPipeline {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.taghizadeh.flextrack.routing
package dev.flextrack.routing

@JvmInline
public value class EventCategory(public val name: String) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package dev.taghizadeh.flextrack.routing
package dev.flextrack.routing

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.sampling.DeterministicSampler
import dev.taghizadeh.flextrack.sampling.EventSampler
import dev.flextrack.event.FlexEvent
import dev.flextrack.sampling.DeterministicSampler
import dev.flextrack.sampling.EventSampler

public data class RoutingConfiguration(
val rules: List<RoutingRule>,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package dev.taghizadeh.flextrack.routing
package dev.flextrack.routing

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.flextrack.event.FlexEvent

public class RoutingEngine(public val configuration: RoutingConfiguration) {
public fun route(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package dev.taghizadeh.flextrack.routing
package dev.flextrack.routing

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.flextrack.event.FlexEvent

public data class SkippedRule(
val rule: RoutingRule,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dev.taghizadeh.flextrack.routing
package dev.flextrack.routing

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.event.originalEvent
import dev.taghizadeh.flextrack.sampling.DeterministicSampler
import dev.taghizadeh.flextrack.sampling.EventSampler
import dev.flextrack.event.FlexEvent
import dev.flextrack.event.originalEvent
import dev.flextrack.sampling.DeterministicSampler
import dev.flextrack.sampling.EventSampler

public data class ConsentState(
val general: Boolean = false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.taghizadeh.flextrack.routing
package dev.flextrack.routing

import java.util.Collections

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dev.taghizadeh.flextrack.runtime
package dev.flextrack.runtime

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.routing.RoutingResult
import dev.flextrack.event.FlexEvent
import dev.flextrack.routing.RoutingResult

public data class TrackerFailure(val trackerId: String, val cause: Throwable)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package dev.taghizadeh.flextrack.runtime
package dev.flextrack.runtime

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.flextrack.event.FlexEvent
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import java.time.Instant
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dev.taghizadeh.flextrack.runtime
package dev.flextrack.runtime

import android.content.Context
import android.util.AtomicFile
import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.routing.EventCategory
import dev.flextrack.event.FlexEvent
import dev.flextrack.routing.EventCategory
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dev.taghizadeh.flextrack.runtime
package dev.flextrack.runtime

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.event.TransformerPipeline
import dev.taghizadeh.flextrack.routing.ConsentState
import dev.taghizadeh.flextrack.routing.RoutingEngine
import dev.flextrack.event.FlexEvent
import dev.flextrack.event.TransformerPipeline
import dev.flextrack.routing.ConsentState
import dev.flextrack.routing.RoutingEngine
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.CancellationException
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package dev.taghizadeh.flextrack.runtime
package dev.flextrack.runtime

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.flextrack.event.FlexEvent

/** A destination adapter managed by [FlexTrackClient]. */
public interface Tracker {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.taghizadeh.flextrack.runtime
package dev.flextrack.runtime

import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package dev.taghizadeh.flextrack.sampling
package dev.flextrack.sampling

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.flextrack.event.FlexEvent

public fun interface EventSampler {
public fun shouldSample(event: FlexEvent, sampleRate: Double): Boolean
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package dev.taghizadeh.flextrack
package dev.flextrack

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class FlexTrackTest {
@Test
fun `package metadata identifies SDK and contract versions`() {
assertEquals("1.0.0", FlexTrack.VERSION)
assertEquals("1.0.1", FlexTrack.VERSION)
assertEquals("1.0.0", FlexTrack.CORE_SPEC_VERSION)
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package dev.taghizadeh.flextrack.conformance
package dev.flextrack.conformance

import dev.taghizadeh.flextrack.event.EnrichedEvent
import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.routing.ConsentState
import dev.taghizadeh.flextrack.routing.EventCategory
import dev.taghizadeh.flextrack.routing.RoutingConfiguration
import dev.taghizadeh.flextrack.routing.RoutingEngine
import dev.taghizadeh.flextrack.routing.RoutingRule
import dev.taghizadeh.flextrack.routing.TrackerGroup
import dev.taghizadeh.flextrack.sampling.DeterministicSampler
import dev.flextrack.event.EnrichedEvent
import dev.flextrack.event.FlexEvent
import dev.flextrack.routing.ConsentState
import dev.flextrack.routing.EventCategory
import dev.flextrack.routing.RoutingConfiguration
import dev.flextrack.routing.RoutingEngine
import dev.flextrack.routing.RoutingRule
import dev.flextrack.routing.TrackerGroup
import dev.flextrack.sampling.DeterministicSampler
import org.json.JSONObject
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.DynamicTest
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package dev.taghizadeh.flextrack.event
package dev.flextrack.event

import dev.taghizadeh.flextrack.routing.EventCategory
import dev.flextrack.routing.EventCategory
import java.time.Instant
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNotEquals
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package dev.taghizadeh.flextrack.routing
package dev.flextrack.routing

import dev.taghizadeh.flextrack.event.ChildTestEvent
import dev.taghizadeh.flextrack.event.EnrichedEvent
import dev.taghizadeh.flextrack.event.TestEvent
import dev.flextrack.event.ChildTestEvent
import dev.flextrack.event.EnrichedEvent
import dev.flextrack.event.TestEvent
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package dev.taghizadeh.flextrack.runtime

import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.routing.ConsentState
import dev.taghizadeh.flextrack.routing.RoutingConfiguration
import dev.taghizadeh.flextrack.routing.RoutingEngine
import dev.taghizadeh.flextrack.routing.RoutingRule
import dev.taghizadeh.flextrack.routing.TrackerGroup
package dev.flextrack.runtime

import dev.flextrack.event.FlexEvent
import dev.flextrack.routing.ConsentState
import dev.flextrack.routing.RoutingConfiguration
import dev.flextrack.routing.RoutingEngine
import dev.flextrack.routing.RoutingRule
import dev.flextrack.routing.TrackerGroup
import kotlinx.coroutines.test.runTest
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package dev.taghizadeh.flextrack.sampling
package dev.flextrack.sampling

import dev.taghizadeh.flextrack.event.TestEvent
import dev.flextrack.event.TestEvent
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue
Expand Down
4 changes: 2 additions & 2 deletions sample/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ plugins {
}

android {
namespace = "dev.taghizadeh.flextrack.sample"
namespace = "dev.flextrack.sample"
compileSdk {
version = release(36)
}

defaultConfig {
applicationId = "dev.taghizadeh.flextrack.sample"
applicationId = "dev.flextrack.sample"
minSdk = 21
targetSdk = 36
versionCode = 1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.taghizadeh.flextrack.sample
package dev.flextrack.sample

import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
Expand All @@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("dev.taghizadeh.flextrack.sample", appContext.packageName)
assertEquals("dev.flextrack.sample", appContext.packageName)
}
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package dev.taghizadeh.flextrack.sample
package dev.flextrack.sample

import android.os.Bundle
import android.widget.Button
import android.widget.LinearLayout
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import dev.taghizadeh.flextrack.event.FlexEvent
import dev.taghizadeh.flextrack.routing.ConsentState
import dev.taghizadeh.flextrack.routing.RoutingConfiguration
import dev.taghizadeh.flextrack.routing.RoutingEngine
import dev.taghizadeh.flextrack.routing.RoutingRule
import dev.taghizadeh.flextrack.routing.TrackerGroup
import dev.taghizadeh.flextrack.runtime.FileEventQueue
import dev.taghizadeh.flextrack.runtime.FlexTrackClient
import dev.taghizadeh.flextrack.runtime.Tracker
import dev.flextrack.event.FlexEvent
import dev.flextrack.routing.ConsentState
import dev.flextrack.routing.RoutingConfiguration
import dev.flextrack.routing.RoutingEngine
import dev.flextrack.routing.RoutingRule
import dev.flextrack.routing.TrackerGroup
import dev.flextrack.runtime.FileEventQueue
import dev.flextrack.runtime.FlexTrackClient
import dev.flextrack.runtime.Tracker
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.taghizadeh.flextrack.sample
package dev.flextrack.sample

import org.junit.Test

Expand Down
Loading