Back to Explore

d3/d3-array

GitHub
1 updates · last 90 daysOpen source

Last release:

d3-array is a JavaScript library focused on array manipulation. It provides utilities for ordering, searching, and summarizing data, with documentation and examples available on d3js.org.

Project status

  • The source has a very recent update, on 2026-11-03, after a long quiet period with no listed updates since 2023. This shows renewed activity, but does not establish a regular cadence.
  • Before that gap, updates were relatively frequent from 2022 to 2023. The overall cadence is irregular.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v3.2.5

    v3.2.5 fixes a rounding error in `nice` and updates the development and publishing toolchain to pnpm, Vitest, and npm trusted publishing. The package now publishes a bundled ES module as its primary entrypoint instead of publishing the source files separately.

    BreakingFeatures
  • v3.2.4

    d3-array v3.2.4 changes how d3.medianIndex and d3.quantileIndex compute their return values when inputs contain missing values. The release notes mention fixing return values for missing data, but the code changes also adjust return values for empty inputs.

    Breaking
  • v3.2.3

    Release v3.2.3 primarily fixes threshold generation for degenerate inputs, such as empty arrays or data with zero deviation. The code updates the Freedman-Diaconis, Scott, and Sturges threshold implementations to avoid invalid math results and instead return a minimum threshold of 1.

  • v3.2.2

    Release v3.2.2 makes d3.ticks more resilient at producing tick values when the requested tick count is small. The main code change is in src/ticks.js, where the tick computation logic was refactored and augmented to retry with an adjusted count to ensure at least one tick for certain inputs.

    Features
  • v3.2.1

    d3-array v3.2.1 primarily fixes two correctness issues: mutation of user-supplied thresholds in d3.bin, and an infinite-loop scenario affecting d3.quantile and d3.quickselect when called with invalid arguments. The code changes also add additional defensive argument coercion and early-return behavior, particularly in quickselect.

  • v3.2.0

    Release v3.2.0 introduces new d3-array exports for blur operations (blur, blur2, blurImage) and index-returning quantile helpers (medianIndex, quantileIndex). The diff also includes non-release-note changes to publishing scripts and dependency versions used for build and linting.

    Features
  • v3.1.6

    Release v3.1.6 updates d3-array’s bisector logic to address incorrect behavior when users provide an asymmetric comparator. The change primarily affects how bisector determines ordering/comparability during bisection for comparator functions.

  • v3.1.5

    Release v3.1.5 contains a targeted fix for a crash occurring in the d3-array binning logic. The patch adjusts how computed bin indices are handled and adds a regression test for integer binning behavior.

  • v3.1.4

    v3.1.4 is a small patch release for d3-array that corrects an off-by-one error in bin assignment related to rounding behavior in d3.bin. The diff also includes test and tooling updates (new test data and adding d3-dsv for CSV parsing).

  • v3.1.3

    v3.1.3 improves performance of d3-array’s binning logic and adjusts the implementation of the Scott threshold estimator. The code changes mainly affect how d3.bin assigns values to bins (bisection vs direct indexing), and how thresholdScott computes its result (Math.cbrt usage).

  • v3.1.2

    v3.1.2 is a small patch release focused on correcting the implementation of d3.thresholdScott. The only runtime code change shown is a slight adjustment to the numeric constant used in the Scott threshold calculation.