Files
gosleep/CHANGELOG.md
T
forust 779d329d06
ci / rust (push) Successful in 50s
ci / lint-yaml (push) Successful in 8s
release / verify (push) Successful in 21s
release / linux-amd64 (push) Successful in 31s
chore: release v1.3.3
2026-09-10 11:54:34 +02:00

4.5 KiB

Changelog

All notable changes to this project are documented here.

The project uses semantic versioning. Tags are formatted as vMAJOR.MINOR.PATCH.

1.3.3 - 2026-09-09

Fixed

  • Closed shell injection via notify.messagenotify-send now uses direct args.
  • Separated KDE monitor handling from lock — uses kscreen-doctor --dpms off.
  • pkill and notify-send use -- separator against option-injection.
  • is_dangerous no longer false-positives on notify text and flags user-controlled shell.
  • Edit error no longer loses input.
  • start_timer validates config before spawning the thread.

Changed

  • TUI header centered and collapsed into loaded config:.
  • Settings renamed/regrouped — screen off, mic mute, prevent sleep, power, kill processes.
  • enabled suffix shown only for enabled actions.
  • Edit input visible inline while editing.
  • README synced: sway/i3, kscreen-doctor, notify.

1.3.2 - 2026-08-07

Changed

  • mute_input action now always mutes the microphone instead of toggling its current state.

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.