Releases: drolosoft/soundinbox
Releases Β· drolosoft/soundinbox
SoundInbox v1.2.8
SoundInbox v1.2.8
Fixed
- Menu bar icon invisible on macOS Tahoe β Detect when macOS disables the icon via "Allow in Menu Bar" (System Settings > Control Center) and guide user to re-enable it (Apple bug FB21015611)
- Refresh button focus ring β Remove unwanted border on the refresh button caused by macOS Tahoe's new focus effect styling
SoundInbox v1.2.7
SoundInbox v1.2.7 β UI Polish
- Crisp provider icons β Gmail and Outlook show sharp vector icons instantly (no blurry favicon flash)
- IMAP provider grid β 4-column layout replaces cramped single row of 11 pills
- Outlook icon β proper branded icon on Connect Outlook screen
- No placeholder flash β provider icons appear clean, no colored square before loading
- Popover stays open β clicking app windows no longer dismisses the popover
- Window centering β all windows center properly on first show, keep position on re-show
515 tests passing. Apple Notarized.
SoundInbox v1.2.6
SoundInbox v1.2.6 β Performance & UX Polish
- Fix: Sent emails no longer trigger alerts (Gmail REST API now queries
in:inboxonly) - Fix: Body preview always shown when alert is expanded (not just body-condition matches)
- Fix: Popover responds to first click immediately (no activation click needed)
- Fix: Alert expand/collapse is instant (removed ~250ms double-tap gesture delay)
- Perf: 14 animations switched from easeInOut to easeOut (snappier interactions)
- Perf: Duplicate filter computations eliminated in popover rendering
- Perf: markAsRead deferred so it doesn't block animations
515 tests passing. Apple Notarized.
SoundInbox v1.2.5
SoundInbox v1.2.5
- Fix: Gmail account connection now works with the approved
gmail.readonlyscope - Scope check updated to accept both
gmail.readonly(new) andmail.google.com(legacy tokens) - Google OAuth verification approved β no more "unverified app" warnings
Apple Notarized.
SoundInbox v1.2.4
SoundInbox v1.2.4 β Match Highlighting & Body Snippets
- Body snippets β When a rule matches an email body, a snippet with context is shown in the popover
- Keyword highlighting β Matched terms highlighted with configurable pastel marker colors
- Field-specific highlighting β Only the matched field (subject or body) gets highlighted
- Pastel marker presets β 6 built-in colors (yellow, green, pink, blue, orange, purple) + custom picker
- Custom rule emoji β Popover shows your chosen rule emoji, not the sound's
- HTML stripping β Large HTML emails cleaned for reliable body matching
- Richer demo alerts β Test alerts include realistic email bodies
514 tests passing. Apple Notarized.
SoundInbox v1.2.3
SoundInbox v1.2.3 β Gmail REST API
- Gmail now uses REST API instead of IMAP β enables
gmail.readonlyscope (CASA compliant) - Faster, more reliable Gmail polling (no IMAP connection overhead)
- Alerts sorted newest first
- Outlook and custom IMAP accounts unchanged
Apple Notarized. Includes all security hardening from v1.2.2.
SoundInbox v1.2.2
SoundInbox v1.2.2 β Security Hardening
- PII encrypted at rest β Match history (sender addresses, email subjects) and account metadata now encrypted with AES-256-GCM, key stored in macOS Keychain
- OAuth logging sanitized β Token response bodies, authorization codes, and callback URLs no longer written to system logs (CWE-532 fix)
- DevConfig compile guard β Debug seed data gated behind
#if DEBUGto prevent accidental enablement in release builds - Transparent migration β Existing unencrypted data automatically re-encrypted on first launch
Apple Notarized. All features from v1.2.1.
SoundInbox v1.2.1
SoundInbox v1.2.1
Apple Notarized β no more "unidentified developer" warnings on first launch.
All features from v1.2.0:
- Inline sound recorder, collapsible Sound Library
- Editable sound/rule emojis, test email account selector
- Gmail scope downgraded to
gmail.readonly - Full i18n across 11 languages
SoundInbox v1.2.0
SoundInbox v1.2.0
New Features
- Inline Sound Recorder β Record custom alert sounds up to 5 seconds, with emoji picker and waveform visualization
- Preferences Header β Branded background with app icon
- Compact Settings β Cleaner layout, descriptions as tooltips
- Collapsible Sound Library β Built-in, Recordings, and Custom sections with Expand/Collapse All
- Editable Sound Names & Emojis β Hover to edit or delete recorded/custom sounds
- Rule Emoji Editor β Set any emoji for an alert rule, independent from the sound
- Test Email Account Selector β Choose which non-Gmail account sends test emails (Settings)
Security & API
- Gmail OAuth scope downgraded to
gmail.readonly(send scope removed) - Gmail send functionality removed β test emails via Outlook or IMAP only
- Production Lemon Squeezy checkout URL
Internationalization
- Full translation coverage across all 11 languages (es, fr, it, pt, ar, bn, hi, ja, ru, zh-Hans)
- License, upgrade, and device management UI fully localized
- 25+ hardcoded English strings extracted to localization keys
Code Quality
- Removed unused TestAlertSection
- Sound resolution unified via
SoundDefinition.resolve(id:) - Emoji persistence tests added
SoundInbox v1.1.2
SoundInbox v1.1.2
New
- Account toggle switches β enable/disable individual accounts with on/off toggles. Free plan enforces one active account; enabling one auto-disables others.
- OAuth auto-reconnect β token revocation detected automatically. One-tap Reconnect button in popover and Accounts tab. macOS notification on first detection.
- Auto-retry β transient failures (5xx, timeouts) retried automatically across all services. Exponential backoff for IMAP fetch failures.
- Blocked sender enforcement β demo alerts skip silenced senders, popover counter excludes blocked entries.
Fixed
- Test isolation β tests no longer write to real UserDefaults (prevented data loss)
- Preferences window always on top (popover closes when Preferences opens)
- Settings tab selected by default when opening Preferences
Improved
- Settings tab redesigned β grouped form layout with gradient icon badges
- 521+ tests passing, 0 failures