Add CHANGELOG documenting all changes since 0.1.0 and the initial release. Add DECISIONS.md as an architectural decision log. Update CLAUDE.md to reflect current architecture. Bump to 0.1.1 for the security and correctness fixes in the previous commit.
39 lines
1.8 KiB
Markdown
39 lines
1.8 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
Format based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
|
## [0.1.1] - 2026-03-28
|
|
|
|
### Fixed
|
|
|
|
- Use absolute paths for all system binaries (`systemctl`, `loginctl`, `niri`, `moonlock`) to prevent PATH hijacking
|
|
- Implement `POWER_TIMEOUT` (30s) via `try_wait()` polling — previously declared but unused, leaving power actions able to block indefinitely
|
|
- Prevent panic in `load_background_texture` when GResource path contains non-UTF-8 bytes — now falls back to known wallpaper resource
|
|
- Fix fallback user UID from `0` (root) to `u32::MAX` as a safe sentinel value
|
|
- Fix CSS comment incorrectly describing circular buttons as "square card"
|
|
|
|
### Changed
|
|
|
|
- Compress wallpaper in GResource bundle (`compressed="true"`) to reduce binary size
|
|
- Merge double `idle_add_local_once` into single idle cycle for faster keyboard focus on launch
|
|
- Centralize `GRESOURCE_PREFIX` as `pub(crate) const` in `main.rs` (was duplicated in `config.rs`, `users.rs`, and literal strings in `panel.rs`)
|
|
- Translate README.md and config comments from German to English
|
|
- Remove stale `journal.md` (one-time development notes, not actively maintained)
|
|
|
|
## [0.1.0] - 2026-03-27
|
|
|
|
### Added
|
|
|
|
- Rust rewrite of the Python power menu (gtk4-rs + gtk4-layer-shell)
|
|
- 5 power actions: Lock, Logout, Hibernate, Reboot, Shutdown
|
|
- Inline confirmation for destructive actions (all except Lock)
|
|
- Multi-monitor wallpaper support via shared `gdk::Texture`
|
|
- DE/EN localization with automatic locale detection
|
|
- TOML configuration for custom wallpaper path
|
|
- GResource bundle for CSS, wallpaper, and default avatar
|
|
- Async power actions via `glib::spawn_future_local` + `gio::spawn_blocking`
|
|
- Async avatar loading (file-based avatars decoded off UI thread)
|
|
- Cached icon loading at startup
|
|
- 45 unit tests
|