Changelog

Version 1.8.02026-11-03T15:01:19.891

# 7-Day ICS Calendar — Version 1.8.0

### New Features
- **On-Watch Settings:** Long-press the Select button to access settings directly from your Pebble without using your phone.
- **Light & Dark Themes:** Choose Light, Dark, or Auto mode, which switches based on the time of day.
- **Past Event Filtering:** Show or hide completed events to keep your calendar focused on what's coming next.
- **Font Size Controls:** Adjust between System, Small, Medium, and Large text sizes directly from the watch.
- **Optional Status Bar:** Display the current time while viewing event details.
- **Last Sync Information:** Check when your calendar was last successfully updated.
- **System Time Format:** Automatically follow your Pebble's 12/24-hour clock preference, or override it manually.

### Improvements
- **More Reliable Synchronization:** Added transaction IDs, per-packet acknowledgements, checksum verification, and automatic retries to prevent incomplete calendar updates.
- **Smarter Caching:** Reduced unnecessary network requests and improved storage of event details on the phone.
- **Improved Offline Reliability:** Preserves the last successfully synchronized calendar if a new update fails.
- **Better Error Handling:** Added clearer synchronization feedback and timeout handling when the phone is unavailable.
- **Improved Event Navigation:** Fixed event selection when past events are hidden and improved restoration of the previously selected event.
- **Safer Event Details:** Prevents delayed responses from displaying information for the wrong event.
- **Consistent Appearance:** Improved contrast and readability across color and monochrome Pebble displays.
- **Persistent Preferences:** Watch settings are saved across app restarts and synchronized with the phone when connected.

### Compatibility
Supports Pebble platforms Aplite, Basalt, Chalk, Diorite, and Emery.

### Summary
Version 1.8.0 restores convenient on-watch customization and significantly improves synchronization reliability, making 7-Day ICS Calendar more flexible, readable, and dependable.

---

**Note:** Extended event details still require a phone connection. Previously synchronized event titles, times, and calendar colors remain accessible offline.

Version 1.7.02026-11-02T18:14:48.727

# 7-Day ICS Calendar — Version 1.7.0

### What's New
- **Multiple Calendars:** Combine up to three ICS calendar feeds into one chronological view.
- **Calendar Colors:** Choose from six colors to distinguish events from different calendars.
- **Expanded Event Details:** View event locations, descriptions, organizers, meeting links, categories, and status information when available.
- **Adjustable Font Sizes:** Choose Small, Medium, Large, or System Default in the app settings.
- **Pebble App Glance:** See your next upcoming event directly in the app launcher on supported devices.

### Improvements
- **Redesigned Event Details:** Larger, more readable text with automatic layout adjustment and scrolling for longer descriptions and addresses.
- **Improved PebbleOS Integration:** Refined menu highlighting, native navigation, and screen layouts for round and rectangular watches.
- **International Character Support:** Fixed UTF-8 handling for accented characters and other Unicode text.
- **Faster Calendar Processing:** Updated compatibility with the optimized ICS proxy, improving synchronization of calendars containing recurring events.
- **More Reliable Synchronization:** Improved Bluetooth transfers, error handling, and prevention of duplicate synchronization requests.
- **Offline Calendar Access:** Previously synchronized event titles and times remain available without a phone connection.
- **Remembered Position:** Restores your previously selected event when reopening the calendar.
- **Improved Stability:** Added event validation, safer memory handling, and improved compatibility with older Pebble models.

### Compatibility
Supports Aplite, Basalt, Chalk, Diorite, and Emery platforms.

**Note:** Extended event details require a phone connection. App Glance availability depends on the Pebble platform.

---

**Version 1.7.0** brings multiple calendars, richer event information, improved readability, and better PebbleOS integration while keeping the app lightweight and simple to use.

Version 1.52026-11-02T02:00:39.87

7-Day ICS Calendar — Version 1.5.0

Release Date: November 1, 2026

New Features

- Multiple Calendars: Added support for up to three ICS calendar feeds, combining events into one chronological 7-day view.
- Calendar Colors: Added six selectable colors (Blue, Red, Green, Yellow, Orange, and Purple) to distinguish events from different calendars.
- Expanded Device Compatibility: Added support for older Pebble models, including the original Pebble, Pebble Steel, Pebble Time, Pebble Time Steel, Pebble Time Round, and Pebble 2, alongside Pebble Time 2.

Improvements

- International Character Support: Fixed UTF-8 encoding for accented characters, including French characters such as é, è, and ê, as well as other Unicode text.
- More Reliable Synchronization: Improved Bluetooth data transfers, error detection, and handling of interrupted or overlapping synchronization requests.
- Improved Calendar Storage: Added validation and versioning for cached events to prevent corrupted data from causing problems.
- Better Empty Calendar Handling: Displays an appropriate message when no upcoming events are available.
- Daylight Saving Time Fix: Improved date grouping across daylight-saving time transitions.
- Display Improvements: Improved event text layout and added monochrome-friendly calendar indicators for older Pebble watches.
- Performance and Stability: Reduced Bluetooth packet sizes, added memory safety checks, and improved compatibility with memory-constrained devices.

Technical Updates

- Added automated regression tests for Unicode text and multiple-calendar synchronization.
- Improved handling of network failures, invalid calendar responses, and event limits.
- Updated event data structures to support calendar color identification.

Supported Platforms: Aplite, Basalt, Chalk, Diorite, and Emery.

Note: Flint (Pebble 2 Duo) and Gabbro (Pebble Round 2) support remains pending due to Pebble Clay dependency compatibility.

Version 1.4.12026-07-02T14:22:48.077

Fixed issue were selecting item force closed app

Version 1.42026-06-24T19:12:18.472

✨ 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.

Version 1.32026-06-24T18:06:38.896

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.

Version 1.2.52026-05-31T12:37:04.268

Fixed the math for people east of UTC that was causing a 1 hour and 1 day shift.

Version 1.2.32026-05-30T12:20:54.383

Fixed bug where every event on that day for every year was displayed.

Version 1.2.22026-05-30T12:03:12.242

✨ 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.

Version 1.2.12026-05-30T00:38:37.152

Added error handling

Version 1.22026-05-25T15:13:06.912

Added notification that data is being synced.
Fixed issue where current events were being dropped because current time was after start time.

Version 1.12026-05-08T04:46:03.16

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.

Version 1.02026-05-08T04:04:54.38

No release notes available