# Changelog
All notable changes to this project will be 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).
## [0.2.2] - 2026-05-27
### Fixed
- Frequency-shift drift is now measured in Hz/s instead of Hz-per-sample, so the
stability check no longer varies with how many TCP frames were buffered
(oversampling). A genuinely stable tip is now judged consistently.
- When a stable signal can't be confirmed, the reading falls back to the *mean* of
the raw buffer instead of its *minimum*, removing a systematic negative bias in
the reported frequency shift.
- Reading scan properties at the start of a stability sweep no longer fails with an
`UnexpectedEof` IO error on older Nanonis firmware (via nanonis-rs 0.4.0's
version-tolerant `Scan.PropsGet`).
### Changed
- Tightened the signal-stability gates to a realistic tip scale: noise threshold
`max_std_dev` 1.0 → 0.3 Hz and drift threshold `max_slope` 2.0 → 0.5 Hz/s
(≈0.25 Hz over the 500 ms collection window).
- Updated the nanonis-rs backend to 0.4.0.
## [0.2.1] - 2026-05-21
### Added
- `CITATION.cff` and Zenodo DOI badges for software citation metadata.
- crates.io publishing workflow that runs on version tags.
### Fixed
- Malformed author email in `Cargo.toml`.
## [0.2.0] - 2026-03-09
- First tagged release.