chore(deps): update dependency decimal to v3#686
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Contributor
Author
|
e31989c to
94600dc
Compare
yordis
approved these changes
May 8, 2026
Member
|
we need upstream to be upgraded ASAP |
94600dc to
9cb1b37
Compare
9cb1b37 to
99ddd8b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~> 2.0→~> 3.0Release Notes
ericmj/decimal (decimal)
v3.1.1Compare Source
Bug fixes
Decimal.parse/2andDecimal.new/2rejecting inspect output forvalues at the context's full precision with negative exponents (e.g.
Decimal.new("0.3162277660168379331998893544432719")). The:max_digitslimit no longer counts non-significant leading zeros.v3.1.0Compare Source
Enhancements
Decimal.new/2now accepts an optionaloptskeyword list andforwards it to
Decimal.parse/2, allowing callers to override:max_digitsand:max_exponentwhen constructing a decimal froma string.
Bug fixes
Decimal.to_integer/1when the coefficient iszero and the exponent is negative (e.g.
Decimal.new("0.0")). Suchvalues now correctly convert to the integer
0.v3.0.0Compare Source
Note on the new defaults
The new decimal128 defaults are more than sufficient for currency and
other real-world numeric use cases. With
precision: 34and a scale of2 (two digits after the decimal point for cents), values from
0.00upto roughly
99_999_999_999_999_999_999_999_999_999_999.99(~10³², 100nonillion) round-trip without rounding. Most upgrades from 2.x require
no code changes.
Security
default
Decimal.Contextand the public parse, cast, and to_stringfunctions now follow IEEE 754 decimal128 limits, rejecting inputs
such as
1e1000000000without materializing them.Breaking changes
Decimal.Contextdefaults change from precision28and unboundedemax/eminto decimal128 values:precision: 34,emax: 6_144,emin: -6_143. Operation results whose adjusted exponent leaves thatband signal overflow or underflow.
Decimal.parse/1andDecimal.cast/1reject inputs whose digit countexceeds
34(decimal128 precision) or whose absolute exponent exceeds6_144(decimal128 emax). Useparse/2/cast/2withmax_digits: :infinityandmax_exponent: :infinityto restoreunbounded behavior.
Decimal.parse/2andDecimal.cast/2default:max_digitsto34and
:max_exponentto6_144when not specified.Decimal.to_string/2andDecimal.to_string/3raiseArgumentErrorwhen the rendered output would exceed
6_178digit characters(precision + emax — the worst-case
:normalwidth of any in-rangedecimal128 value).
Inspect,String.Chars, andJSON.Encoderprotocol implementations pass
max_digits: :infinityso debug outputalways succeeds.
v2.4.1Compare Source
Bug fixes
Decimal.to_integer/1when the coefficient iszero and the exponent is negative (e.g.
Decimal.new("0.0")). Suchvalues now correctly convert to the integer
0.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.