Skip to content

v0.4.13

Choose a tag to compare

@github-actions github-actions released this 27 Apr 15:25
· 17 commits to main since this release

ruviz v0.4.13

Released: 2026-04-27

Highlights

  • Public PNG rendering now has a bounded process-wide marker sprite cache, improving repeated large scatter and line-marker renders while keeping cold and warm PNG output byte-identical.
  • Log-scaled axes now flow through the public PNG, SVG, and parallel render paths with scale-aware coordinate projection, minor ticks, grid handling, and legend rendering.
  • Legend sizing now scales from render DPI for text, frame borders, corner radii, and shadow offsets instead of using fixed pixel assumptions.
  • Typst-valid symbol labels render through the public legend paths without adding LaTeX support.

Version Alignment

This release keeps the published workspace packages aligned on one version:

  • ruviz 0.4.13
  • ruviz-web 0.4.13
  • ruviz-gpui 0.4.13
  • npm ruviz 0.4.13
  • PyPI ruviz 0.4.13

Fixes And Maintenance

  • Fixed parallel-render legend output so public PNG rendering includes enabled legends consistently.
  • Fixed box plot quartile and whisker projection in the parallel renderer so y-values use the y-axis scale.
  • Fixed degenerate scaled coordinate ranges in the parallel projection path.
  • Fixed the notebook widget session sizing race that could create 1x1 WebKit canvases before the notebook wrapper was attached.
  • Replaced full marker sprite cache clears with single-entry eviction and held the global cache lock across sprite creation to avoid duplicate same-key work.
  • Moved shared legend DPI scaling onto Legend so Skia and SVG renderers cannot drift.

Quality And Validation

This release builds on green CI for PRs #70 and #71, plus targeted local checks during release prep:

  • cargo test --lib legend
  • cargo test --lib marker_sprite
  • cargo fmt --check
  • git diff --check
  • bun run check:web
  • RUVIZ_WEB_PREVIEW_PORT=4174 bun run test:e2e --project=webkit

References