v1.7.0
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.subscribeandalerts.delivery.ackIPC 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_transitionsdiscovery. - Explicit
pomodoroandcountdownhard-limit kinds. - Duration-only countdown extension support.
alert.delivery,timer.extended, andsession.endedevents.- Daily plan reminders with completion-aware suppression.
- Active timer
Ends Atpreviews. - Expanded daemon, shared-contract, runtime, dialog, dispatch, and session-view test coverage.
- Consistent
--versionflags 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_todonow 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
CronaBetaclass 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.