Skip to content

Releases: cjdduarte/pomodoroz

v26.7.1

Choose a tag to compare

@github-actions github-actions released this 02 Jul 20:43

Fixed

  • Audit hardening protects corrupted local state — malformed state or statistics storage is now detected distinctly from missing data and preserved under a backup key before defaults can replace it.
  • Tauri JSON import/export commands are stricter — native file commands now reject final file symlinks, retain JSON/size guardrails, and bound renderer-originated native payloads.
  • Release automation now avoids partial updater feeds — version sync includes the local Cargo lock package version, PowerShell release validation matches the Unix order, and latest.json generation requires both active updater platforms.
  • Timer/task audit regressions were addressed — special breaks trigger within their configured window once per day, and automatic daily color cleanup no longer pollutes task undo history.

Changed

  • CI and operational docs were aligned with audit findings — Rust CI gates now better match local preflight expectations, release docs no longer require a custom GH_TOKEN secret, and version/roadmap/handoff references were refreshed.
  • Project dependencies were refreshed — pnpm, JS tooling/runtime packages, Rust Tauri/log crates, and cargo-audit transitives were updated without intentional behavior changes; remaining quick-xml RustSec advisories are temporarily ignored while blocked by upstream Tauri/plist constraints.

v26.6.3

Choose a tag to compare

@github-actions github-actions released this 16 Jun 13:45

Fixed

  • Release uploads now use the GitHub Actions token — the release workflow no longer depends on the custom GH_TOKEN secret for GitHub Release uploads, preventing Windows asset upload failures with HTTP 401: Bad credentials when that secret is expired or revoked.

v26.6.2

Choose a tag to compare

@cjdduarte cjdduarte released this 16 Jun 13:19

Added

  • Development script contract was standardizedscripts/dev.sh now exposes the setup, up, check, build, update, status, and menu verbs, while the new scripts/dev-full.sh owns the rich local validation menu.
  • Version tracking documentation was addeddocs/VERSIONS.md records the local runtime, app, and dependency version policy for future update audits.

Changed

  • Legacy validation entry point is now a transition aliasscripts/validar-tudo.sh delegates to scripts/dev-full.sh in non-interactive mode so existing callers keep working while documentation moves to the new script names.
  • Release and local tooling references now use the new validation script names — release, update-check, uninstall, contributor, and agent documentation now point to dev-full.sh/dev.sh where appropriate.
  • Project dependencies were refreshed — pnpm, JS tooling/runtime packages, CI Corepack pins, and the Rust log crate were updated without intentional behavior changes.

v26.6.1

Choose a tag to compare

@cjdduarte cjdduarte released this 01 Jun 23:36

Added

  • CI now audits Rust dependencies for advisories — a new tauri-rust-audit job runs cargo audit --deny warnings, failing on any new vulnerability or unmaintained/unsound advisory; a src-tauri/.cargo/audit.toml ignore-list silences the pre-existing GTK3/transitive warnings that ship with Tauri.
  • Rust backend has its first unit testswindow_bridge.rs now covers the .json import/export extension guard (case-insensitive, rejecting other extensions), the 5 MiB import size limit, and the window-dimension constants; the tauri-rust-check job runs cargo test.
  • Standalone Rust update-check scriptsscripts/check_rust.sh (root-deps logic from check-updates.sh) and scripts/check_rust_2.sh (bash port of the PowerShell checker, scoped to src-tauri).

Changed

  • Rust dependencies refreshed — the global-shortcut plugin and transitive crate pins were updated without intentional behavior changes (verified with cargo fmt/clippy/check/audit and a runtime smoke test).
  • Toolchain pins refreshed — the pnpm pin was bumped across workflows and packageManager, and dev/runtime tooling pins were refreshed.

v26.5.13

Choose a tag to compare

@cjdduarte cjdduarte released this 25 May 14:41

Changed

  • Task grid priority view now has three modes — the priority toolbar button now cycles through normal grid order, prioritized-first layout, and prioritized-only filtering while keeping the grouped/ungrouped control independent; the filtered mode uses the same yellow star color as priority cards with a light outline for contrast.
  • Task grid storage migration is now cleaned up — the legacy tasks-grid-priority-filter value is removed after migrating to the new tasks-grid-priority-display key.

v26.5.12

Choose a tag to compare

@cjdduarte cjdduarte released this 22 May 11:05

Changed

  • Libraries were updated — project library pins were refreshed without intentional behavior changes.

