Repository navigation
Description
This ticket tracks progress on the new theme system for v7.
Q & A
Q: Why did you decide to add such a large feature last-minute?
A: After releasing v7.0.0-rc.0, we noticed users having difficulties adapting their custom CSS to the new DOM structure. The DOM structure is "unstable" across major versions, so rather than forcing users to muscle through with converting their CSS, we decided to make a future-proof API for theming that does NOT break across versions. Coincidentally, it works very well with Tailwind.
Q: Why are you releasing 5 themes and 2 theme systems (Shadcn & MUI) all at the same time? Wouldn't cutting scope lead to a sooner release?
A: Yes, but we feel making multiple themes with very different designs will battle-test the theme API and lead to a more stable API in the future. The last thing we want is to change the theme API dramatically between major versions, which would defeat its purpose.
Q: I need v7 very soon. Should I wait for it or use v6?
A: Please use v6. Please continue to write custom CSS against the v6 DOM structure. When v7 is released, we will publish an extensive upgrade guide that includes instructions for converting common CSS selectors to the new theme API.
Q: Should I use v7.0.0-rc.0 in the meantime?
A: No. Please use v6 instead. If you have custom CSS, and you use v7.0.0-rc.0 (which does NOT have the theme API), you'll be writing CSS selectors that won't have a supported upgrade path to the official v7 theme API when it's released.
Preview URL
https://themes.fullcalendar.io
Changelog
https://v7.fullcalendar.io/changelog
Progress
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 (100%)
- Implemented or modified 138 new theming hooks (estimate: 6 days, actual: 12 days)
- SVG icons for classic theme (estimate: 1 day, actual: 1 day)
- Refactor CSS for cell/row borders (estimate: 2 days, actual: 2.5 days)
- Separate core CSS utilities from classic theme CSS (estimate: 5 days, actual 2.5)
- Expose date-formatting parts to theme (estimate: 1 day, actual: 1)
- Remove CSS injection & refactor entrypoints (estimate: 1 day, actual: 1 day)
- For core CSS utilities, use CSS modules and obfuscated classNames (estimate: 1 day, actual: 1 day)
- Fix new CSS techniques for web-component shadow DOM (estimate: 1 day, actual: 1 day)
- Implement a Tailwind-version of the classic-theme (unplanned, actual: 10 days)
- Borderless setting (estimate: 1 day, actual: 0.5 days)
- Dark-mode for classic theme (estimate: 0.5 days, actual: 1 day)
- Fixup print-view for classic theme (estimate: 0.5 days, actual 0.5 days)
- Various small bugfixes mentioned in TODO-v7 (estimate: 3 days, actual: 4 days)
- First pass as Material Design theme (called "Monarch") (estimate: 3 days, actual 5 days)
- Lots of theme system revisions to accomodate Monarch theme (unplanned, actual: 12 days)
- Improve
datesSetfor completely-custom toolbars. React use* hooks (estimate: 1 day, actual: 1 day) - Demo project so showcase permutations of themes/component-libs/colors (unplanned, actual: 2 days)
- Multiple color schemes for Monarch theme, shadcn/mui demos (unplanned, actual: 1 day)
- System for generating distributables for all permutations of react/vue/vanilla-js, tailwind/vanilla-css, shadcn/mui/default-controls, js/ts (estimate: 4 days, actual: 10 days)
- Create Microsoft-inspired theme called "Forma" (estimate: 4 days, actual: 5 days)
- Create Apple-inspired theme called "Zen" (estimate: 4 days, actual: 5 days)
- Create Tailwind Plus-inspired theme called "Breezy" (unplanned, actual: 5 days)
- Unplanned: theme-system improvement work, pt 1, mostly default UI (actual: 5 days)
- Unplanned: theme-system improvement work, pt 2, mostly MUI/Shadcn (actual: 5 days)
- Unplanned: refactor theme CSS variables (actual: 2 days)
- Unplanned: lots of low-priority bugfixes (actual: 3 days)
- RTL positioning refactor (estimate: 2 days, actual: 1 day)
- Cleanup of all themes (actual: 32 days)
- Rig for testing AI conversions (unplanned, actual: 3 days)
- Babysit AI as it creates tailwind/react/plugins for all themes. Proof-of-concept already created in "System for generating distributables..." above (estimate: 5 days, actual: 11 day)
- Installer for Shadcn theme (estimate: 1 day, actual: 1 day)
- Improved composability/modularity for Shadcn and MUI themes (unplanned, actual: 2 days)
- Minimal installation guide (estimate: 1 day, actual: 1 day)
- Beta release (beta.5); Omit Vue & Angular support for now (estimate: 1 day, actual: 1 day)
- Virtual rendering in resource-timeline view (unplanned, actual: 5 days)
- Vue use* hooks (estimate: 1 day, actual: 1 day)
- Beta release (beta.6)
- Old tests passing since theme system revisions and modifying classic theme (estimate: 3 days, actual: 5)
- Restore Angular support (actual: 2)
- Refactor package structure to accommodate React-only rendering without Preact (unplanned, actual: 12)
- Preact package
@fullcalendar/preact(unplanned, actual: 2) - Integrate
temporal-polyfill, clearing of old tz plugins (unplanned, actual: 1) - Beta release (beta.7)
- Full docs & upgrade guide text (estimate: 5 days, actual: 19 days)
- Incorporate theme schematic graphics into docs (estimate: 1 day, actual: 1)
- Code-generation wizard on themes.fullcalendar.io (the "Code" button below each demo) (unplanned, actual: 2)
- Improve theme colors, especially for dark mode (estimate: 2 days, actual: 2 days)
- Fix theme-system bugs related to overflow, scrollers, sticky elements (unplanned, actual: 4)
- DOM measurement refactor (estimate: 4 days, actual: 3 -- reduced scope, full refactor punted)
- Removal of resize-observer ponyfill, subsequent calendar API adjustments (unplanned, actual: 3 days)
- Removal of range-formatting ponyfill, subsequent calendar API adjustments (unplanned, actual: 2 days)
- Improve Shadcn DX (unplanned, actual: 1 day)
- Revive print-view (estimate: 1 day, actual: 1 day)
- Bugfixes (estimate: 5 days, actual: 7 days)
- Changelog and docs for changes since beta.8 (estimate: 1 day, actual: 2)
- Release candidate (rc.1)
Post-RC Tasks (Non-Blocking)
- improve integration with LLMs
- improve themes.fullcalendar.io; better code-generation
- get Salesforce LWC working (see recent update)
- improve warnings about unknown/malformed calendar options (useful for non-TS users)
- write additional automated tests
Dev Branch
https://github.com/fullcalendar/fullcalendar-workspace/tree/v7-dev
Activity
j-fdion commentedon Mar 18, 2025
What a nice news! Keep up the good work!
laoneo commentedon Mar 19, 2025
Just started with the migration, and it is indeed a wise decision. Is there an approximate date where final will be shipped?
stehag commentedon Mar 19, 2025
Good Call!
Sparticuz commentedon Mar 21, 2025
Wow, Awesome! This is great news! Excited for the Tailwind support.
brandonkboswell commentedon Mar 22, 2025
This is the correct decision @arshaw. I'm grateful I saw this post as I was about to update my app. Keep up the great work.
Orgil0123 commentedon Mar 27, 2025
i have a question. we started developing application which will use full calendar premium. Should i start building on version 6 and later upgrade to version 7 or should i wait for it. We almost finished application but full calendar side is on waiting. if we should wait how long will it take approximately. Thank you.
arshaw commentedon Mar 28, 2025
Thanks @j-fdion, @stehag, @Sparticuz, @brandonkboswell !
I just updated the above description. Filled in more details about the new theme system.
@laoneo, in the new description, I have a rough ETA:
@Orgil0123, I would recommend developing on v6 and ensuring your CSS customizations (if any) are in a separate CSS file. Put anything with a
.fc-<whatever>className prefix in there. Later upgrading from v6 -> v7, at least from the JS perspective, will be very easy as there are almost zero breaking changes. As far as upgrading custom CSS when v7 is released, that will require effort but should not be very difficult. If you write to the premium email support address, we can help you with any difficulties you run into during the process.arshaw commentedon Apr 18, 2025
Please see the top of the post for an update on development progress
JAugustusSmith commentedon May 27, 2025
Is there an updated estimate?
remoover commentedon May 28, 2025
also waiting for updates :)
arshaw commentedon May 30, 2025
Hi @JAugustusSmith and @remoover, I just posted an update above.
laoneo commentedon May 30, 2025
Congratulations to your new role in life!
roelkoops commentedon May 30, 2025
Congratulations on the birth of your baby, Arshaw!
stephenoldham commentedon May 31, 2025
Ayyyy huge congrats @arshaw! Hope everyone is well 👍🏼
remoover commentedon Jun 1, 2025
Congratulations :))) @arshaw ! Wishing you all the best !
61 remaining items
dimagimburg commentedon Apr 19, 2026
@arshaw Thanks for the update, when is the final release planned for?
arshaw commentedon Apr 24, 2026
Just released another RC with fixes for a number of user-reported bugs. Thank you!
v7.0.0-rc.2
I don't expect another RC, and I expect the final release in about 1-2 weeks.
stalker3343 commentedon Apr 28, 2026
Can i now use 7 version in production?
pfpro commentedon Apr 28, 2026
Please use v6. Please continue to write custom CSS against the v6 DOM structure. When v7 is released, we will publish an extensive upgrade guide that includes instructions for converting common CSS selectors to the new theme API.;)arshaw commentedon May 9, 2026
One more release-candidate release. It fixes bugs primarily reported by paid users via email support:
https://github.com/fullcalendar/fullcalendar-workspace/releases/tag/v7.0.0-rc.3
This will be the last release-candidate.
arshaw commentedon Jun 19, 2026
v7 is now officially released 🎉🎉🎉 (See on X, Bluesky, GitHub Release)
A long release-candidate period was nice, caught a few bugs, but was mostly blocked on
temporal-polyfill's tree-shakeable API reaching 1.0 (See on X, Bluesky, GitHub Release)stephenoldham commentedon Jun 19, 2026
@arshaw Well done dude! Seems like it's been a major undertaking, so well done for getting through all the work. Super appreciated 👏🏼🔥
pfpro commentedon Jun 19, 2026
congratulations!
roelkoopsvz commentedon Jun 19, 2026
Thank you for all the hard work you've put into v7, Arshaw! Keep up the great work!
AlaricCoco commentedon Jun 19, 2026
🎉Thank you for all your hard work getting this released! 🥳
david-rab-thunder commentedon Jun 24, 2026