Releases: brick/math
Releases · brick/math
0.14.1
0.14.0
✨ New features
- New methods:
BigInteger::clamp()andBigDecimal::clamp()(#96 by @JesterIruka)
✨ Improvements
- All pure methods in
BigNumberclasses are now marked as@purefor better static analysis
💥 Breaking changes
- Minimum PHP version is now 8.2
BigNumberclasses are nowreadonlyBigNumberis now marked as sealed: it must not be extended outside of this package- Exception classes are now
final
0.13.1
0.13.0
💥 Breaking changes
BigDecimal::ofUnscaledValue()no longer throws an exception if the scale is negativeMathExceptionnow extendsRuntimeExceptioninstead ofException; this reverts the change introduced in version0.11.0(#82)
✨ New features
BigDecimal::ofUnscaledValue()allows a negative scale (and converts the values to create a zero scale number)
0.12.3
0.12.2
0.12.1
0.12.0
💥 Breaking changes
- Minimum PHP version is now 8.1
RoundingModeis now anenum; if you're type-hinting rounding modes, you need to type-hint againstRoundingModeinstead ofintnowBigNumberclasses do not implement theSerializableinterface anymore (they use the new custom object serialization mechanism)- The following breaking changes only affect you if you're creating your own
BigNumbersubclasses:- the return type of
BigNumber::of()is nowstatic BigNumberhas a new abstract methodfrom()- all
publicandprotectedfunctions ofBigNumberare nowfinal
- the return type of
0.11.0
💥 Breaking changes
- Minimum PHP version is now 8.0
- Methods accepting a union of types are now strongly typed*
MathExceptionnow extendsExceptioninstead ofRuntimeException
* You may now run into type errors if you were passing Stringable objects to of() or any of the methods internally calling of(), with strict_types enabled. You can fix this by casting Stringable objects to string first.