vantage-csv 0.5.3

Vantage extension for CSV files
Documentation
# Changelog

## 0.5.3 — 2026-06-02

- Track `vantage-table`'s new `TableSource::Source` associated type (set to `String`; no
  user-visible change).

## 0.5.2 — 2026-05-23

- Align all internal dependency versions to 0.5+. No public API changes.

## 0.5.0 — 2026-05-23

- Bumped to the 0.5 line to track
  [vantage-table 0.5.0]https://docs.rs/vantage-table/0.5.0/vantage_table/'s opening of the
  `AnyTable` decommission cycle. No code changes beyond the dependency pin.

## 0.4.13 — 2026-05-18

- Tracks [vantage-vista 0.4.10]https://docs.rs/vantage-vista/0.4.10/vantage_vista/'s
  schema-on-source refactor. `CsvTableShell` now owns its
  [`VistaMetadata`]https://docs.rs/vantage-vista/0.4.10/vantage_vista/struct.VistaMetadata.html
  and implements the new
  [`columns`]https://docs.rs/vantage-vista/0.4.10/vantage_vista/trait.TableShell.html#tymethod.columns
  /
  [`references`]https://docs.rs/vantage-vista/0.4.10/vantage_vista/trait.TableShell.html#tymethod.references
  /
  [`id_column`]https://docs.rs/vantage-vista/0.4.10/vantage_vista/trait.TableShell.html#tymethod.id_column
  shell methods. `csv.vista_factory().from_table(...)` / `from_yaml(...)` surface unchanged.
- Pins `vantage-vista = "0.4.10"`.

## 0.4.12 — 2026-05-17

Compatibility with change in vantage-vista

## 0.4.11 — 2026-05-16

- Internal dependency version refresh; no public API changes.

## 0.4.10 — 2026-05-16

- `CsvTableShell` implements
  [`TableShell::get_ref`]https://docs.rs/vantage-vista/0.4.7/vantage_vista/trait.TableShell.html#method.get_ref
  and `get_ref_kinds`: row-based reference traversal at the Vista layer. Builds the target table
  from `Reference::resolve_from_row`, re-wraps via `CsvVistaFactory::from_table`.
- `Csv::eq_value_condition` implemented via `CsvOperation::eq`.
- Pins `vantage-vista = "0.4.7"`, `vantage-table = "0.4.10"`.

## 0.4.9 — 2026-05-09

- Pins `vantage-types` to `>= 0.4.2`. The `AnyCsvType` `TerminalRender` impl returns `RichText` and
  needs the trait shape from `vantage-types 0.4.2`.

## 0.4.8 — 2026-05-04

- Implements
  [`TableShell::driver_name`]https://docs.rs/vantage-vista/0.4.4/vantage_vista/trait.TableShell.html#method.driver_name
  `Vista::driver()` reports `"csv"` for tables wrapped through `csv.vista_factory()`.
- Bumps minimum [`vantage-vista`]https://docs.rs/vantage-vista/0.4.4/ requirement to 0.4.4.

## 0.4.7 — 2026-05-04

- `CsvVistaSource` is now
  [`CsvTableShell`]https://docs.rs/vantage-csv/0.4.7/vantage_csv/struct.CsvTableShell.html,
  tracking the
  [`vantage-vista 0.4.3`]https://docs.rs/vantage-vista/0.4.3/vantage_vista/trait.TableShell.html
  trait rename. The factory's surface is unchanged — most users go through
  `csv.vista_factory().from_table(...)` or `from_yaml(...)` and never name the source struct.

## 0.4.6 — 2026-05-04

- `add_condition_eq` filtering is now translated into an `Expression<AnyCsvType>` and pushed onto
  the wrapped `Table` instead of evaluated on Vista's side. Same surface, but consistent with the
  new condition-delegation contract.
- Internal: the `vista` module is now a directory (`vista/{mod,factory,source,spec}.rs`) for parity
  with the other drivers — `pub use` surface unchanged.
- Bumps minimum [`vantage-vista`]https://docs.rs/vantage-vista/0.4.2/ requirement to 0.4.2
  (`add_eq_condition` trait method).

## 0.4.5 — 2026-05-03

- [`CsvVistaFactory::from_yaml`]https://docs.rs/vantage-csv/0.4.5/vantage_csv/struct.CsvVistaFactory.html#method.from_yaml
  now works: parse a `*.vista.yaml` describing columns, flags, and a `csv: { path }` block, get back
  a `Vista`. Per-column `csv: { source: <header> }` overrides the source header when it differs from
  the spec name.
- New `read_csv_with_variants` internal path decouples reading from a typed `Table<E>`, used by the
  YAML loader.
- Bumps minimum [`vantage-vista`]https://docs.rs/vantage-vista/0.4.1/ requirement to 0.4.1 (uses
  the new `VistaSpec` / `flags` API).

## 0.4.4 — 2026-05-03

- New opt-in [`vista`]https://docs.rs/vantage-csv/0.4.4/vantage_csv/struct.CsvVistaFactory.html
  feature: turn a typed `Table<Csv, E>` into a
  [`Vista`]https://docs.rs/vantage-vista/0.4.0/vantage_vista/struct.Vista.html via
  `csv.vista_factory().from_table(table)` and read rows as `ciborium::Value` records through the
  universal data handle.
- Read-only by design — `list`, `get`, `get_some`, and `count` work (with `eq` filters); writes
  return a clear "CSV is a read-only data source" error and `VistaCapabilities` advertise
  `can_count: true` only.
- Existing `TableSource` / `AnyTable` paths are unchanged; the feature is off by default.

## 0.4.3 — 2026-04-25

- `From`/`Into<ciborium::Value>` impls on `AnyCsvType` so CSV tables can be wrapped via
  `AnyTable::from_table`. Round-trips via `serde_json::Value` (same lossy bits as the existing JSON
  bridge — binary, NaN, etc.).
- Pins `vantage-table = "0.4.4"` to keep the pair in lock-step.