Skip to content

Releases: Kimplify/Kurrency

0.3.1

07 Apr 00:49

Choose a tag to compare

Patch release. No breaking changes.

Added

  • String-based minor units formatting API across CurrencyFormatter, CurrencyFormat, Kurrency, and CurrencyAmount (ISO, compact, and options variants).

Fixed

  • Precision loss in minorUnitsToPlainString (now uses string arithmetic).
  • Long.MIN_VALUE handling in minorUnitsToPlainString.
  • 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

27 Mar 04:08
7791987

Choose a tag to compare

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 NumeralSystem enum
  • 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

13 Jan 04:27

Choose a tag to compare

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

06 Jan 01:29

Choose a tag to compare

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

24 Nov 03:45
c96c694

Choose a tag to compare

What's Changed

  • refactoring: Added KurrencyLocale and renamed packages by @Merkost in #3

Full Changelog: 0.1.1...0.2.0

0.1.1

13 Nov 04:03
de884c2

Choose a tag to compare

What's Changed

Full Changelog: 0.1.0...0.1.1

v0.1.0

11 Nov 00:58
1078849

Choose a tag to compare

Initial release of Kurrency - a type-safe currency formatting library for Kotlin Multiplatform.

Features

  • Type-safe currency formatting with Result API
  • 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.