Files

54 lines
2.1 KiB
Markdown

# Changelog
All notable changes to this project will be documented here.
## 0.2.1 - 2026-09-23
### Fixed
- Detect the active Hyprland config provider and use Lua DPMS/focus dispatchers
for Lua sessions. Legacy hyprlang sessions retain their original commands.
- Log the failing refresh operation, exit status and Hyprland error response;
reject error responses even when hyprctl exits successfully.
- Add regression coverage for Lua, older Hyprland without `status`, and refresh
failures before and after the VT switch. Document the Lua startup hook.
### Validated
- 30 behavioral tests, Bash syntax checks and ShellCheck 0.11.0 passed.
- Full manual recovery completed on the desktop; the operator then confirmed
physical HDMI input switching and recovery on Hyprland 0.56.2 with Lua and
an iiyama PL3288UH on `HDMI-A-2`. See [validation details](docs/hardware-validation.md).
## 0.2.0 - 2026-09-23
### Fixed
- Session revalidation and Hyprland IPC/output checks before VT switching.
- Emergency return on catchable signals and failed VT returns.
- Private runtime directories, lock error handling and configuration validation.
- Watcher restart on event-stream loss and honest recovery failure logs.
- Explicit activation, safe update restart, consistent XDG paths and scoped uninstall.
### Added
- Regression tests with mocked hardware/system services and Gitea CI checks.
- Reproducible committed-source installer archives, source ZIP, Base64 and checksums.
- Review findings, hardware acceptance notes and Hyprland environment startup hook.
## 0.1.0 - 2026-09-23
### Added
- DRM `HOTPLUG=1` event watcher using `udevadm monitor`.
- Dynamic detection of the active Wayland session and its VT via `loginctl`.
- VT-based HDMI recovery using `chvt`.
- Hyprland DPMS and monitor-focus refresh before and after the VT switch.
- Debounce protection for duplicate DRM events.
- `flock` protection against overlapping recovery executions.
- systemd user service.
- Installation and uninstall scripts.
- Configurable monitor name and timing values.
- Restricted sudoers examples.
- Boot-safety guard to avoid switching away from the display manager before login.