Problem/Motivation
The FullCalendar JavaScript library released v7.0.0, which introduces several new options the Drupal module does not yet expose, renames a handful of settings the module references by their old names, and removes options that still appear in the module's Views UI form where they silently do nothing.
This meta issue tracks the follow-up work identified by reviewing the v7 changelog against the module's current implementation.
Remaining tasks
New features — high priority
#3605168: Add MultiMonth (year) view — multiMonthYear is a new dedicated view type giving users a full-year overview. It is completely absent from the module: not in the view toggles, not in the initialView select, and has no per-view options. Adding it requires a new view checkbox, updating the initialView dropdown, two new per-view settings (singleMonthMinWidth, singleMonthTitleFormat), and detecting the multiMonth plugin in getEnabledFullcalendarPlugins(). See FullCalendar multiMonth docs.
#3605169: Background event color control — v7 adds a dedicated setting for background events' color, separate from eventColor. The module currently has a single color picker that applies to all event types. A second color picker in the Event Appearance group, conditionally visible when the default display is set to Background, gives site builders the expected control. See FullCalendar backgroundEventColor docs.
#3605170: Toolbar heading level (a11y) — v7 allows the calendar toolbar title's heading level to be set (h1–h6). Sites that embed the calendar inside page content need it at h2 or h3. A simple select field in the Calendar Appearance group. See FullCalendar headingLevel docs.
New features — medium priority
#3605172: Dark mode for all v7 themes — All four v7 theme families (Breezy, Forma, Monarch, Pulse) ship dark variants, activated by appending -dark to the theme name (e.g. breezy-amber-dark). Adding a "Dark mode" checkbox that appends the suffix at render time requires a small change in FullCalendar.php and one line in fullcalendar.views.js.
#3605173: DayGrid event slicing control — New v7 DayGrid boolean option (defaults true). When false, multi-day events that span a week boundary are not split across rows. Add as a checkbox in Month View settings. See FullCalendar eventSlicing docs.
#3605201: Expose dayCellFormat — New v7 DayGrid option controlling how the day number inside each cell is formatted, using the same Intl object notation already established elsewhere in the module. Add as a free-text field in Month View settings. See FullCalendar dayCellFormat docs.
#3605195: Sticky header rename, expose checkbox — v7 renamed stickyHeaderDates → tableHeaderSticky and stickyFooterScrollbar → footerScrollbarSticky. These are not currently exposed in the module form, but any site builder passing the old names via hook will be silently ignored. Consider surfacing tableHeaderSticky as a checkbox in the Calendar Appearance group and documenting the rename.
Cleanup — #3605198: Remove inputs for unsupported properties
These settings are removed or ignored in v7 but still appear in the Views UI form, where they mislead site builders. The form fields should be removed; schema entries can be retained for one release cycle for backwards compatibility with existing exported config.
Remove handleWindowResize and windowResizeDelay from form — v7 removed both options; the calendar now auto-resizes automatically. Both fields are currently in the Calendar Appearance fieldset (FullCalendar.php lines 1137–1163).
Remove buttonIcons from form — v7 removed the buttonIcons option. Toolbar icons are now SVG-based and built into each theme. The form field remains in the Toolbar group (FullCalendar.php line 1362). The fcAddEvent button's iconClass pattern is the correct v7 approach and can serve as the documented model for custom icon use.
Remove titleRangeSeparator from form — Already marked deprecated in the field description ("has no effect"), but still visible in the Toolbar group. The field should be removed from the form. Displaying a setting that explicitly does nothing undermines trust in the surrounding options.
Verify buttonText per-view settings still work — v7 changed how buttonText is resolved for custom views (the option is no longer respected for those). The module's per-view button text settings (in the views_* fieldsets) should be smoke-tested against all enabled view types to confirm values still arrive correctly after the v7 parser changes.
Already handled
The following v7 changes were already addressed in the module and require no further work:
All four v7 theme families (Breezy, Forma, Monarch, Pulse) and Classic are in the theme selector
listDayAltFormat (renamed from listDaySideFormat in v6)
weekTextShort (renamed from weekText in v6)
headerToolbar / footerToolbar mapping in fullcalendar.views.js
buttons API and fcAddEvent custom toolbar button with icon support
Google Calendar integration
Bundle and taxonomy term color overrides
Comments
Comment #2
mandclu commentedThe formatted original output of the above is at: https://claude.ai/code/artifact/fb198207-0508-4d8c-bf04-69818bd6ea3c
Comment #3
mandclu commentedComment #4
mandclu commented