# Release v0.2.1 - 2026-05-20

## Summary

CI hotfix. The v0.2.0 push went green on Linux and macOS but failed on
GitHub's Windows runner at `cargo fmt --all -- --check`. Root cause: the
Windows runner defaults to `core.autocrlf=true`, which rewrote our
LF-committed sources to CRLF on checkout. `rustfmt`'s
`newline_style = "Unix"` then flagged every file as having an "Incorrect
newline style". No source content was wrong — only the on-disk line
endings produced by the runner's checkout.

## Fixed

- Added [`.gitattributes`](.gitattributes) enforcing `eol=lf` on checkout
  for text sources (`*.rs`, `*.toml`, `*.md`, `*.yml`, `*.yaml`, `*.json`,
  `*.sh`) and marking common binary types explicitly. This neutralises the
  Windows runner's `core.autocrlf=true` and keeps `cargo fmt --check`
  passing across the matrix (Linux, macOS, Windows × stable, 1.85.0).

## Changed

- Crate version bumped to `0.2.1`. Public API is unchanged from `0.2.0`.

## Verified

- `cargo build --all-features` — clean.
- `cargo build --no-default-features` — clean.
- `cargo test --all-features` — 5 smoke tests + 16 doctests, all green.
- `cargo clippy --all-targets --all-features -- -D warnings` — clean.
- `cargo doc --no-deps --all-features` with `RUSTDOCFLAGS=-D warnings` —
  clean.

## Next

Phase 0.5.0 - Implementation. See `.dev/ROADMAP.md`.
