# Changelog
All notable changes to this project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Regression guard (`cargo test`) that fails if an em dash (U+2014) or a
disallowed project-specific token is reintroduced into tracked Rust source.
### Changed
- Normalized comment and doc-prose punctuation to standard forms (no em
dashes) and simplified internal comment markers to plain notes, preserving
their engineering rationale. No behavior or log-schema change.
### Documented
- Accepted and documented the non-UTF-8 path log limitation: the move is
byte-faithful, but on Linux the log records invalid bytes in `src`/`dst` as
U+FFFD, so such a line is not a byte-exact record and is not reliably
reversible. No schema change.
### Fixed
- Reject trailing metadata tokens that start with `--` (a flag written after
SRC/PATH) with a usage error, instead of silently logging them as a junk
`[K V]` pair.
- Split `--mkdir` drift classification: a directory-creation failure and a
created-but-not-logged failure now report distinct causes instead of one
conflated message, and the post-create canonicalize failure is reclassified as
drift rather than a generic path-resolution error.
## [0.7.1] - 2026-08-23
### Changed
- Refresh `Cargo.lock` to current compatible crate versions. No behavior change.
## [0.7.0] - 2026-07-04
First tracked release; a changelog was not kept for earlier 0.x versions, so
their history is not reconstructed here.
### Added
- Logged atomic file move (`SRC DST`, move-into-dir), `--trash` (into `~/.Trash`,
collision-disambiguated, never unlinks), `--mkdir` (create missing parents),
`--rmdir` (cascade-remove emptied parents), and trailing `[K V]` metadata
pairs, all recorded as compact JSON-Lines audit entries.
- Crate publishing metadata (description, repository, keywords, categories),
README status/version/docs badges, and this changelog.
### Changed
- Migrated the crate to the Rust 2024 edition (no observable behavior change).