Release notes

Changelog

A concise history of ShiftSync app releases, focused on notable features, compatibility changes, and important fixes.

June 11, 2026

v6.2.0 - Roster Context Improvements

Calendar and roster output now provides better unit context for edge-case assignments while keeping generated descriptions concise.

  • Adds relevant roster context to eligible placeholder and float-style events when enough directory information is available.
  • Improves Medic crew role and seat labeling across calendar events, roster descriptions, and API-backed views.
  • Cleans up empty or noisy roster sections so event descriptions stay focused on useful working-crew details.

June 9, 2026

v6.1.0 - Daily Roster Subscriber Support

Subscriber calendars can now support daily roster-focused access for cases that do not map to a normal assigned-shift feed.

  • Adds daily roster calendar support for eligible subscriber workflows.
  • Keeps private and shareable calendar behaviors clearly separated for roster-only subscriptions.
  • Improves subscriber calendar refresh and account-portal handling around roster-only access.

June 8, 2026

v6.0.0 - Calendar Sharing and Roster Presentation

Shareable calendars, roster details, and event titles have been refreshed for clearer, more consistent subscriber-facing output.

  • Adds a dedicated shareable-calendar landing experience and searchable release history.
  • Improves title, description, and configured display-name handling across calendar outputs.
  • Refines roster assignment presentation and fixes several label consistency issues.

June 5, 2026

v5.3.0 - Kelly Day Event Color Overrides

Kelly Day events can now use their own color rules across generated feeds and subscriber linked calendars.

  • Added Kelly Day color settings for ICS, Google Calendar, Microsoft Graph, and CalDAV.
  • Identifies Kelly Day events separately so they are not colored like normal shifts.

June 5, 2026

v5.2.0 - Traded Shift Tracking

ESOSuite trade data is now reflected in calendar titles, private event details, and API payloads.

  • Detects regular and Kelly Day worked trades and labels calendar titles with (Trade).
  • Adds private trade descriptions while keeping shareable calendar details stripped down.
  • Adds trade metadata to API responses plus optional trade-specific color overrides.

June 5, 2026

v5.1.0 - Station Short IDs and Queued Provider Sync

Station display names are more configurable, and newly linked provider calendars can populate sooner after setup.

  • Adds optional station short IDs in taxonomy CSV files and title templates.
  • Includes station short IDs in API payloads when configured.
  • Adds faster first-sync behavior for newly connected calendar destinations.

June 5, 2026

v5.0.0 - ESOSuite Scheduling API Sync

The app moves to the ESOSuite Scheduling API for schedule and employee data.

  • Replaces the previous sync approach with API-backed schedule and employee data.
  • Carries daily roster calendars forward into the API-backed sync model.
  • Breaking change: deployments now require updated ESOSuite connection settings.

June 5, 2026

v4.3.0 - Daily Roster Calendars

Targeted private calendars can now publish one all-day roster summary per date instead of individual shift events.

  • Adds daily roster mode for private ICS and linked provider calendars.
  • Groups working employees by station and keeps holiday and payday events in place.
  • Adds daily-roster color controls while leaving shareable feeds unchanged.

June 4, 2026

v4.2.0 - Recurring Payday Events

Private calendars can include recurring payday reminders without exposing them in shareable feeds.

  • Adds weekly, monthly, twice-monthly, and semi-monthly payday recurrence options.
  • Emits payday events as all-day free time without reminders.
  • Adds payday color controls for ICS, Google, Microsoft Graph, and CalDAV.

June 3, 2026

v4.1.0 - Data Backups

Deployments gain optional backup support for application data.

  • Adds daemon, scheduled, and one-shot backup modes for different deployment styles.
  • Improves backup consistency for stored app data.
  • Adds retention settings and restore-oriented deployment documentation.

June 3, 2026

v4.0.0 - API Assignment Controls and Taxonomy Cleanup

API assignment payloads and medic role naming are tightened for clearer downstream integrations.

  • Renames canonical medic role IDs in API responses to MEDATT and MEDDRV.
  • Keeps legacy role filters accepted while returning the updated role IDs.
  • Adds an API option to omit raw assignment source data from compact payloads.

June 3, 2026

v3.0.0 - Taxonomy-Driven API and Rosters

A configurable taxonomy now drives assignment, roster, employee, and calendar rendering.

  • Adds taxonomy definitions, CSV overrides, a definition output view, and validation tooling.
  • Expands employee and assignment payloads with richer structured metadata.
  • Breaking change: API consumers should update from older flat fields to nested payload objects.

