Changelog
What's new in each release.
- Fixed: for some Zoom invitations the Join button opened a small Zoom logo image instead of the meeting. Zoom's Outlook add-in puts that logo above the join link in the invitation, and Slapss was picking up the first Zoom address it saw. It now skips images and other page assets and finds the actual join link.
- Snooze now offers 30 minutes and 1 hour on top of 1, 5, 10 and 15 minutes.
- Fixed: the snooze menu on the full-screen alert was cut off at the top of the card, hiding the shorter options.
- Fixed: when two meetings overlap, the menu bar agenda showed only one of them. The other was neither "later" nor "earlier", so it dropped out of the list entirely. Meetings running right now that aren't the highlighted one are listed under Later today.
- Fixed: a reminder you hadn't completed dropped into Earlier today once its time passed, greyed out and drawn as if it were done. It now stays at the top of the list, marked with how long ago it was due, until you complete it. Earlier today is for finished meetings only.
- Every meeting in the agenda that has an online link now has a small Join button on its row, so you can jump into a meeting that is running in parallel, or one that starts later, without expanding it first. Finished meetings don't get one.
- Slapss now speaks Japanese. Contributed by @satotakumi, the first outside contribution since the app went open source.
- The menu bar can now show your next meeting further ahead. Until now it only appeared once the meeting was within 15 minutes, so a meeting 35 minutes away showed nothing but the icon.
- New setting in Preferences, General, Menu bar: "Show the next meeting". Pick Off for just the icon, When it's close to follow your lead-time setting, or Anytime today to keep the next meeting you have left today in view however far off it is.
- Meetings more than an hour away now show their start time instead of a countdown, so you get "Standup · 11:30" rather than a number of minutes that means nothing at that distance.
- If you liked the old behaviour, you keep it. "When it's close" is the default. The one difference is that it now respects your lead-time setting, so a 30 minute heads-up shows meetings 30 minutes out instead of 15.
- Fixed: if you use Slapss with a Microsoft 365 account and haven't given it access to the macOS Calendar app, the menu bar showed your next meeting, but opening it said "Calendar access denied" instead of showing your agenda. Your agenda now appears whenever a Microsoft 365 account is signed in. Access to the macOS Calendar app is optional, and always was.
- Fixed: Microsoft 365 calendars could stop refreshing in the background — while a menu was open, or after macOS put Slapss to sleep. New and changed meetings now arrive on time.
- Slapss no longer asks macOS for read-only access to files you pick yourself. Nothing in the app ever used it. What is left is the sandbox itself, calendar access, and outbound network for Microsoft 365.
- Slapss is now open source. The complete code is published on GitHub under the Apache 2.0 licence, so "your calendar never leaves your Mac" is something you can check rather than something you have to believe. github.com/theshiver/slapss-app
- New Source Code link in Settings > About.
- Fixed: a repeating meeting would stop showing its full-screen alert after you dismissed it once. Every occurrence of a repeating event was treated as the same event, so dismissing one also dismissed all the following ones — while the menu bar countdown kept working normally. Snoozing and hiding from the menu bar were affected the same way, and are fixed too.
- Everything else is unchanged. Same app, same features, still free, still no accounts and no tracking.
- Fixed: Snooze could appear to do nothing on the full-screen alert in macOS 27 beta. The snooze choices now open reliably inside the alert.
- Fixed: Calendars now reappear in Settings without restarting Slapss after you remove and re-add a macOS Calendar account.
- Set your own lead time for the full-screen alert with a simple slider: at meeting start, 30 seconds, or anywhere from 1 to 15 minutes before (Settings > Alert > Show alert). Handy if you need a few extra minutes to walk to the meeting room.
- Busy day? The agenda now scrolls instead of growing past the bottom of your screen. Short days look exactly the same as before.
- The full-screen alert's Join button now follows your color theme, and a small hint shows the keyboard shortcuts that were always there: Return to join, Esc to dismiss.
- The alert now says "Meeting" for meetings and "Reminder" for reminders โ previously everything was labeled "Reminder".
- Setup steps are numbered correctly again when optional steps (like Microsoft 365) aren't shown.
- "Nothing soon" in the popover is now clickable โ it opens the details of that next meeting.
- Settings got clearer: short explanations under the two lead-time options and the "accepted meetings only" filter, and the Calendars tab now offers a fix when calendar access is missing.
- Dates in the popover header now follow your language's natural word order (e.g. "13 Tem Pzt" in Turkish).
- Small polish: bigger click target for completing reminders, and the menu-bar countdown no longer freezes while a menu is open.
- Fixed: the Preferences window sometimes opened behind other windows. It now always comes to the front.
- Themes! Pick between Sunset (the classic slapss look), Ocean, and Forest in Settings or during onboarding.
- New "Presenting Now" toggle pauses the full-screen alert while you're screen sharing or presenting, so meetings never take over your screen mid-demo.
- Faster access to meetings: a Join button right in the notification banner, Return/Enter to join or dismiss the full-screen alert, and a new "Open in Calendar" button on agenda rows.
- Plus a round of UX, accessibility, and localization improvements throughout the app, and a new menu bar icon.
- New setting to only show the full-screen alert for meetings you've accepted (Settings > Alert). Tentative and declined meetings still appear in the agenda but won't trigger the overlay. Off by default.
- Alerts for meetings whose start was missed by more than 10 minutes (for example while your Mac was asleep overnight) no longer pile up when you reopen the lid.
- Fixed high background CPU usage (~40%) when the popover is closed. Animations now pause when the app is idle.
- Reduced Motion: all animations (blobs, floating dots, pulsing dots, background mesh) respect the macOS Accessibility > Reduce Motion setting.
- Full-screen alert can now be shown up to 1 minute before a meeting starts (Settings > Alert > Show alert).
- About section now shows the app website and support email instead of the developer's personal contact.
- Version number in About no longer shows the build number.
- Welcome tour: language selection is now the first step, so the rest of the setup runs in your language.
- Welcome tour: lead-time picker now includes a 1-minute option.
- Reminders now trigger the full-screen overlay alert at their due time
- Overlay shows a Complete button instead of Join for reminders
- Complete reminders directly from the overlay or from the agenda in the popover by tapping the circle icon next to any reminder
- New setting to turn the reminder overlay on or off (Settings, General, Alerts, default on)
- Multi-language support: English, Turkish, Spanish, German, Italian, French
- Language picker in Settings, General, Language
- OS language auto-detected on first launch
- All in-app text switches instantly without a restart
- Agenda rows are now expandable. Tap any row to reveal full time range, location, attendees, and a join button
- Show alert 0, 15, or 30 seconds before a meeting starts (Settings, General, Alert)
- Bug fix: mirrored text and icons in the popover hero card on some systems
- Bug fix: CPU usage growing gradually over multi-day uptime (concurrent EventKit tasks accumulating)
- Bug fix: calendar selection was being ignored after restart
- Popover hero card now shows the same meeting as the menu bar
- App icon: orange backdrop removed from popover header and welcome screen
- New setting: optional next-meeting text in the menu bar
- Google Meet: per-calendar Google account selector
- New setting: show full-screen alert on all displays simultaneously
- Bug fix: full-screen alert card was pushed into the corner on notched displays
- ESC key now dismisses the full-screen alert
- App icon updated
- App Store metadata updated
- Bug fix: full-screen alert sometimes never fired while the app was running
- Bug fix: mirrored text in the popover hero card
- Menu bar status item with next meeting title and countdown
- Full-screen alert at meeting start (Join, Snooze, Dismiss)
- EventKit (macOS Calendar) and Microsoft 365 / Exchange calendar sources
- Onboarding flow and Settings window