⨠Major UI & UX Features
AppGlance Integration: See your next upcoming meeting directly on the Pebble system launcher! You no longer need to open the app to know where you need to be. (Available on Pebble OS 4.0+)
New Settings Menu: Long-pressing the main menu now opens a brand-new native settings window. You can instantly force a sync or customize the app without touching your phone.
Dark Mode & Light Mode: Fully supported, system-wide theming. Switch to Dark Mode for a sleek, battery-friendly look with perfectly calculated high-contrast highlights.
Dynamic History Filtering: Choose how you view your day. Use the settings menu to toggle between "Upcoming Only" (instantly hiding events the minute they end) or "Show Past Events" to see everything you've accomplished today.
Large Font Mode: Need maximum readability at a glance? Toggle "Large Fonts" to significantly boost the size of all event titles on the main menu.
Scrollable Detail View: We added a native Pebble ScrollLayer and StatusBarLayer to the event detail screen. No matter how long your event title or description is, it will no longer get cut off, and you can always check the current time while reading.
ā Universal Hardware Compatibility
Cross-Platform: The app should now run on all Pebble hardware: Aplite, Basalt, Chalk, Diorite, and Emery.
Pebble Time Round Support: Added dynamic layout margins specifically for the circular screen, ensuring text curves beautifully without getting chopped off at the edges.
Smart Monochrome Mapping: The UI dynamically shifts its palette on the Pebble Classic and Pebble 2 to guarantee perfect black-and-white readability, while reserving Cyan and Duke Blue exclusively for color screens.
š Under the Hood & Bug Fixes
Real-Time Status Toasts: Added a new background notification pipeline. The app now explicitly tells you what it is doing (e.g., "Fetching from Google...", "Fresh! Next sync in 14m", "All clear!").
Squashed Detail View Crash: Fixed a critical C-pointer memory bug that caused the watch to freeze and crash when opening an event detail window immediately after a sync.
Adaptive Contrast: Fixed a bug where highlighted rows in Dark Mode or Light Mode became unreadable. The UI now intelligently swaps background colors to Dark Gray or Cyan based on your active theme.
Feature Gating: Added C-compiler guards to ensure that older watches (like the original Pebble Classic) safely ignore OS 4.0 features, preventing install errors.
Provides quick notification of what is happening with syncing on start.
Old data should drop off so you are not looking at past events while waiting on new sync.
Fixed the math for people east of UTC that was causing a 1 hour and 1 day shift.
Fixed bug where every event on that day for every year was displayed.
⨠New Features & UI Enhancements
Manual Force-Sync: Users can now long-press the Select (middle) button on any event to bypass the cache timer and instantly fetch fresh data from Google.
"Toast" Notifications: Added a sleek, non-intrusive status bar at the bottom of the screen to provide real-time feedback (e.g., "Syncing data...", "Network Error", "Bad URL?").
Smart Error Handling: The app no longer hangs on "Loading..." if a URL is incorrect or the network drops. It gracefully displays the exact point of failure directly on the watch face.
Visual Polish: Restored the native Pebble Cyan highlighting for selected rows and ensured the Detail View properly wraps and displays full event titles without cutting them off.
š Critical Bug Fixes
The "Ghost Event" Fix: Eliminated the race condition where the watch would briefly display "Wed Dec 31" (Epoch 0) during a sync. The UI now remains perfectly stable until the new data is 100% ready.
The 256-Byte Persistence Wall: Solved a hardware limitation where only the first 4 events were saved when the app closed. Implemented "Data Sharding" to seamlessly split the calendar across multiple memory blocks, ensuring all events survive a reboot.
Double-Free Crash Resolved: Restructured the C memory management and .unload handlers so the app no longer faults or crashes when backing out of menus or closing the app mid-sync.
Ongoing Events Restored: Fixed a server-side logic flaw where meetings currently in progress were dropped from the list. The app now accurately tracks events by their end time rather than their start time.
āļø Under the Hood (Performance & Battery)
Battery-Saving Cache: The JavaScript bridge now acts as a strict gatekeeper, only waking up the phone's Bluetooth radio to poll Google if the local data is older than 30 minutes (unless manually overridden).
Double-Buffered Memory: The watch now downloads incoming Bluetooth chunks into a hidden background buffer. The main screen continues to display the old data flawlessly until the final byte of the new sync arrives, allowing for "seamless" swapping.
"Help Signal" Boot Sequence: If the watch's internal memory is completely empty on launch, it instantly pings the phone with an emergency request to bypass all timers and fetch data immediately.
Industrial-Strength iCal Parser: Completely rewrote the Google Apps Script backend to handle massive calendar files (up to 1MB+). It now features:
RRULE Fast-Forwarding: Safely processes recurring events (like weekly meetings) even if their original start date was 5 years ago.
Line-Unfolding: Properly merges long, wrapped descriptions that normally break naive parsers.
European DST Support: Dynamically calculates Daylight Saving Time offsets for complex timezones (like Europe/Paris) to ensure the watch displays the exact local time.
Added notification that data is being synced.
Fixed issue where current events were being dropped because current time was after start time.
Fixes an issue where only the first 4 events were saved and all future were dumped causing a refresh and delay upon entering the app. It should remember up to 20 events and only update every 30min.
No release notes available