Upgrading bigdecimal 3 to 4
Breaking3.3.1 → 4.1.3Breaking2Security1Deprecated1New7Changed19Fixed22Other31
BreakingUpgrade verdict
2 breaking changes and a security fix.
In plain terms
- A build option that let String values be converted to numbers automatically is gone.
- The old precs method on BigDecimal numbers is gone, so code calling it will fail.
- Closes a memory corruption bug that could be triggered by division.
- Three older math routines are marked deprecated and should be avoided in new code.
Must act 4 items need code or config changes
Ruby requirement changed in 4.1.0: >= 2.5.0 → >= 2.6.0.
What you must change
Breaking2
Removes the ENABLE_NUMERIC_STRING compile-time flag.
ENABLE_NUMERIC_STRINGRemoves deprecated method BigDecimal#precs.
BigDecimal#precsSecurity1
Fixes an out-of-bounds write in Newton-Raphson division and improves normalize.
normalizeDeprecations to plan for
Deprecated1
Deprecates ludcmp, jacobian and newton.
ludcmpjacobiannewton