forceCalendar/Docs

What's New

Released changes, installer status, and current verification limits.

October 2026 release update

This documentation snapshot covers Core 2.5.7, Interface 1.9.0, and React/Vue 0.3.1, which are published npm packages. Salesforce unlocked package 0.3.0.1 is promoted and released.

Core: named-zone recurrence, event fidelity and lifecycle

Core 2.5.6 preserves endTimeZone through Event.clone() and toObject(). Recent 2.5 releases also support full-field snapshot comparisons, stable recurring occurrence identity, lazy iterator/next/take queries, and calendar teardown. Core reconcileEvents() preserves unchanged event instances; Core setEvents() still clears/reloads unless { reconcile: true } is requested. Always call destroy() when a server-side or long-lived calendar instance is no longer needed. See event data and migration.

Core 2.5.7 fixes the V2 cross-host DST regression found during benchmarking. Calendar steps, floating RRULE dates and generated occurrence bounds use the recurrence zone. The release includes 696 fixture/host regression combinations. The V2 contract preserves important limits: legacy UTC metadata/conversions, moved-instance bounds/order, ancient dates and unchanged RRULE feature coverage. Historical benchmark speed ratios are not universal correctness evidence.

Interface: details, editing and confirmed deletion

Interface 1.9.0 adds event details, prefilled editing, explicit deletion confirmation, cancellation and Escape dismissal. Saves preserve the stable event ID and host-owned fields; stale drafts cannot overwrite a changed or removed event. Dialog focus is managed across close/delete flows.

  • All-day forms use Start date and Last day (inclusive); a same-day event is valid.
  • readOnly blocks built-in editing, dragging, resizing and range creation while keeping navigation and details available.
  • Recurring event Edit/Delete/drag/resize remain disabled. Externally expanded instances can use metadata.forceCalendarRecurring: true without inventing an RRULE.
  • showColorPicker = false or show-color-picker="false" hides a color control that the host cannot persist, without resetting existing colors.
  • Snapshots, visible-range events, typed DOM APIs and detach/destroy behavior are documented in the Web Component guide.

The 1.9 release candidate passed 291 Interface tests. Browser and Salesforce validation cover specific workflows; this is not a blanket accessibility or security certification.

React and Vue: complete host integration

Adapters 0.3.1 expose events snapshots, range loading callbacks, typed imperative handles, and readOnly. They register custom elements on the client for SSR. The actual published adapter artifacts passed against Core 2.5.7 / Interface 1.9.0: React 0.3.1 passed 37 tests on each of React 18 and React 19, and Vue 0.3.1 passed 33 tests, with Bundler/NodeNext type checks. Use the React or Vue guide for the complete callback/emit contract and readiness handling.

Salesforce: real Event persistence and optional roles

The 0.3 integration bundles Core 2.5.6 and Interface 1.9.0. It includes existing-event editing/deletion, record-context associations, explicit all-day civil-date transport, snapshot loading without write feedback, and optional Access/Reader/Editor sets. Lightning Web Security is required.

Synthetic live Event tests verified create/read/edit/delete, cancellation, refresh/navigation persistence, same-day and multi-day all-day events, and all-day-to-timed conversion. Fixtures were removed. Restricted-user behavior is covered by isolated Apex tests; a restricted-user Lightning browser session has not been verified. See installation and permissions for the released installer and deployment checks.

Headless integration guidance

The headless API guide explains how to expose published calendar operations through an application's existing tools and backend. Integrators choose persistence, users and access controls. Agents can read and change calendar data within those permissions; forceCalendar does not choose or execute their work.

Earlier releases

Core 2.2 and Interface 1.2 introduced generated TypeScript declarations. Core exports now include TimezoneManager and ConflictDetector. Earlier Interface releases added keyboard grid navigation and labeled controls; later work extended selection, snapshots and lifecycle handling.

Core 2.1.70 and 2.3 introduced timezone caching and recurrence iteration optimizations. Historical results depend on the workload, runtime and correctness checks used at the time. Consult the benchmark dashboard for measured scenarios rather than treating a historical speed ratio as a product guarantee.