V4 Beta Release

The FullCalendar v4 beta has just been released. It contains almost exactly the same API as the previous alpha version except for one big thing: all functionality is broken up into plugins. There is a core package, but it won’t do anything on its own. You must load plugins for everything, including each type of view.

View the list of plugins »

Each plugin has its own NPM package. Many of the views have been renamed to be more consistent with the package names they come from:

  • agenda view has been renamed to timeGrid (timeGridWeek, timeGridDay)
  • basic view has been renamed to dayGrid (dayGridWeek, dayGridDay)
  • month view has been renamed to dayGridMonth
  • timeline view has been renamed to resourceTimeline (resourceTimelineWeek, etc)

Also, it’s important to note that date clicking, date selecting, event drag-n-drop, and event resizing require the interaction plugin.

In addition, Bootstrap 3 theme support and jQuery UI theme support have both been dropped. And there are some minor setting renames. Also, superagent has been dropped as a dependency for JSON feed requests, which was introduced in a previous alpha.

For more info, see the changelog, the updated upgrade guide, or the updated docs.

Because FullCalendar has been broken up into plugins, it’s possible to bundle only the functionality you need, saving space. This, combined with the shedding of jQuery and Moment as dependencies, has drastically reduced the total filesize of a simplest-case app. For example, if all you want to do is display a read-only month-view calendar, you would bundle the following packages:

@fullcalendar/core + @fullcalendar/daygrid
= 43k (minified and gzipped)

Whereas before you needed to bundle much more:

fullcalendar + jquery + moment
= 101k (minified and gzipped)

The size of the required JS is less than half!

For getting your hands on this beta release, it is recommended you follow the guide for using an ES6 build system. If you would prefer to download a ZIP file and use script tags and browser globals, download these:

While pluginifying FullCalendar, one aspect that has not yet been quite nailed down is how to deliver the CSS/SCSS. If you have experience with this matter, please chime in on the GitHub Issue »

Please give this beta release a try! Report any bugs you find »

If this beta release goes as smoothly as the previous alpha releases, the final release of 4.0.0 should be March 15th.

Psst... there are separate pages for feature requests, bug reports, and getting help.
  • Francesco

    Hi, i can’t understand how to use month view in resources, there is another plugin?

    • it’s resourceDayGridMonth view and it’s in the resource-daygrid plugin

      • Francesco

        Thanks, I think it’s useful show all plugins and related views in a specific page, otherwise it’s impossible to understand how use it

  • Pedro Luis Fernandez Gavilan

    Could you provide a debugging template for the v4.0.0-alpha.4 version?
    I want to report a bug in that version, but I’m not able to configure the full calendar :

  • Very impressed by the amount of work here. Definitively see a user case for implementing a basic read-only FullCalendar with minimal plugins. Would require some effort to upgrade the big implementation I have today but always worth it to be on the bleeding edge (famous last words). And this structure would make it easier to extend FC with new plugins.

  • John Hoekstra

    Can you provide a demo on how to set the scheduler license key in new version. When I try and set during calendar construction it complains with the following message

    Object literal may only specify known properties, and ‘schedulerLicenseKey’ does not exist in type ‘OptionsInput’.

    • John Hoekstra

      I think I dug around enough to figure it out:

      calendar.optionsManager.add('schedulerLicenseKey', 'CC-Attribution-NonCommercial-NoDerivatives');