Releases: nkrebs13/PomoDaddy
v2026.3.5
First signed + notarized release.
- Signed: Developer ID Application (NATHANIEL KREBS)
- Notarized: Apple notary service, submission c801b1c5-d1d6-430f-a7b5-6db0b1ef3189
- Stapled:
spctlreportssource=Notarized Developer ID
No more "unidentified developer" Gatekeeper warnings.
Install
brew install --cask nkrebs13/tap/pomodaddyOr download the DMG below, open it, and drag PomoDaddy to Applications.
v2026.3.4
PomoDaddy 2026.3.4
See CHANGELOG.md for details.
Install
Homebrew:
brew tap nkrebs13/tap
brew install --cask pomodaddyManual: Download the DMG below, open it, and drag PomoDaddy to Applications.
On first launch, macOS may ask you to allow the app. Right-click > Open > Open.
v2026.3.2 — Floating Window Fix
Bug Fix
Fixed floating window not showing when toggled or on app launch.
Root cause: Two bugs:
isFloatingWindowVisiblesetter only updated the setting inSettingsManagerbut never calledfloatingWindowCoordinator.show()/hide(), so toggling from the menu or settings popover had no effect on the actual window.restoreState()was never called on app launch (only on system wake), so the floating window wouldn't appear even if enabled in settings.
Download
Download PomoDaddy.zip, unzip, and drag to /Applications.
v2026.3.1 — Hardening Release
What's New
Comprehensive hardening pass: protocol-based dependency injection, expanded test coverage, code quality improvements, and Claude Code tooling.
Protocol-Based Dependency Injection
- Extracted 8 protocols for all services and sub-coordinators
- Created mock implementations for every protocol
AppCoordinatorandPomodoroStateMachineaccept protocol types via testable init
Code Quality
- Extracted
transitionAfterBreak()to eliminate duplicate break handling - Removed 5 stats passthrough methods from AppCoordinator
- Split 684-line SettingsView into 5 focused component files
- Fixed hardcoded version string (now reads from bundle)
- Fixed preset comparison to use model values instead of hardcoded duplicates
Testing
- Rewrote AppCoordinatorTests with protocol-based mocks
- Added PomodoroCycleTests integration suite (full auto-start cycles)
- Added FloatingWindowCoordinatorTests
- Fixed test isolation with per-test
StateMachinePersistence - Expanded PomodoroStateMachine edge case coverage
Tooling
- Enabled SwiftLint for test files with test-appropriate overrides
- Unified CI runner to macOS-15
- Added
.claude/settings.jsonwith pre-approved commands - Added
.claude/rules/for Core, Services, and Tests modules - Updated CLAUDE.md with development commands and architecture patterns
Download
Download PomoDaddy.zip, unzip, and drag to /Applications.
v2026.3.3 — App Icon, UX Polish & Bug Fixes
What's New
App Icon
- AI-generated playful tomato icon in all 10 macOS sizes (16px–1024px)
UX Polish
- Floating window close button — hover to reveal, click to dismiss (persists across launches)
- First-run onboarding tooltip — shows helpful tips on first launch, then never again
Bug Fixes
- SessionRecorder cross-actor SwiftData bug —
recordBatchnow accepts value tuples instead of model objects to avoid cross-context issues; added DailyStats cache for unsaved objects - Test flakiness — Fixed 3 tests that failed near midnight by using noon-based dates
README
- Added app screenshots (popover, floating window, settings)
- Added CI badge and Homebrew install instructions
Download
Download PomoDaddy.zip, unzip, and drag to /Applications.
On first launch: right-click → Open → click Open, or run:
xattr -cr /Applications/PomoDaddy.appv2026.3.0
Install
- Download PomoDaddy.zip below
- Unzip and drag PomoDaddy.app to
/Applications - On first launch, macOS may block the app. To open it:
- Right-click the app > Open > click Open in the dialog
- Or run:
xattr -cr /Applications/PomoDaddy.app
What's New
Initial public release of PomoDaddy — a playful macOS menu bar Pomodoro timer with stats tracking, floating window, and celebration animations.