# 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).

## Unreleased

## [v0.7.0] - 2026-04-09

## Added

- Add `probe` function to scan all available I2C addresses
- Example: scan all device addresses
- Add fan stall detection

## Fixed

- Fix off by one errors when checking poles

## [v0.6.0] - 2026-01-01

## Fixed

- Fix RP2040 Embassy example build issues
- Clippy fixes
- Update `fans` to v0.4

## [v0.5.0] - 2025-12-26

### Changed

- Update `fans` to v0.3

## [v0.4.0] - 2025-01-25

### Added

- Added RP2040 example
- Add `report` API to fetch duty cycle and RPM at the same time

### Fixed
- Set `mode` bit before changing duty cycle

### Changed
- Rework the way `no_std` is invoked
- Move `FanSelect` and `FanControl` to `fans` crate

## [v0.3.0] - 2024-12-24

### Added

- Added raw reading of I2C register
- Check manufacturer ID before initialization
- Fix TachReading register offsets
- Add Rust docs
- Add basic initialization tests

## [v0.2.0] - 2024-11-15

### Added

- Basic EMC230x implementation

## [v0.1.0] - 2024-10-19

### Added

- Initial proof of concept and crates.io reservation

[v0.3.0]: https://github.com/retroctrl/emc230x/compare/v0.2.0...v0.3.0
[v0.2.0]: https://github.com/retroctrl/emc230x/compare/v0.1.0...v0.2.0
[v0.1.0]: https://github.com/retroctrl/emc230x/releases/tag/v0.1.0
