Skip to content

v0.2.0

Choose a tag to compare

@diogocavaiar diogocavaiar released this 23 Mar 03:36
· 29 commits to main since this release
1bea36f

Deci 0.2.0

A major expansion of the library with new targets, error handling, configuration, and developer tooling.

Added

  • DeciContext -- immutable precision + rounding mode bundle with built-in presets (DEFAULT, CURRENCY_USD, BANKING)
  • Sealed DeciException hierarchy -- domain-specific exceptions replacing raw ArithmeticException
  • New operators and extensions -- rem, unaryMinus, divide(context), toDeci() extensions for Int, Long, String
  • Injectable logging -- DeciLogSink replaces the Cedar dependency; disabled by default for zero-overhead production builds
  • Comprehensive test suite -- covering exceptions, context, extensions, operators, and all rounding modes
  • Build tooling -- ktlint formatting, binary-compatibility-validator (apiDump / apiCheck), PR template, CI changelog enforcement
  • Compose Multiplatform sample app -- tabbed navigation demo exercising the full API on Desktop, Android, Web, and iOS

Changed

  • All APIs promoted to stable -- @ExperimentalDeciApi annotation removed
  • Logging refactored to expect/actual pattern for cross-platform support
  • Build extracted into convention plugin under build-logic/

Fixed

  • Trailing-zero preservation in toString() on non-JVM platforms

Full Changelog: v0.1.1...v0.2.0