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

## [1.0.0] — 2026-06-01

First stable release.

### Added
- **GUI** — per-display brightness sliders with live DDC/CI hardware control (GTK4/Libadwaita)
- **CLI** — `list`, `get`, `set`, `increase`, `decrease`, `rename` commands
- **JSON output** — `temperlux list --json` for scripting/waybar/polybar integration
- **Shell completions** — `temperlux completions bash|zsh|fish|elvish`
- **adw::AboutWindow** — proper GNOME About dialog with logo, credits, license
- **SVG app icon** — sun/brightness theme with Angus Software brand colors
- **Autostart** — "Start on login" toggle in Preferences
- **Sync modes** — Off, Same Value, or Proportional across all displays
- **Min/Max caps** — per-display brightness range limits
- **Display rename** — custom names persisted in config
- **Display reorder** — arrow buttons in Preferences; order persists across restarts
- **Refresh** — rescan for display changes without restarting
- **Error auto-expiry** — error messages auto-clear after 5 seconds
- **Unified detection** — CLI and GUI share a single `DdcService` path (FFI libddcutil)
- **Parallel DDC writes** — command coalescing for responsive sliders
- **`ddc-diag`** — diagnostic binary for display detection debugging
- **CI/CD** — build, test, clippy, coverage tollgate (80% LINE), diff coverage, release pipeline
- **CD** — tag push → GitHub Release (binary tarball) + crates.io publish
- **105 tests** with mock-based architecture
- **Makefile** with install/uninstall targets
- **CONTRIBUTING.md** with development guide

### Security
- Compile-time write gate in hw-test binary
- I2C devices only accessible in hw-test step (push to master only)
- Raw value clamping to 0..65535 before DDC writes

### Credits
- Based on [Luminance](https://github.com/sidevesh/Luminance) by sidevesh

[1.0.0]: https://github.com/RhoMancer/temperlux/releases/tag/v1.0.0
