π₯ Breaking changes
The following breaking change only affects you if you're using named arguments:
BigInteger::fromBytes()now uses$bytesas the parameter name
π Bug fixes
of()no longer accepts a trailing newline (\n) in the input string; such input now throwsNumberFormatExceptionof()now consistently throwsNumberFormatExceptionfor exponents too large to process, instead ofIntegerOverflowExceptionin some casesBigInteger::fromBase()now reports the invalid character with its original case in theNumberFormatExceptionmessage, instead of lower-casing it
β‘οΈ Performance improvements
BigInteger::gcd()no longer exhausts memory on large inputs when the GMP extension is not installedBigInteger::modInverse()no longer exhausts memory on large inputs, and is faster when the GMP extension is not installed
π Static analysis improvements
- Narrowed parameter and return types with static analysis annotations:
nthRoot()'s$nis nowpositive-intBigInteger::toBase(),toArbitraryBase(),toBytes()andBigRational::toRepeatingDecimalString()now returnnon-empty-string