Unfocus v0.4.0-alpha.1
Pre-release
Pre-release
Immutable
release. Only release title and notes can be modified.
These early builds are not code-signed or notarized. Verify downloads with SHA256SUMS and the GitHub build-provenance attestations.
The release also includes a CycloneDX SBOM and the bundled third-party notices.
- Linux: X11 is qualified. APT archive metadata is signed; application binaries are unsigned. Wayland is unsupported.
- macOS: Preview and unnotarized. Multi-monitor behavior is not yet qualified.
- Windows: Idle and fullscreen probes are implemented, but interactive multi-monitor qualification is pending.
Changes
Supersedes the unpublished v0.3.1-alpha.1 draft. This public alpha includes all of that draft’s dashboard, accessibility, and release-integrity improvements.
Added
- Added a full multi-platform install guide covering package
selection, checksum and provenance verification, first-run defaults, local
data and uninstall paths, build-from-source pins, and platform troubleshooting. - Added an elapsed-progress indicator to the consumer dashboard. It appears only
during an active work interval and stays hidden while paused, during a break
or preview, and whenever reminder status is unavailable. - Added a time axis to the Your day activity strip. Faint gridlines mark
every fourth hour behind the bars, with the hour labeled beneath in the
system clock format and the right edge markednow, so a bar can be traced
to the time of day it covers. - Added a Day starts setting to the Your day summary. The chosen hour is
marked with a stronger rule and a brighter label on the activity strip's time
axis, so the day can be read from when it actually begins. The setting is kept
on this device and never affects the break timer. - Added a public APT install path for Debian and Ubuntu alphas via
abhiksark/unfocus-apt (apt install unfocus). The archive metadata at apt.abhik.ai is
signed; application binaries remain unsigned. - Added slow, stepped drift and twinkle to the break scene's stars, with a
10-18 second cadence and a dawn fade. Reduced-motion preferences stop the
motion entirely.
Changed
- Rebuilt the consumer dashboard as a quieter single column with plain sections,
shared design tokens, system body fonts, sentence-case labels, and WCAG AA
contrast at rendered text sizes. The break screen keeps its layout and uses
the shared display font token. - Described Unfocus as both a break app and a local reflection surface in the
README and package metadata. Your day and break outcomes remain
observe-only. - Clarified Ubuntu as the primary qualified Linux install path: README and
docs/install.md put the signed APT repo
(apt.abhik.ai) first, separate package trust from
macOS/Windows application code signing, and document APT upgrade and privacy
notes for that path. - Updated the README consumer dashboard screenshot to the single-column layout
with the Your day time axis and Day starts selector. Break-screen media
remains unchanged. - Updated the frontend toolchain to Vite 8.2.1, svelte-check 4.7.5, the Svelte
Vite plugin 7.3.0, and Node type definitions 26.2.0, and regenerated the
dependency license notices.
Fixed
- Fixed SBOM generation when a dependency update leaves two copies of a package
in the lockfile. Each dependency now resolves the way the runtime would, so a
nested copy serves its own owner while everything else sees the root copy. - Relayed Homebrew release dispatch through the default branch so the
environment-restricted tap automation can receive alpha publication events.
Security
- Overrode the transitive
nanoiddependency to 3.3.18 to remediate its
advisory, and regenerated the lockfile and third-party notices.