d3-scale provides encodings that map abstract data dimensions to visual representations. It is useful in data visualization for converting data into visual channels such as position, color, stroke width, or symbol size, including support for categorical and discrete data.
Project status
- The most recent tagged package updates shown are v4.0.2 (2021-09-24), with an earlier ESM and dependency modernization in v4.0.0 (2021-06-05), so from a published-update perspective this source appears largely quiet relative to today (2026-10-02).
- Although the upstream repository received a push on 2026-02-23, there is no evidence in the provided update summaries of additional published updates after 2021, so maintenance appears not to be active in terms of releases/updates.
AI summary generated
Recent updates
v4.0.2
v4.0.2 changes the default formatting used by d3-scale log ticks for base-10. The behavior switches from scientific notation to an SI-prefix style output, and the test suite expectations are updated accordingly.
Breakingv4.0.1
v4.0.1 is a patch release focused on the log scale implementation. It fixes log tick generation to return exact values for integer bases and adjusts log.tickFormat to trim trailing zeros by default when precision is not explicitly specified.
v4.0.0
v4.0.0 updates d3-scale to modern ESM usage and bumps several dependencies, including switching the ordinal scale implementation to use InternMap. The release notes also mention reproducible builds and a new Node.js requirement (12+).
Breakingv3.3.0
v3.3.0 updates d3-scale to use d3-time tick generation utilities (timeTicks/utcTicks) for Date/UTC time scales. The release notes only mention adopting those tick helpers, but the code change also refactors the internal calendar implementation and alters how tick intervals are computed and handled.
v3.2.4
v3.2.4 updates d3-scale so that passing null into quantitative scale functions is treated as an unknown value rather than being coerced and processed. The change is implemented across multiple scale types by adding an explicit null check before the existing NaN/number-orderability logic.
v3.2.3
v3.2.3 primarily targets a performance regression related to d3.scaleQuantile. The code change swaps the underlying quantile computation to use d3-array’s optimized path, and the release also upgrades d3-array via dependency range changes.
v3.2.2
d3-scale v3.2.2 includes a fix to how continuous scales compute “nice” domains so that the resulting niced domain spans the generated ticks. The release also updates d3-* dependencies, and adds/adjusts tests related to linear ticks and nice behavior.
v3.2.1
v3.2.1 contains a fix for d3-scale log tick generation on small domains and updates the d3-interpolate dependency. The code changes also reveal a broader set of transitive d3 dependency upgrades via yarn.lock, and a more specific tick selection heuristic in src/log.js.
v3.2.0
d3-scale v3.2.0 adds new convenience APIs for scale range and interpolation setup. It introduces rangeRound support for sequential and diverging scales, adds sequentialQuantile.quantiles, and extends scaleSequential and scaleDiverging to accept a range array in place of an interpolator factory.
Features