# Changelog

## 0.1.0 — 2026-05-19

### Added
- Full fstab(5) format parsing (all 6 fields, escape sequences, comments)
- Typed field types: `Spec` (7 variants), `MountPoint`, `FsType`, `Options`
- Optional `serde` feature for Serialize/Deserialize on all public types
- `#[non_exhaustive]` on all public enums for forward compatibility
- `EntryBuilder` with fluent construction pattern
- `FromStr` impls for `Spec`, `FsType`, `Options`
- `Deref` impls for `MountPoint` and `FsType`
- `AsRef<Path>` for `MountPoint`
- `IntoIterator` for `&Fstab` and `Fstab`
- `TryFrom<&str>` for `Spec`, `FsType`, `Options`, `MountPoint`
- `Hash` derive for `Entry`, `OptItem`, `Options`
- `Display` impls for `Spec` and `MountPoint`
- `Options::len()`, `Options::contains()`
- `Spec::tag_name()`, `Spec::tag_value()` accessors
- `Fstab::from_entries()`, `Fstab::into_entries()`
- `Fstab::validate()` with semantic diagnostics matching `findmnt --verify`
- Case-insensitive tag matching in `Spec::parse` (matches mount(8) behavior)
- Fluent mutation API (`set()`, `remove()`, `append()`, `prepend()` return `&mut Self`)
- `#[must_use]` on all pure functions
- Atomic file writing (`write_atomic`) via `tempfile` crate
- Comment preservation (intro/per-entry/trailing)
- Comprehensive API documentation with 17 doc-test examples
- CI configuration (GitHub Actions: test / clippy / doc / fmt)
- 361+ tests covering spec compliance, edge cases, and roundtrip fidelity
