# Changelog

All notable changes to this project will be documented in this file.

## [0.16.0] - 2026-06-28

### 🚀 Features

- Switch to the Lanczos3 filter when resizing (#16)

### 💼 Other

- *(deps)* Bump async-hid

## [0.15.1] - 2026-06-01

### 🐛 Bug Fixes

- *(device)* Remove related entries from image cache when clearing button image / whole screen

## [0.15.0] - 2026-06-01

### 🚜 Refactor

- *(device)* Use HashMap for image cache to avoid flushing same button twice

### ⚙️ Miscellaneous Tasks

- *(example)* Fix broken examples after changing firmware_version to Option

## [0.14.0] - 2026-05-12

### 🚀 Features

- *(device)* Add support for both keypress states

### 📚 Documentation

- *(README)* Add support for keypress states

## [0.13.0] - 2026-04-07

### 🚀 Features

- *(device)* Add knob led controls (brightness, individual static color) for supported devices (#11)

## [0.12.1] - 2026-03-18

### 🐛 Bug Fixes

- *(windows)* Stub correct function for reading firmware

## [0.12.0] - 2026-03-18

### 🐛 Bug Fixes

- *(device)* Make firmware version an Option, don't try to read it on Windows

## [0.11.2] - 2026-03-16

### 💼 Other

- *(deps)* Bump async-hid to 0.5.1, fixing build with older macOS SDKs

## [0.11.1] - 2026-03-15

### 🚀 Features

- Function for reading firmware version without connecting

### ⚙️ Miscellaneous Tasks

- *(example)* Added example for reading firmware version

## [0.11.0] - 2026-03-15

### 🚀 Features

- Reading device firmware version

### 💼 Other

- *(deps)* Bump async-hid to 0.5.0

### 🚜 Refactor

- Remove unused string handling code

### ⚙️ Miscellaneous Tasks

- Fix changelog

## [0.10.0] - 2026-02-27

### 🚀 Features

- Supports_both_encoder_states capability flag (#8)

### 📚 Documentation

- *(device)* Flags

## [0.9.0] - 2025-09-11

### 🚜 Refactor

- [**breaking**] Move supports_both_states to a separate protocol_version 3, added fallback protocol_version 0 for pv 1 devices with really old firmware

### 📚 Documentation

- Added protocol versions documentation

### ⚙️ Miscellaneous Tasks

- *(example)* Update examples

## [0.8.1] - 2025-09-10

### 🐛 Bug Fixes

- Hardcode serial for protocol_version 1 devices, allow devices without serial

## [0.8.0] - 2025-08-30

### 🚜 Refactor

- [**breaking**] Change is_v2 bool to protocol_version usize

## [0.7.0] - 2025-08-03

### 🚀 Features

- Added `set_mode` function for multimodal devices (#3)

### 🚜 Refactor

- Remove some unneeded Vec allocations (#4)

### 📚 Documentation

- Added note about v1 devices serial number to readme

## [0.6.2] - 2025-06-28

### 💼 Other

- *(deps)* Bump async-hid to 0.4.4

### 📚 Documentation

- Linked existing plugins and moved forking checklist to a wiki

## [0.6.1] - 2025-06-19

### 🐛 Bug Fixes

- Device watcher now applies checks in correct order, fixes windows

## [0.6.0] - 2025-06-16

### 🚀 Features

- New querying method, dropped async-io dependency, reworked reader, dropped own DeviceInfo in favor of async-hid's DeviceInfo

## [0.5.0] - 2025-06-08

### 🚀 Features

- Device connect/disconnect watcher

### 🚜 Refactor

- [**breaking**] Use new DeviceInfo struct instead of separate vid/pid/serial

## [0.4.0] - 2025-06-07

### 🚀 Features

- [**breaking**] Migrate to async-hid

### 🐛 Bug Fixes

- Replace RefCell for reader_writer with Arc+Mutex
- Separate mutexes for reader and writer

### 💼 Other

- Added akp153r example
- Update akp03r example to async
- Update akp153r example to async
- *(deps)* Bump async-hid to 0.4.2

### 🚜 Refactor

- Move process_input to reader instead of read, split read into two functions

### 📚 Documentation

- Better documentation for Device struct impl

### ⚙️ Miscellaneous Tasks

- Added badges to readme and document 0.4.0 stuff
- Mention v0.3.0 in the readme as the last sync version

## [0.3.0] - 2025-04-27

### 🚜 Refactor

- [**breaking**] Moved supports_both_states to a struct value

## [0.2.1] - 2025-04-26

### 🐛 Bug Fixes

- Fixed input handling for devices that does not support both button states

### ⚙️ Miscellaneous Tasks

- Fixed button count in example
- Added chore(ver) exclusion in cliff

## [0.2.0] - 2025-04-25

### 🚀 Features

- Use Result for process_input

## [0.1.0] - 2025-04-21

### 🚀 Features

- Error type
- Image conversion functions
- Cleaned-up API for communicating with Mirabox/Ajazz devices

### ⚙️ Miscellaneous Tasks

- Added git-cliff config
- Added license
- Cargo.toml meta
- Added example
- Added README

<!-- generated by git-cliff -->