May 31, 2026

v2.1.0 - Subscriber Provider Linking

Subscribers can connect their own private or shareable calendar destinations from an account portal.

  • Adds provider linking for Google Calendar, Microsoft Outlook via Graph, and CalDAV.
  • Adds secure handling for connected calendar settings and refreshed subscriber emails.
  • Introduces public Terms and Privacy pages alongside the account-related branding updates.

May 26, 2026

v2.0.1 - Department Calendar Publishing

Serverless deployments regain reliable publishing for department calendar files.

  • Publishes all generated department calendar files after sync.
  • Improves destination handling and cleanup of outdated calendar files.
  • Improves calendar file delivery behavior for subscribers.

May 26, 2026

v2.0.0 - Department Roster and Subscribers

Department roster sync and subscriber fulfillment become the new application baseline.

  • Adds department-wide roster sync with per-person private and shareable ICS feeds.
  • Adds subscription fulfillment, subscriber management, and branded emails.
  • Migration note: single-file ICS deployments should move to output-directory based settings.

May 8, 2026

v1.7.0 - Roster-Aware Watch Mode

Watch mode makes syncs more responsive when ESOSuite schedule or roster data changes.

  • Detects schedule and roster changes more quickly while keeping a daily fallback sync.
  • Improves ICS refresh metadata and stable event revision fields for calendar subscribers.
  • Adds a template setting for unknown float shift titles.

May 1, 2026

v1.6.0 - Optional Relief Phone Numbers

Calendar descriptions can optionally include phone numbers for the people being relieved.

  • Loads phone numbers from a local CSV and applies them only to calendar descriptions.
  • Normalizes common US phone formats and leaves unmatched relief names unchanged.
  • Keeps phone data out of stored shift output.

April 21, 2026

v1.5.0 - Smarter Relief Matching

Relief matching becomes more accurate when an exact shift and qualification match is not available.

  • Adds seat-ordered fallback behavior for reliever selection.
  • Uses qualification-family rules for Ladder and Engine assignments.
  • Standardizes unknown relief values as Unknown/None.

March 26, 2026

v1.4.0 - Working Holiday Events

Configurable holiday events can be added across calendar outputs without blocking shift availability.

  • Adds all-day, free-time Working Holiday events for ICS and remote providers.
  • Adds title, description, naming, and color controls for holiday output.
  • Improves calendar publishing reliability.

March 1, 2026

v1.3.0 - Serverless Deployment Support

One-shot sync runs can now be packaged and run in serverless environments.

  • Adds serverless run support with structured results and notifications.
  • Adds optional artifact persistence for generated outputs.
  • Adds deployment scaffolding for build and release workflows.

March 1, 2026

v1.2.0 - Historical Shift Reuse

Deployments with persistent storage can reuse older shift rows to reduce unnecessary roster lookups.

  • Adds an opt-in historical reuse setting for shifts that already have stable event IDs.
  • Keeps retention and purge behavior independent from reuse behavior.
  • Preserves the existing default behavior when the new setting is disabled.

February 28, 2026

v1.1.0 - Shift Roster Descriptions

Calendar event descriptions can optionally show a roster section for the relevant shift.

  • Adds an opt-in Shift Roster section with deterministic ordering and formatting.
  • Adds self-exclusion support using ESOSuite identity, with a manual override when needed.
  • Improves calendar connection diagnostics.

February 24, 2026

v1.0.1 - Scheduling Handoff Recovery

ESOSuite Scheduling login is more resilient when the scheduling connection is slow or incomplete.

  • Improves recovery from delayed scheduling connection handoffs.
  • Improves retry behavior for transient scheduling navigation failures.
  • Requires no configuration changes.

February 24, 2026

v1.0.0 - Production Hardening

The first major release focuses on safer defaults, stronger validation, and more reliable calendar provider sync.

  • Adds retry and backoff behavior for CalDAV, Google Calendar, and Microsoft Graph.
  • Adds a safety guard for unexpectedly empty schedule results.
  • Tightens boolean, time, and timezone configuration validation.

February 24, 2026

v0.10.2 - Hardened Handoff Recovery

Scheduling login recovers more reliably when ESOSuite connection pages behave inconsistently.

  • Improves recovery when the scheduling connection path changes.
  • Adds recovery for transient scheduling navigation failures.
  • Requires no migration from v0.10.1.