Fixed

  • Statistics milestone badges align with their metric columns — milestone chips in the progress overview now use the same two-column rhythm as the progress metric cards and center their label text within each rounded badge.

v26.5.11

Choose a tag to compare

@cjdduarte cjdduarte released this 18 May 17:54

Changed

  • Task grid columns can be set to four — the shared grid columns selector now includes a 4 option for both normal and compact task grids.
  • Task grid cards read better in dense layouts — list names now render as compact labels with stronger contrast, task text keeps normal body text styling, and cards expose the full list/task text in their tooltip.
  • Dead grid hint text and renderer debug logs were cleaned up — an unused compact grid hint translation and a committed renderer console log were removed, and the log filename is now ignored.
  • Task lists can be reordered by priority — each List view action menu can move starred tasks to the top of that list while leaving lists without starred tasks unchanged.
  • Task list actions no longer show the legacy priority-list shortcut — the obsolete list-level action was removed from the List view actions menu, unused option styles were removed, and the Timer task picker no longer uses priority-list wording.
  • Rust update checks ignore invalid compatibility placeholdersscripts/check-updates.sh now treats cargo outdated compatibility values such as --- as unavailable, preventing them from being offered as Rust update targets.
  • Tooling dependencies were refreshed — project tooling pins were updated without intentional behavior changes.

v26.5.10

Choose a tag to compare

@cjdduarte cjdduarte released this 18 May 13:54

Changed

  • Task grid Auto columns use a shared minimum card width — normal and compact grids now use the same 11rem Auto column threshold and horizontal content padding, reducing layout differences between the two views.
  • Libraries were updated — project library pins were refreshed without intentional behavior changes.

v26.5.9

Choose a tag to compare

@cjdduarte cjdduarte released this 15 May 13:05

Fixed

  • Task grid columns control stays right-aligned on narrow layouts — the grid toolbar now keeps the columns selector aligned to the right edge instead of placing it beside the left toolbar actions.
  • Task grid reset action is ordered after draw and grouping — the reset-colors button now appears as the third toolbar icon instead of the first.
  • Statistics opened from compact mode return to compact Timer — returning from the report to the Timer now restores compact mode instead of leaving the app in the normal layout.
  • Task completion reducers now handle missing card IDs consistently — the done and not-done reducers now share the same no-op behavior when a card ID is absent.

v26.5.8

Choose a tag to compare

@cjdduarte cjdduarte released this 14 May 10:09

Added

  • Task grid priorities — task cards can now be marked as priorities from the grid, pending priorities appear in a dedicated top section in both normal and compact grids, the grid toolbar can switch to prioritized-only mode, and task import/export preserves the new priority flag while remaining compatible with older task files.
  • Priority cards keep stable sizing while grouping changes — toggling the grid group mode no longer changes the size of cards inside the Priorities section, while the remaining task groups still follow the selected grouping layout.
  • Priority cards are visually separated from the rest of the grid — when pending priorities are shown in the ungrouped grid, a divider now separates the priority section from the remaining cards.
  • Draw can be limited to prioritized tasks — Settings now includes a Draw only prioritized tasks option below the grid Draw button toggle; when enabled in all-task mode, Draw uses only prioritized eligible cards and falls back to the normal draw pool when no prioritized card is available. The visual prioritized-only filter keeps Draw limited to the visible grid pool.
  • Task priorities can be toggled from List view — task cards in the List view now expose the same priority star near the drag handle, away from edit/delete actions, and dragging a prioritized task between lists preserves the priority flag.

Changed

  • Dependencies were refreshed — selected JS tooling pins and transitive Rust dependency pins were updated, including Rust updates that resolve current cargo audit vulnerability errors, without intentional behavior changes.

Fixed

  • Version and release dry-runs no longer prompt for a versionscripts/version.sh --dry-run and scripts/release.sh --dry-run now use the suggested version automatically when no version is provided.
  • Cargo update checks find user-installed tools consistentlyscripts/check-updates.sh now adds $CARGO_HOME/bin or ~/.cargo/bin to its local PATH before checking for cargo-audit and cargo-outdated.
  • Compact focus-extension prompt keeps its expanded height while task controls are clicked — when Continue focusing? is visible in compact mode, task footer panel controls are disabled so the grid/actions/dropdown cannot collapse the prompt-sized window.
  • Development validation aborts when the local install is already runningscripts/validar-tudo.sh now stops before opening the dev runtime or local release binary if the locally installed Pomodoroz binary is open, preventing the installed window from being mistaken for the test runtime.