All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Breaking changes are highlighted with the [BC] prefix.
The 0.x version may have breaking changes (as foreseen in the Semantic Versioning Specification). Nevertheless, efforts will be taken to minimize this kind of change.
isOneHundred
andisNotOneHundred
inPercentage
to check if it represents a 100% valuehasRounding
inPercentage
to check if its calculations have rounding support
- [BC] Default rounding to
HALF_EVEN
- The project started with
HALF_UP
because it was inspired by previous working experience which used it. However,HALF_EVEN
is the most recommended rounding mode, being used as the default mode for floating-point arithmetic in IEEE 754.HALF_EVEN
is also known as banker's rounding
- The project started with
- [BC]
Percentage
companion object name toFactory
- This may lead to issues in case two dependencies use Percentage with different versions (0.2.0 and 0.1.0) or if
using the companion object qualified name, i.e., calling
Percentage.of()
asPercentage.Companion.of()
- This may lead to issues in case two dependencies use Percentage with different versions (0.2.0 and 0.1.0) or if
using the companion object qualified name, i.e., calling
- Upgrade Math Common to v0.2.0
- Expose the Math Common library to the library's consumers
- The usage documentation describes using the
Rounding
strategies to configure aPercentage
object to round its calculations. However, consumers needed to figure out and declare it as a dependency
- The usage documentation describes using the
Initial release.