All Versions
Latest Version
Avg Release Cycle
36 days
Latest Release

Changelog History
Page 1

  • v0.3.1-SNAPSHOT Changes

    • ๐Ÿ›  Fix for #176, a case of unclear API. Methods roundToDigitPositionAfterDecimalPoint and roundToDigitPosition would set decimal precision to the number of digits present in the result after the rounding was completed. Now they only set decimal precision if it's explicitly set, otherwise it stays unlimited.
    • โฌ†๏ธ Bump to 1.5.0
  • v0.3.0 Changes

    • ๐Ÿ›  Fixed losing scale when there is a carry in addition in BigDecimal.
    • ๐Ÿ›  Fixed BigInteger numberOfDecimalDigits which would return 0 for 0 instead of 1.
    • ๐Ÿ›  Fixed #168 - Fix invalid rounding results Development roadmap for version 0.3.0 states 'API statbilization' so:
    • API CHANGE Extensions functions used to create BigDecimal from primitive types have been split into 'toBigDecimal(exponentModifier...)' and 'toBigDecimalUsingSignificandAndExponent(exponent...)' to bring more clarity to the API and solve #164
    • API CHANGE BigInteger uses a sum of magnitude elements as part of hash code instead of array hash code as it wasn't stable on JS
    • API CHANGE BigDecimal hashCode doesn't include decimal mode anymore, so it respects contract that hash code equals another hash code when equals returns true.
    • API CHANGE BigDecimal equals doesn't consider decimal mode anymore. Two big decimals are now equal only if they represent the same number.
    • ๐Ÿ›  Fixed decimal mode precision/scale mismatch in BigDecimal #161
      • NOTE: API CHANGE final precision is now desiredPrecision + scale
    • โž• Add @SharedImmutable to BigInteger to support native multithreading #159
  • v0.2.8 Changes

    • ๐Ÿ›  Fixed support for watchosX64/watchos86 (#150)
    • ๐Ÿ›  Fixed parsing characters outside of radix range (#152)
    • ๐Ÿ›  Fixed invalid byte array intialization (#153)
    • ๐Ÿ›  Fixed rounding KDoc (#156)
  • v0.2.7 Changes

    ๐Ÿš€ Same as 0.2.4 just a successful upload and release to Maven central

  • v0.2.5 Changes

    Failed uploads to maven central, don't use these versions.

  • v0.2.4 Changes

    • โฌ†๏ธ Bump to kotlin 1.4.30
    • ๐Ÿ›  Fix invalid to string when big decimal is zero (#148)
    • ๐Ÿ›  Fix xor test which was previously testing bit shifting instead of xor (#147)
    • ๐Ÿ›  Fix biginteger xor operands magnitude array length mismatch (#144)
    • ๐Ÿ›  Fix biginteger bitwise operations sign (#142)
    • โž• Added (back) support for legacy js target (#138)
  • v0.2.3 Changes

    November 28, 2020
    • โฌ†๏ธ Bump to Kotlin 1.4.20
    • ๐Ÿ›  Fix for invalid exponent rounding and string representation (#139)
    • Returned mingwx86 target (#137)
    • ๐Ÿ›  Fixed #134
    • ๐Ÿ›  Fixed #130 Conversion to double off by power of 10
    • ๐Ÿ›  Fixed #132 BigDecimal narrow functions toFloat() and toDouble, with exactRequired = false sometimes wrongly fail
    • ๐Ÿ›  Fixed floatValue and doubleValue narrowing functions (pull request #135)
    • ๐Ÿ›  Fixed invalid string parsing of big decimals
  • v0.2.2 Changes

    October 10, 2020

    0.2.2 - 10.10.2020 - Rework infinite precision division
    ๐Ÿš€ Issue #127 - invalid division when using unlimited precision wasn't completely handled in the previous release. With this release that division case was completely reworked and additional tests were added.

  • v0.2.1 Changes

    October 08, 2020
    • ๐Ÿ›  Fixed #127 BigDecimal divide not working properly
    • โž• Added tests to cover case from #127
    • โฌ†๏ธ Bumped Kotlin to 1.4.10
  • v0.2.0 Changes

    August 18, 2020
    • ๐Ÿ‘Œ Improvement #122 Add "scale" support to BigDecimal
    • ๐Ÿ›  Fixed #118 Rounding issue on division
    • ๐Ÿ‘Œ Improvement #116 Introduce local gradle varibale to enable JVM target on different platforms
    • ๐Ÿ›  Fixed #112 BigDecimal divideAndRemainder bad result
    • ๐Ÿ›  Fixed #111 - BigDecimal narrowing
    • ๐Ÿ›  Fixed #104 - BigInteger.toByteArray should prefer ByteArray over Array
    • ๐Ÿ›  Fixed #103 - Removed coroutines
    • ๐Ÿ›  Fixed #90 - Incorrect Result From Negative Double
    • ๐Ÿ›  Fixed #88 - BigInteger.bitAt does not work correctly
    • ๐Ÿ›  Fixed #86 - Rounding fails when integer part is 9
    • ๐Ÿ›  Fixed #88 - BigInteger.bitAt() returns invalid value
    • Built with Kotlin 1.4.0
    • Reworked to(U)ByteArray conversion methods
      • from and to conversions were not consistent, from(U)ByteArray expected a string of bytes ordered in little or big endian,
        while to(U)ByteArray produced Int or Long represented as byte with little endian or big endian order.
      • Replaced with a consistent to and from byte/ubyte array conversions
      • fromUByteArray always expects a big-endian ordered array of unsigned bytes
      • fromByteArray always expects a big-endian ordered array of bytes
      • toUByteArray produces unsigned byte array in big-endian order
      • toByteArray produces signed byte array in big-endian order
      • There are two helper methods that convert to and from a two's complement ByteArray, this form conforms to Java BigIntegers toByteArray
      • fromTwosComplementByteArray expects a two's complement ByteArray with at least one sign bit
      • toTwosComplementByteArrayproduces a two's complement ByteArray with at least one sign bit
    • โž• Added secureOverwrite to BigNumber interface, with role of overwriting backing structures with zeroes. It's meant to
      be used by libraries that require such a functionlity (i.e. crypto). The function also breaks immutability contract
      of BigNumber implementations, and further operations with that instances have undefined results.