# Changelog

## v1.10.0 - 2026-06-16

### Features

- (pomodoro) add keybinding for `next` / `prev` rounds [#200](https://github.com/sectore/timr-tui/pull/200)
- (event) support changing of local time format [#194](https://github.com/sectore/timr-tui/pull/194)
- (pomodoro) variable pause duration [#184](https://github.com/sectore/timr-tui/issues/184)
- (pomodoro) auto switch `work` / `pause` (optional) [#183](https://github.com/sectore/timr-tui/issues/183), [#186](https://github.com/sectore/timr-tui/issues/186)

### Fix

- (cargo) exclude tests, snapshot, agent files from crates.io
- (duration) use stable functions [6311739](https://github.com/sectore/timr-tui/commit/63117392dcba3d22cd72beebf1d713b492ebb9ed)
- (keys) remove deprecated `s` keybinding to start/stop [#197](https://github.com/sectore/timr-tui/pull/197)

### Misc

- (docs) Update all demos [#201](https://github.com/sectore/timr-tui/pull/201)
- (skills) add skills: `snapshot-tests`, `update-cargo-deps`, `update-changelog`, `update-rust-version` [#181](https://github.com/sectore/timr-tui/pull/181), [#182](https://github.com/sectore/timr-tui/pull/182), [#187](https://github.com/sectore/timr-tui/pull/187), [#190](https://github.com/sectore/timr-tui/pull/190), [#195](https://github.com/sectore/timr-tui/pull/195), [#196](https://github.com/sectore/timr-tui/pull/196)
- (test) extend `clock_elements` buffer tests [#198](https://github.com/sectore/timr-tui/pull/198)
- (test) add `header` buffer tests [#195](https://github.com/sectore/timr-tui/pull/195)
- (test) widget snapshot tests [#187](https://github.com/sectore/timr-tui/pull/187), [#188](https://github.com/sectore/timr-tui/pull/188), [#189](https://github.com/sectore/timr-tui/pull/189), [#190](https://github.com/sectore/timr-tui/pull/190), [#191](https://github.com/sectore/timr-tui/pull/191), [#192](https://github.com/sectore/timr-tui/pull/192), [#193](https://github.com/sectore/timr-tui/pull/193), [#199](https://github.com/sectore/timr-tui/pull/199), [6545b80](https://github.com/sectore/timr-tui/commit/6545b80bcfb52aabb980145fddaf23d3e6f12b41)
- (dprint): include `md` files, exclude `target` dir [#185](https://github.com/sectore/timr-tui/issues/185)
- (deps) Latest Ratatui `v0.30.1` et al. [#182](https://github.com/sectore/timr-tui/pull/182)
- (deps) Rust 1.96.0 [#181](https://github.com/sectore/timr-tui/pull/181)

## v1.9.0 - 2026-05-26

### Features

- (countdown) Add finish time (toggleable) [#174](https://github.com/sectore/timr-tui/pull/174) by @MkP369, [#175](https://github.com/sectore/timr-tui/pull/175), [#176](https://github.com/sectore/timr-tui/pull/176), [#177](https://github.com/sectore/timr-tui/pull/177), [#178](https://github.com/sectore/timr-tui/pull/178)

### Fix

- Fix keybinding for local time screen [#172](https://github.com/sectore/timr-tui/pull/172)

### Misc

- (deps) Rust 1.95.0 [#171](https://github.com/sectore/timr-tui/pull/171)

## v1.8.1 - 2026-04-15

### Fix

- (arch) Error when installing with yay [#168](https://github.com/sectore/timr-tui/issues/168)

### Misc

- (deps) Rust 1.94.1 [#169](https://github.com/sectore/timr-tui/pull/169)

## v1.8.0 - 2026-03-23

### Features

- (keys) Support Vim motions [#163](https://github.com/sectore/timr-tui/issues/163)

### Breaking change

- (keys)! Update keybindings for toggling `menu` [#164](https://github.com/sectore/timr-tui/pull/164)

### Misc.

- (docs) Update all demos [#165](https://github.com/sectore/timr-tui/pull/165)
- (deps) Update deps [#162](https://github.com/sectore/timr-tui/pull/162)
- (deps) Rust 1.94.0 [#161](https://github.com/sectore/timr-tui/pull/161)

## v1.7.1 - 2026-02-07

### Fix

- remove `Render` event handling entirely [#158](https://github.com/sectore/timr-tui/pull/158)
- (perf) reduce CPU usage by implementing conditional redraws [#157](https://github.com/sectore/timr-tui/pull/157) by @fgbm.

## v1.7.0 - 2026-02-02

### Features

- (pomodoro) change time by factor 10 [#154](https://github.com/sectore/timr-tui/issues/154)
- (countdown) change local time by factor 10 [#153](https://github.com/sectore/timr-tui/issues/153)
- (footer) re-style menu [#152](https://github.com/sectore/timr-tui/pull/152)
- (keys) `start` / `stop` using `␣` key [#151](https://github.com/sectore/timr-tui/pull/151)

### Fix

- (nix) use `crossSystem` for `Windows` builds [#156](https://github.com/sectore/timr-tui/pull/156)
- (sound) latest `rodio` breaks sound implementation [#149](https://github.com/sectore/timr-tui/issues/149)
- (readme) typo [#145](https://github.com/sectore/timr-tui/issues/145) by @dnlzrgz

### Misc.

- (deps) Rust 1.93.0 [#150](https://github.com/sectore/timr-tui/pull/150)
- use `dprint` as `Markdown` code formatter [#146](https://github.com/sectore/timr-tui/issues/146)
- (deps) Latest Ratatui `v0.30.0` [#144](https://github.com/sectore/timr-tui/pull/144)
- (readme) Installation instructions for `Nix` users [#143](https://github.com/sectore/timr-tui/pull/143)

## v1.6.1 - 2025-10-29

### Fix

- (event) Ignore all key events except `KeyEventKind::Press` [#137](https://github.com/sectore/timr-tui/issues/137)

### Misc.

- (docs) Update all demos [#135](https://github.com/sectore/timr-tui/pull/135), [513f1fe](https://github.com/sectore/timr-tui/commit/513f1fec11ab8bdad46ca565b0c3f08ed37d6219)

## v1.6.0 - 2025-10-16

### Features

- (event) New `event` screen to count custom date times in the future or past. [#117](https://github.com/sectore/timr-tui/pull/117), [#120](https://github.com/sectore/timr-tui/pull/120), [#122](https://github.com/sectore/timr-tui/pull/122), [#123](https://github.com/sectore/timr-tui/pull/123), [#124](https://github.com/sectore/timr-tui/pull/124), [#125](https://github.com/sectore/timr-tui/pull/125), [#129](https://github.com/sectore/timr-tui/pull/129), [#130](https://github.com/sectore/timr-tui/pull/130), [#131](https://github.com/sectore/timr-tui/pull/131), [#132](https://github.com/sectore/timr-tui/pull/132)
- (keybindings) Switch screens by `←` or `→` keys [#127](https://github.com/sectore/timr-tui/pull/127)
- (duration) Inrease `MAX_DURATION` to `9999y 364d 23:59:59.9` [#128](https://github.com/sectore/timr-tui/pull/128)

### Breaking change

- (pomodoro)! New keybindings `ctrl+←` or `ctrl+→` to switch `work`/`pause` [#127](https://github.com/sectore/timr-tui/pull/127)
- (keybindings)! Change keys for `screens` [#126](https://github.com/sectore/timr-tui/pull/126)
- (cli)! Remove `--countdown-target` argument [#121](https://github.com/sectore/timr-tui/pull/121)

### Misc.

- Add `AGENTS.md` [#133](https://github.com/sectore/timr-tui/pull/133)

## v1.5.0 - 2025-10-03

### Features

- (cli) Accept `years` and `days` for `--countdown` argument [#114](https://github.com/sectore/timr-tui/pull/114)
- (cli) New `--countdown-target` argument to parse `countdown` values by given time in the future or past [#112](https://github.com/sectore/timr-tui/pull/112)
- (localtime) Show `date` [#111](https://github.com/sectore/timr-tui/pull/111)
- (edit) Change any value by `10x` up or down [#110](https://github.com/sectore/timr-tui/pull/110)
- (timer/countdown): Support `days` and `years` up to `999y 364d 23:59:59` [#96](https://github.com/sectore/timr-tui/pull/96)

### Fix

- (edit) Auto jump to next possible value while decreasing, but ignoring `zero` values [#109](https://github.com/sectore/timr-tui/pull/109)
- (format) Improve format handling + fix `days` (no zero-padding) [#107](https://github.com/sectore/timr-tui/pull/107)

### Misc.

- (deps) Upgrade dependencies [#113](https://github.com/sectore/timr-tui/pull/113)
- (deps) Rust 1.90.0 [#95](https://github.com/sectore/timr-tui/pull/95)
- (guide) Add contributing guidelines [#94](https://github.com/sectore/timr-tui/pull/94)

## v1.4.0 - 2025-09-02

### Features

- (screen) Local Time [#89](https://github.com/sectore/timr-tui/pull/89), [#90](https://github.com/sectore/timr-tui/pull/90), [#91](https://github.com/sectore/timr-tui/pull/91)

### Misc.

- (deps) Rust 1.89.0 [#87](https://github.com/sectore/timr-tui/pull/87)

## v1.3.1 - 2025-07-03

### Features

- (args) set `content` by given duration [#81](https://github.com/sectore/timr-tui/pull/81)

### Fixes

- (pomodoro) `ctrl+r` resets rounds AND both clocks [#83](https://github.com/sectore/timr-tui/pull/83)
- (pomodoro) reset active clock only [#82](https://github.com/sectore/timr-tui/pull/82)

### Misc.

- (deps) Rust 1.88.0 [#85](https://github.com/sectore/timr-tui/pull/85)

## v1.3.0 - 2025-05-06

### 

- (pomodoro) Count WORK rounds [#75](https://github.com/sectore/timr-tui/pull/75), [6b068bb](https://github.com/sectore/timr-tui/commit/6b068bbd094d9ec1a36b47598fadfc71296d9590)
- (pomodoro/countdown) Change initial value [#79](https://github.com/sectore/timr-tui/pull/79), [aae5c38](https://github.com/sectore/timr-tui/commit/aae5c38cd6a666d5ba418b12fb67879a2146b9a2)

### Changes

- Update keybindings [#76](https://github.com/sectore/timr-tui/pull/76)

### Misc.

- (flake) use alsa-lib-with-plugins [#77](https://github.com/sectore/timr-tui/pull/77)
- (readme) add keybindings + toc [#78](https://github.com/sectore/timr-tui/pull/78)

## v1.2.1 - 2025-04-17

### Fixes

- (countdown) Reset `Mission Elapsed Time (MET)` if `countdown` is set by _cli arguments_ [#71](https://github.com/sectore/timr-tui/pull/71)
- (countdown) Reset `Mission Elapsed Time (MET)` while setting `countdown` by _local time_ [#72](https://github.com/sectore/timr-tui/pull/72)

### Misc.

- (deps) Use latest `Rust 1.86` [#73](https://github.com/sectore/timr-tui/pull/73)
- (cargo) Exclude files for packaging [e7a5a1b](https://github.com/sectore/timr-tui/commit/e7a5a1b2da7a7967f2602a0b92f391ac768ca638)
- (just) `group` commands [#70](https://github.com/sectore/timr-tui/pull/70)

## v1.2.0 - 2025-02-26

### Features

- (notification) Clock animation (blink) by reaching `done` mode (optional) [#65](https://github.com/sectore/timr-tui/pull/65)
- (notification) Native desktop notification (optional, experimental) [#59](https://github.com/sectore/timr-tui/pull/59)
- (notification) Sound notification (optional, experimental, available in local build only) [#62](https://github.com/sectore/timr-tui/pull/62)
- (logging) Add `--log` arg to enable logs [e094d7d](https://github.com/sectore/timr-tui/commit/e094d7d81b99f58f0d3bc50124859a4e1f6dbe4f)

### Misc.

- (refactor) Extend event handling for using a `mpsc` channel to send `AppEvent`'s from anywhere. [#61](https://github.com/sectore/timr-tui/pull/61)
- (extension) Use `set_panic_hook` for better error handling [#67](https://github.com/sectore/timr-tui/pull/67)
- (deps) Use latest `Rust 1.85` and `Rust 2024 Edition`. Refactor `flake` to consider `rust-toolchain.toml` etc. [#68](https://github.com/sectore/timr-tui/pull/68)

## v1.1.0 - 2025-01-22

### Features

- (countdown) Edit countdown by local time [#49](https://github.com/sectore/timr-tui/pull/49)

### Fixes

- (ci) Build statically linked binaries for Linux [#55](https://github.com/sectore/timr-tui/pull/55)
- (ci) Remove magic nix cache action (#57) [#56](https://github.com/sectore/timr-tui/issues/56)

### Misc.

- (deps) Latest Rust 1.84, update deps [#48](https://github.com/sectore/timr-tui/pull/48)

## v1.0.0 - 2025-01-10

Happy `v1.0.0` 🎉

### Features

- (countdown) Mission Elapsed Time ([MET](https://en.wikipedia.org/wiki/Mission_Elapsed_Time)). [#45](https://github.com/sectore/timr-tui/pull/45), [#46](https://github.com/sectore/timr-tui/pull/46)
- (footer) Local time. Optional and with custom formats. [#42](https://github.com/sectore/timr-tui/pull/42), [#43](https://github.com/sectore/timr-tui/pull/43)
- (docs) More installation instructions: Cargo, AUR (Arch Linux) [#41](https://github.com/sectore/timr-tui/pull/41), pre-built release binaries (Linux, macOS, Windows) [#47](https://github.com/sectore/timr-tui/pull/47)

## v0.9.0 - 2025-01-03

Initial version.

### Features

- Add `Pomodoro`, `Timer`, `Countdown`
- Persist application state
- Custom styles for digits
- Toggle deciseconds
- CLI
