# ruviz v0.3.5

Released: 2026-04-04

## Highlights

- Added a new large-dataset benchmark suite that compares `ruviz` across Rust, Python, and wasm, and also records Python `matplotlib` and Rust `plotters` baselines.
- Made large raster PNG exports substantially faster by adding automatic fast paths for oversized monotonic lines, cached static histograms, and nearest-neighbor heatmaps.
- Reworked the Python binding so host-side rendering and export reuse a live native plot handle instead of rebuilding from JSON snapshots on every call.

## Version Alignment

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

- `ruviz` `0.3.5`
- `ruviz-web` `0.3.5`
- `ruviz-gpui` `0.3.5`
- npm `ruviz` `0.3.5`
- PyPI `ruviz` `0.3.5`

## Benchmark And Performance Notes

- The benchmark report is now committed under [`docs/benchmarks/large-dataset-plotting.md`](../benchmarks/large-dataset-plotting.md), with raw JSON/CSV reference artifacts in [`benchmarks/plotting/results/reference`](../../benchmarks/plotting/results/reference).
- Python `ruviz` host-side `render_only` timings now track native Rust much more closely for line, scatter, heatmap, and static histogram export because repeated renders no longer pay the snapshot JSON reconstruction cost.
- The published benchmark methodology now builds the Python extension in release mode, avoids timing prepared-frame cache hits as rendering work, and keeps smoke-mode outputs separate from the checked-in reference dataset.

## Documentation

- Updated the README and guide snippets to use the current crate/package version.
- Added benchmark-focused documentation links and a performance guide section explaining why the new raster fast paths improve large PNG export times.

## Quality And Validation

This release was validated with the standard CI and release lanes, plus the new manual benchmark reference run:

- Rustfmt
- Clippy
- MSRV (1.92)
- Documentation build
- Test Fast Lane
- Python CI (`uv sync`, `cargo test`, `pytest`, `ruff check`)
- Multi-platform build (Linux, macOS, Windows, FreeBSD)
- WASM + Web build
- Notebook widget reproducibility check on Linux CI
- Large-dataset benchmark suite reference run (`make bench-plotting`)

## References

- Changelog: [`CHANGELOG.md`](../../CHANGELOG.md)
- Previous release notes: [`v0.3.4`](./v0.3.4.md)
- Benchmark report: [`docs/benchmarks/large-dataset-plotting.md`](../benchmarks/large-dataset-plotting.md)
- Performance guide: [`docs/PERFORMANCE_GUIDE.md`](../PERFORMANCE_GUIDE.md)
- Benchmark + optimization PR: [#42](https://github.com/Ameyanagi/ruviz/pull/42)
