Skip to content

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 07:49
· 15 commits to main since this release

Crona v1.7.0

Crona v1.7.0 is a foundation release in preparation for the upcoming Mac companion. It expands the daemon-owned IPC contract for native alert delivery, issue lifecycle discovery, and richer timer control while keeping Crona local-first and preserving daemon authority over product state and workflows.

Highlights

  • Native companion clients can claim notification and sound delivery over a capability-aware stream, acknowledge each channel independently, and rely on the daemon's existing local delivery path as a fallback.
  • Clients can query the valid next statuses for an issue, including why transitions are blocked during an active focus session.
  • Countdown timers are now explicit across requests, runtime state, events, and the TUI, including safe duration-only extension.
  • Scheduled reminders can prompt for either a daily check-in or planning the day and stop firing after the relevant action is complete.
  • A new architecture audit documents the intended boundaries and phased integration path for the upcoming Mac companion.

Added

  • Companion-facing alerts.delivery.subscribe and alerts.delivery.ack IPC methods.
  • Shared capability, delivery, action, and acknowledgement types for native notification and sound handling.
  • Companion delivery availability and activity fields in alert status.
  • Daemon-authoritative issue.status_transitions discovery.
  • Explicit pomodoro and countdown hard-limit kinds.
  • Duration-only countdown extension support.
  • alert.delivery, timer.extended, and session.ended events.
  • Daily plan reminders with completion-aware suppression.
  • Active timer Ends At previews.
  • Expanded daemon, shared-contract, runtime, dialog, dispatch, and session-view test coverage.
  • Consistent --version flags across the CLI, daemon, and TUI binaries for package-manager and installation verification.

Changed

  • Companion delivery is preferred only for capabilities claimed by a connected client; unaccepted or timed-out notification and sound work falls back to the existing local backend.
  • Countdown starts reject pomodoro-only cadence configuration, and countdown extensions accept additional duration rather than sessions or cadence changes.
  • Ending a timer requires a commit message and emits a dedicated lifecycle event.
  • Countdown completion and extension flows now use timer-specific TUI language.
  • Reminder configuration and documentation now cover check-in and plan-the-day prompts.
  • issue.clear_todo now uses the numeric issue ID request shape documented by the socket API.

Fixed

  • Issue status choices stay aligned with the daemon's lifecycle rules and are blocked while the selected issue owns an active session.
  • Countdown identity is preserved through runtime persistence, hard-limit expiry, event delivery, and TUI refreshes.
  • Native alert delivery can disconnect, partially acknowledge, or time out without losing the daemon's fallback delivery path.
  • Active-session deadline labels are hidden when a timer is paused, ready, expired, or has no meaningful deadline.
  • The isolated Homebrew release check now runs against its test prefix and current Homebrew library layout using a local offline tap repository.
  • Generated beta formulas keep the CronaBeta class required by Homebrew.

Compatibility

  • The local IPC protocol version remains 1.0; this release adds backward-compatible methods and fields in preparation for the Mac companion.
  • There is no storage migration required for this release.