# ruviz v0.1.4

Released: 2026-02-11

## Highlights

- Added grouped-series API for line/scatter/bar with shared styling scope.
- Added grouped legend collapse to render one legend entry per group label.
- Improved color behavior for grouped auto-palette series (single palette color per group unless fixed color is set).
- Made dashed line spacing DPI-independent for more consistent visual output across export resolutions.

## New Grouped-Series API

Use `Plot::group(|g| ...)` to apply shared style settings to multiple series:

```rust
use ruviz::prelude::*;

let x = vec![0.0, 1.0, 2.0, 3.0];
let y1 = vec![0.0, 1.0, 2.0, 3.0];
let y2 = vec![0.2, 1.3, 2.6, 3.8];

Plot::new()
    .group(|g| {
        g.group_label("Grouped")
            .line_style(LineStyle::Dashed)
            .line_width(2.0)
            .line(&x, &y1)
            .line(&x, &y2)
    })
    .legend(Position::TopRight)
    .save("grouped.png")?;
```

## Compatibility Notes

- No breaking API changes in this release.
- Existing non-grouped color progression behavior remains unchanged.
- Grouped auto colors now intentionally reuse one palette color within a group by default.

## Quality and Validation

This release was validated with the standard CI lanes:

- Rustfmt
- Clippy
- MSRV (1.87)
- Documentation build
- Test Fast Lane
- Multi-platform build (Linux, macOS, Windows, FreeBSD)

## References

- Changelog: [`CHANGELOG.md`](../../CHANGELOG.md)
- Grouped series feature PR: [#11](https://github.com/Ameyanagi/ruviz/pull/11)
- Dashed spacing fix PR: [#10](https://github.com/Ameyanagi/ruviz/pull/10)
