depscope
Packages
IntegrateAPI DocsCuratorBenchmarkCoverage
Sign inGet API access
depscope/breaking/hex/decimal

decimal breaking changes

hex

14 curated breaking changes across major versions of decimal. Use this as a migration checklist before bumping dependencies.

View package health \u2192Known bugs \u2192
14
changes

Breaking changes by transition

  • v2.4.0 \u2192 v3.0.0

    breaking

    `Decimal.Context` defaults change from precision `28` and unbounded `emax`/`emin` to decimal128 values: `precision: 34`, `emax: 6_144`, `emin: -6_143`. Operation results whose adjusted exponent leaves that band signal overflow or underflow.

  • v2.4.0 \u2192 v3.0.0

    breaking

    `Decimal.to_string/2` and `Decimal.to_string/3` raise `ArgumentError` when the rendered output would exceed `6_178` digit characters (precision + emax — the worst-case `:normal` width of any in-range decimal128 value). `Inspect`, `String.Chars`, and `JSON.Encoder` protocol implementations pass `max_digits: :infinity` so debug output always succeeds.

  • v2.4.0 \u2192 v3.0.0

    breaking

    `Decimal.parse/2` and `Decimal.cast/2` default `:max_digits` to `34` and `:max_exponent` to `6_144` when not specified.

  • v2.4.0 \u2192 v3.0.0

    breaking

    `Decimal.parse/1` and `Decimal.cast/1` reject inputs whose digit count exceeds `34` (decimal128 precision) or whose absolute exponent exceeds `6_144` (decimal128 emax). Use `parse/2` / `cast/2` with `max_digits: :infinity` and `max_exponent: :infinity` to restore unbounded behavior.

  • v1.9.0-rc.0 \u2192 v2.0.0-rc.0

    breaking

    Change `Decimal.parse/1` to return `{t, binary} | :error`

  • v1.9.0-rc.0 \u2192 v2.0.0-rc.0

    breaking

    Change `Decimal.compare/2` to return `:lt | :eq | :gt`

  • v1.9.0-rc.0 \u2192 v2.0.0-rc.0

    breaking

    Change `Decimal.cast/1` to return `{:ok, t} | :error`

  • v1.9.0-rc.0 \u2192 v2.0.0-rc.0

    breaking

    Remove `:message` and `:result` fields from `Decimal.Error`

  • v1.9.0-rc.0 \u2192 v2.0.0-rc.0

    breaking

    Remove deprecated support for floats in `Decimal.new/1`

  • v1.9.0 \u2192 v2.0.0

    breaking

    Change `Decimal.cast/1` to return `{:ok, t} | :error`

  • v1.9.0 \u2192 v2.0.0

    breaking

    Remove deprecated support for floats in `Decimal.new/1`

  • v1.9.0 \u2192 v2.0.0

    breaking

    Remove `:message` and `:result` fields from `Decimal.Error`

  • v1.9.0 \u2192 v2.0.0

    breaking

    Change `Decimal.compare/2` to return `:lt | :eq | :gt`

  • v1.9.0 \u2192 v2.0.0

    breaking

    Change `Decimal.parse/1` to return `{t, binary} | :error`

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/hex/decimal
DepScope

Package intelligence for AI agents. 19 ecosystems.

Resources
API DocumentationHallucination BenchmarkFor EnterpriseSwagger / OpenAPIPopular PackagesCoverageAI Plugin SetupWatch the pitch (60s)
Legal
Legal hubPrivacy PolicyTerms of ServiceCookie PolicyAcceptable UseAttributionDPASub-processorsSecurityImprintContact中文
© 2026 Cuttalo srl — Italy · VAT IT03242390734Built for AI agents