This release includes breaking changes for platform teams planning a safe upgrade.
Published 3d
MCP Data & Storage
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
ai
d3
data-visualization
nteract
react
streaming
+1 more
visualization
Summary
AI summaryAdded BumpChart ranking visualization with ribbon encoding
Full changelog
Added
BumpChart(semiotic/xy). A ranking chart: each x-column ranks its
series byyAccessor, and rank becomes vertical position. Setribbonto
encode the original magnitude as a true perpendicular-offset ribbon width
(following the d3.svg.ribbon approach) instead of a fixed-width line — both
modes share the same sampled centerline, soanimatetweens only the width
during a line↔ribbon toggle.highlightTopcolors just the N best series by
mean rank and greys the rest vianeutralColor. ExportsBumpChartand the
purerankBumpDatahelper plus its types. Ships with SSR, AI schema/metadata
and MCP-registry registration, and a docs page.AreaChartsemanticLine. A new prop (defaulttrue) paints hard,
value-banded color segments along an area's top stroke wherever the value
crosses asemanticGradientthreshold — the stroke counterpart to the
semantic fill. A shared segment-splitter guarantees canvas and SVG render
identical bands.legendLayout.sideGutter. Reserves space between a side (left/right)
legend and the plot-adjacent axis chrome (ticks, titles), applied
consistently across the client and SSR renderers.MultiAxisLineChart
auto-sets a 70px dual-axis default; override viaframeProps.legendLayout.legendDistance. Controls the gap between the plot and its legend, with
dynamic content-measured side-legend width and margin estimation.- Unified gradient config + exported types.
gradientFill,lineGradient,
andsemanticGradientnow all accept a single
{ stops: [{ offset, color?, opacity? }] }shape (legacy shorthands still
work);GradientConfig,GradientStop, andSemanticGradientInputare
exported fromsemioticandsemiotic/xy. - Data Viz for Dummies II–VI. Five new scrollytelling example pages
expanding coverage across advanced XY, ordinal, network, geo, and physics
patterns.
Changed
- Default legend distance reduced from 12px to 10px across the client and
SSR paths, tightening automatic side/top margin reservations and the
legend-tight diagnostic threshold. - Legend placement no longer clamps to a minimum on-canvas offset. Numeric
margins are now authoritative for legend position (matching SSR), so a
numericmarginsmaller than the legend needs can push it partly off-canvas.
Rely on auto-margins (omitmargin) or size the margin to the legend. DistanceCartogramfractionallineModenow repositions flow-line
endpoints and interpolates intermediate vertices by arc length; previously
fractional lines were left un-repositioned.- Legend creation/interaction logic split into a dedicated hook module,
re-exported from the shared hooks entry (no import changes). - Removed the internal
semanticGradientToColorStopsexport (the
SemanticGradientStoptype alias is retained).
Fixed
renderChart/ SSR:framePropsoverrides now take precedence over mode
defaults, so e.g.frameProps={{ showAxes: false }}is honored in server
rendering.- Geo
DistanceCartogram: corrected radial interpolation so geography is no
longer pushed out of the plot at partialstrength, and clampedstrength
to[0, 1]with a NaN guard. - Physics kernel: a body resting only against a side wall (or a sideways
sleeping neighbor) no longer falsely counts as supported/sleeping, so it
keeps settling. - SSR/static legend parity: aligned static and client legend positioning,
including gradient legend label alignment; resize remaps now rescale semantic
area stroke color bands.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About nteract/semiotic
React data visualization MCP server with 30+ chart types. 5 tools: suggest charts for a dataset, render validated React configs to SVG, diagnose configuration anti-patterns, get component schemas, and report issues.
Related context
Related tools
Earlier breaking changes
- v3.8.1 Removed `/healthz` alias; only `GET /health` is supported for health checks.
- v3.8.0 Deprecates `GuantletChart` typo alias; use `GauntletChart`. Migration required.
- v3.6.0 Changes DifferenceChart to accept 2+ series via top‑2 subselection, adding caveats for extra series.
- v3.6.0 Changes AreaChart to a single‑series chart; multi‑series inputs are subselected.
Beta — feedback welcome: [email protected]