Release v1.0.0
KMPTime v1.0.0 β Initial Release π
We are proud to announce the first official release of KMPTime, a lightweight, modular, and modern Kotlin Multiplatform date and time utility library. Built on top of kotlinx-datetime, KMPTime provides powerful formatting, locale representations, and context-aware wrappers.
Key Features
- Multiplatform from Day One: Native support for a wide range of platforms including JVM, Android, JS (Browser), Wasm-JS (Browser), and Apple platforms (iOS, macOS, tvOS, watchOS).
- Locale-Aware Formatting & Parsing: Simple yet flexible formatting and parsing capabilities for dates, times, and time zones using CLDR skeletons and patterns.
- Context Receivers Integration: Fully utilizes Kotlin's Context Receivers to seamlessly pass time zones or locales down the call stack without cluttering function parameters.
- Fully Documented & Tested: Includes complete API KDocs and comprehensive multiplatform test suites.
Module Structure
KMPTime is modularized so you only import what you need:
eu.tintera.locale:locale
Platform-independent representation and utilities for system and custom Locales.eu.tintera.time:time-core
Core multiplatform date/time utilities, extension functions, and calculations.eu.tintera.time:time-format
Locale-aware formatting and parsing utilities.eu.tintera.time:time-core-context
Context-receiver wrappers for core operations (e.g. locale-aware and timezone-aware context operations).eu.tintera.time:time-format-context
Context-receiver wrappers for formatting and parsing APIs.
Dependency Setup
Add the dependencies to your shared or platform-specific source sets in your build.gradle.kts:
kotlin {
sourceSets {
commonMain.dependencies {
// Core library modules
implementation("eu.tintera.locale:locale:1.0.0")
implementation("eu.tintera.time:time-core:1.0.0")
implementation("eu.tintera.time:time-format:1.0.0")
// Context receivers wrappers (Optional)
implementation("eu.tintera.time:time-core-context:1.0.0")
implementation("eu.tintera.time:time-format-context:1.0.0")
}
}
}