Files
forust d0841d2c9b
release / verify (push) Successful in 28s
release / linux-amd64 (push) Failing after 47s
chore: release v1.3.1
2026-07-12 14:22:45 +02:00

87 lines
3.5 KiB
Markdown

# Changelog
All notable changes to this project are documented here.
The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`.
## [1.3.1] - 2026-07-12
### Added
- Added `mute_input` action to toggle microphone mute via `wpctl`/`pactl`.
- Added `inhibit_sleep` config option to run `systemd-inhibit` during the timer.
- Added `monitor` action with backend selection (hyprland, niri, sway, kde, gnome, x11) to turn off displays.
- Added `notify` action to send desktop notification on timer finish.
- Added `suspend`, `hibernate`, `hybrid-sleep` power modes.
- Added workspace backend support for `sway` and `i3`.
- Added custom `workspace command` override.
### Changed
- Lock action refactored with backend selection: `loginctl`, `hyprlock`, `swaylock`, `i3lock`, `gnome`, `kde`, `xscreensaver`.
- Editor command now correctly splits `VISUAL`/`EDITOR` into program and arguments.
- Timer action loop checks the stop flag between actions.
### Fixed
- History now records `partial` status when some actions fail instead of bailing entirely.
## [1.2.2] - 2026-07-05
### Changed
- Updated Ratatui to 0.30.2 to remove the unmaintained `paste` transitive dependency and pick up the fixed `lru` dependency line.
- Replaced deprecated `serde_yaml`/`unsafe-libyaml` with the pure-Rust `noyalib` YAML parser.
## [1.2.1] - 2026-07-05
### Changed
- Updated the TUI running screen to center a larger termdown-style ASCII time-left display above progress and post-countdown commands.
## [1.2.0] - 2026-07-05
### Added
- Added `status`, `validate`, `edit`, `history`, and `stats` CLI commands.
- Added `run --dry-run` and `run --no-actions` for safer timer verification.
- Added TUI pause/resume support and a fullscreen running timer view with large ASCII time-left display.
- Added history recording for completed sessions and aggregate sleep/timer statistics.
- Added red highlighting for dangerous post-timer actions and common destructive custom commands.
### Changed
- TUI settings now hide dependent options when their parent action is disabled.
- Release assets are published as a raw Linux binary plus `.sha256` instead of a tar archive.
## [1.1.3] - 2026-07-03
### Fixed
- Made the tag-based release workflow fail closed: lint and test gates now run before build and publish.
- Exposed Gitea Actions' built-in `${{ secrets.GITEA_TOKEN }}` to the release API steps so release creation and asset upload authenticate correctly.
## [1.1.2] - 2026-07-03
### Fixed
- Suppressed all background `stdout`/`stderr` writes while the Ratatui screen is active, including child command output from timer actions.
- Split `time left` out of the gauge label and reduced the gauge label to a compact percentage for narrow terminal safety.
## [1.1.1] - 2026-07-03
### Changed
- Rebuilt the application as a Rust terminal binary.
- Added a Ratatui/Crossterm TUI with command preview wrapping, timer progress, and time-left display.
- Added YAML configuration, CLI `init`, `preview`, and `run` commands.
- Added Gitea CI and tag-based release workflows.
[1.3.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.3.1
[1.2.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.2
[1.2.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.1
[1.2.0]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.0
[1.1.3]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.3
[1.1.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.2
[1.1.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.1