# ruviz v0.3.6

Released: 2026-04-04

## Highlights

- Reversed manual axis limits now work as expected: descending `.xlim()` and `.ylim()` values are preserved instead of being dropped, including through interactive zoom, pan, and zoom-rect flows.
- Heatmaps now support non-linear value scaling through `HeatmapConfig::value_scale(AxisScale)`, with log-aware color normalization and matching colorbar ticks.
- Added a Rust feature-impact benchmark suite with committed reference results for `baseline_cpu`, `default`, `parallel_only`, `parallel_simd`, `performance_alias`, and `gpu_only`.

## Version Alignment

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

- `ruviz` `0.3.6`
- `ruviz-web` `0.3.6`
- `ruviz-gpui` `0.3.6`
- npm `ruviz` `0.3.6`
- PyPI `ruviz` `0.3.6`

## Plotting And Benchmark Notes

- Heatmap colorbars now use the selected heatmap value scale, so `AxisScale::Log` produces logarithmic normalization and tick placement instead of a linear-looking colorbar.
- Manual axis inversion now works through both the static render path and the interactive session viewport path, so reversed limits remain stable after zooming and panning.
- The new Rust feature-impact benchmark artifacts are committed under [`benchmarks/plotting/results/rust-features/reference`](../../benchmarks/plotting/results/rust-features/reference), with the summary report in [`docs/benchmarks/rust-feature-impact.md`](../benchmarks/rust-feature-impact.md).

## Documentation

- Updated the README and current guide snippets to use `0.3.6`.
- Added a dedicated example for reversed axes and log-scaled heatmaps: [`examples/heatmap_scale_reversed_axes.rs`](../../examples/heatmap_scale_reversed_axes.rs).

## Quality And Validation

This release was validated with the standard CI lanes plus targeted local verification:

- 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
- `cargo test --lib`
- `cargo test --doc`
- `cargo run --example heatmap_scale_reversed_axes`

## References

- Changelog: [`CHANGELOG.md`](../../CHANGELOG.md)
- Previous release notes: [`v0.3.5`](./v0.3.5.md)
- Rust feature-impact benchmark report: [`docs/benchmarks/rust-feature-impact.md`](../benchmarks/rust-feature-impact.md)
- Reversed limits / heatmap scaling PR: [#44](https://github.com/Ameyanagi/ruviz/pull/44)
- Rust feature-impact benchmark PR: [#43](https://github.com/Ameyanagi/ruviz/pull/43)