February 24, 2026

v0.10.1 - Kelly Day Placeholder Exclusion

Placeholder shifts no longer appear on days that already have generated Kelly Day events.

  • Computes Kelly Day dates before placeholder generation.
  • Uses those dates to prevent same-day placeholder overlap.
  • Keeps existing Kelly Day and placeholder settings unchanged.

February 24, 2026

v0.10.0 - Kelly Day Sync

Recurring Kelly Day events can be generated and synced across all supported calendar outputs.

  • Adds configurable start, end, duration, recurrence, title, description, and location settings.
  • Syncs Kelly Day events as free time in ICS, Google Calendar, Microsoft Graph, and CalDAV.
  • Leaves existing behavior unchanged unless Kelly Day generation is enabled.

February 23, 2026

v0.9.0 - Customizable Shift Titles

Shift event titles can be customized with configurable templates.

  • Adds title templates for Medic, Ladder, and unknown float shifts.
  • Supports station, role, seat, duration, and separator values in custom titles.
  • Preserves existing title formats unless custom templates are configured.

February 23, 2026

v0.8.1 - Success Notifications

Successful sync runs can now send opt-in notifications with useful run stats.

  • Adds success alerts for run-once and daemon sync modes.
  • Includes shift count and run duration in success messages.
  • Keeps existing failure notification behavior unchanged.

February 23, 2026

v0.8.0 - Failure Alerts

Sync failures can now be reported through opt-in notification channels.

  • Adds failure alerts with isolated delivery errors.
  • Covers config-load failures, run-once syncs, recurring syncs, and operational errors.
  • Adds a notification test mode for checking delivery without running a sync.

February 22, 2026

v0.7.1 - Placeholder Description Fix

Placeholder shift events now have blank descriptions instead of relief metadata.

  • Clears descriptions for placeholder ICS events.
  • Preserves normal relief descriptions for real shift events.
  • Requires no configuration changes.

February 22, 2026

v0.7.0 - Placeholder Shift Planning

Future calendars can show configurable placeholder shifts until ESOSuite publishes real schedule data.

  • Generates recurring placeholder events from the last real shift forward.
  • Removes placeholders when real shifts appear for the same dates.
  • Adds title, location, and provider color controls for placeholders.

February 22, 2026

v0.6.0 - Microsoft Graph Event Colors

Outlook calendar sync gains shift-based color mapping.

  • Adds fallback and per-shift Outlook color settings.
  • Applies managed color choices during sync.
  • Leaves existing Outlook sync behavior unchanged unless color mapping is enabled.

February 22, 2026

v0.5.1 - Clear Unmapped Google Colors

Google events return to calendar-default colors when no app color mapping applies.

  • Clears older explicit Google colors on managed event updates.
  • Preserves default calendar color behavior for new unmapped events.
  • Handles missing-event recreation without reintroducing older color choices.

February 22, 2026

v0.5.0 - Google Event Color Mapping

Google Calendar sync can apply configured colors by shift type.

  • Adds fallback, Ladder, and Medic Google event color settings.
  • Supports Google color IDs and friendly color names.
  • Keeps default no-color behavior when no mapping is configured.

February 21, 2026

v0.4.0 - Microsoft 365 Sync

ShiftSync adds Outlook calendar support for Microsoft 365 users.

  • Adds Outlook calendar sync for managed shift events.
  • Keeps app-managed events aligned with the latest schedule data.
  • Can sync alongside the existing calendar outputs.

February 20, 2026

v0.3.0 - CalDAV Sync

CalDAV joins the supported calendar outputs with a shared calendar event model.

  • Adds optional CalDAV sync for app-managed calendar events.
  • Introduces shared event mapping for consistent calendar behavior.
  • Adds clearer validation for required connection settings.

February 20, 2026

v0.2.0 - Google Calendar Sync

Google Calendar becomes an optional sync destination alongside existing local and calendar outputs.

  • Adds Google account connection support for calendar sync.
  • Keeps sync scoped to app-managed shift events.
  • Consolidates deployment profile usage in the deployment setup.

February 19, 2026

v0.1.0 - Initial Release

The first public release syncs ESOSuite schedule data into local files and calendar output.

  • Outputs shift data to local files and calendar feeds.
  • Resolves relief fields, filters non-working entries, and keeps stable event IDs.
  • Includes deployment packaging and public calendar-serving support.