Releases: Kimplify/Kurrency
0.3.1
Patch release. No breaking changes.
Added
- String-based minor units formatting API across
CurrencyFormatter,CurrencyFormat,Kurrency, andCurrencyAmount(ISO, compact, and options variants).
Fixed
- Precision loss in
minorUnitsToPlainString(now uses string arithmetic). Long.MIN_VALUEhandling inminorUnitsToPlainString.- Double formatter initialization in
CurrencyAmount.format(style/options).
implementation("org.kimplify:kurrency-core:0.3.1")
implementation("org.kimplify:kurrency-compose:0.3.1")
implementation("org.kimplify:kurrency-deci:0.3.1")Full Changelog: v0.3.0...v0.3.1
0.3.0
What's New
Features
- Currency Parsing — Robust locale-aware parsing pipeline with minor-units support
- CurrencyFormatOptions Builder API — Fine-grained control over currency formatting
- RTL & Bidirectional Support — Full RTL locale support with
NumeralSystemenum - Compose Desktop Test Support — Added Skiko native dependencies for JVM compose tests
Improvements
- Migrated to Gradle 9.1.0 with sample module restructuring
- Resolved 163 test failures across all platforms
- Expanded test coverage: thread safety, platform-specific (JVM, iOS, JS, WasmJS), Android edge cases
Platform Test Coverage
- Added JVM, iOS, JS, and WasmJS platform-specific formatter tests
- Added Android instrumented edge case tests (Infinity, NaN, negative zero, BHD)
- Concurrent CurrencyAmount and multi-locale formatter thread safety tests
Full Changelog: v0.2.5-alpha01...v0.3.0
0.2.5-alpha01
This release downgrades kotlin to 2.2.21 until https://youtrack.jetbrains.com/issue/KT-83395 is resolved.
If you target 2.3.0, keep using 0.2.4. If you face KT-83395 or any other issues, consider alpha01.
Full Changelog: 0.2.4...v0.2.5-alpha01
0.2.4
What's Changed
feat: Update build configuration for Kotlin Multiplatform and enhance Android library support
feat: Replace Cedar logging with KurrencyLog for improved logging consistency
feat: Remove composeHotReload plugin for cleaner build configuration
feat: Add deci library and include kurrency-deci module in the project
Full Changelog: 0.2.0...0.2.1
0.2.0
0.1.1
v0.1.0
Initial release of Kurrency - a type-safe currency formatting library for Kotlin Multiplatform.
Features
- Type-safe currency formatting with
ResultAPI - Support for Android, iOS, JVM, JS, and WasmJs
- Compose state management with
rememberCurrencyState - Standard and ISO formatting styles
- Built-in error handling and validation
- Cedar Logger integration
Installation
dependencies {
implementation("io.github.chilinoodles:kurrency:0.1.0")
}Basic Usage
val currency = Currency("USD")
val formatted = currency.formatAmountOrEmpty("1234.56")See the README for complete documentation.