15 versions
Gravity View – Calendar history.
Every release of Gravity View – Calendar is archived here with its changelog, file size, and security scan result. Use the archive to roll back to a stable release or audit what changed between updates.
15 of 15 releases scanned clean
v2.25.0Latest
October 15, 20264.0 MBScanned
Other
- This release displays calendars entirely in their chosen language, resolves several issues with event dates and times, and includes a security improvement; we recommend updating.
- #### ✨ Improved
- All calendar text, including "all-day", "+3 more", and button tooltips, can now be translated or reworded with a translation plugin such as Loco Translate.
- Calendars set to a language other than the site's now download that language's translation automatically when their settings are saved.
- #### 🔒 Security
- #### 🐛 Fixed
- Calendars set to a language other than the site's displayed some text in the wrong language:
- "all-day", "+3 more", "No events to display", and the Previous and Next button tooltips always appeared in English;
- Toolbar buttons such as Today, Month, Week, and Day used the site language instead of the calendar's Localization setting.
- Timed events from external calendar feeds (such as Google Calendar, Outlook, or iCloud) appeared at their original time in the feed's time zone instead of being converted to the site's time zone like the calendar's own events.
- All-day events in calendar subscription links had incorrect end dates: one-day events ended on the day they started, and events without an end date ran until the subscription was last updated.
- Resizing an event to span several days on a calendar without an End Date field changed the event's start date instead of undoing the resize.
- #### 💻 Developer Updates
- The calendar's language downloads respect Foundation's `gk/foundation/translations/disable-download` filter, so a site that turns off translation downloads gets none.
- #### 🔧 Updated
- [Carbon](https://carbon.nesbot.com/) date library to version 2.73.0, which includes the fix for [CVE-2025-22145](https://github.com/advisories/GHSA-j3f9-p6hm-5w6q) (GravityCalendar does not use the affected function, so sites were not exposed) and restores translation files left out of earlier releases.
- [Foundation](https://www.gravitykit.com/foundation/) to version 1.37.0.
Improved
- security when moving and resizing events on the calendar.
Removed
- the `gravityview/calendar/scripts/fullcalendar/locales_dir_url` filter. The calendar no longer loads FullCalendar's locale files, so the filter has no effect. Change the calendar's text with a translation or with the `gravityview/calendar/options` filter, whose values still take priority.
October 9, 20264.1 MBScanned
This release improves conditional logic, resolves a security issue and several display issues with the Calendar widget, and fixes event times that varied between visitors; we recommend updating.
**Note: GravityCalendar now requires Gravity Forms 2.9.4 or newer.**
#### ✨ Improved
* Calendar widget compatibility with Views that refresh their results without reloading the page, such as when a map is moved.
* Enhanced conditional logic:
- Conditions on fields that store a user, post, or entry ID (such as Dynamic Lookup, Populate Anything, and Nested Forms fields) now match the name the field displays, limited to records the visitor can see ("is" and "is not" with a number still compare the stored ID);
- "Is", "is not", "in", and "not in" conditions on a Product, Option, or Shipping field choice found no entries;
- Conditions on Entry Date, Date Updated, or Payment Date with a value that was not a date, such as a merge tag for a text field, caused a fatal error on PHP 8;
- On translated sites, screen readers announced the day, month, and year of date conditions in English.
#### 🔒 Security
* The Calendar widget could show entries that the View itself did not display, including every entry in the calendar when "Show only approved entries", a search, or a View filter left the View with no results.
#### 🐛 Fixed
* Calendars using an Event field showed events in each visitor's local time, so the time (and sometimes the day) varied between visitors instead of matching the time that was entered.
* A calendar placed on the same page after a View's Calendar widget could display that View's events instead of its own, or no events at all if the View used the DataTables layout.
* Views with the "Hide View data until search is performed" setting enabled still showed every entry in the Calendar widget before a search when "Display events for" was set to "All View entries".
* Content placed after a calendar whose events link to a single entry could behave as though it were on the linked View's page.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.36.0.
October 1, 20264.0 MBScanned
This update makes event descriptions accessible to keyboard and screen reader users and fixes calendar layout and block editor preview issues.
#### 🐛 Fixed
* Keyboard and screen reader issues with event descriptions:
- Descriptions in the List and Agenda layouts opened only on mouse hover, not when an event was reached with the keyboard;
- List events without a link could not be reached with the Tab key;
- Descriptions stayed open after keyboard focus moved past a link inside them;
- Screen readers did not announce an event's description when the event had keyboard focus.
* Calendar buttons that did not fit on one row, including the default buttons on phones, spilled past the calendar's edge and squeezed the month title onto two lines (they now wrap onto additional rows).
* With Gravity Forms 2.x, the GravityCalendar block showed a "This block has encountered an error and cannot be previewed" message in the block editor after a feed was selected (the preview now works and matches the calendar's look on the site).
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.35.0.
v2.23.0Unavailable
September 24, 20263.8 MBScanned
This release makes conditional logic more accessible and fixes matching on product prices.
**Note: GravityCalendar now requires WordPress 6.5 or newer.**
#### ✨ Improved
* Keyboard and screen reader accessibility of conditional logic: focus stays in place when adding or removing a condition, the AND/OR switch is a single control, and date fields and buttons identify the field they belong to.
* Wider Custom Value box in narrow settings panels.
#### 🐛 Fixed
* Conditional logic on product prices matched the wrong entries, especially with currencies that use a comma for decimals or place the symbol first (such as Pound Sterling).
* The page scrolled when a date picker calendar was opened or closed.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.33.0.
September 3, 20263.8 MBScanned
Other
- This release adds a GravityCalendar widget for Elementor, allows overriding calendar height when embedding, and fixes some bugs. GravityCalendar now requires WordPress 5.6 or newer.
- #### 🚀 Added
- A GravityCalendar widget for Elementor. Drag it onto the page, pick a calendar, and it renders in the editor as it will on the page — no shortcode to paste. The widget is under the GravityKit category in the widget panel.
- Ability to override the calendar's defined height when embedding a calendar:
- Shortcode: `[gravitycalendar id="5" height="400px"]`. Accepts the same values as the Calendar Height setting — `400px`, `100%`, `10vh` — plus `auto`;
- GravityCalendar block: a Height field under Calendar Size in the block settings;
- Elementor widget: a Height slider on the Style tab.
- #### ✨ Improved
- #### 🐛 Fixed
- Calendars whose feed was created outside the settings screen — through the API, or before the Sizing setting existed — logged a PHP warning every time they rendered.
- Only administrators could open a form's GravityCalendar feed settings. Now, anyone who can edit forms can edit the feed.
- Administrators on sites running the Members plugin could not see the feed settings.
- Merge tag pickers were not showing in the calendar feed settings screen.
- The Active/Inactive toggle on the All Calendars screen displayed as a plain, unstyled button.
- Calendar toolbar buttons showed HTML character codes instead of punctuation in some languages — in French, the "Today" button read "Aujourd'hui" rather than "Aujourd'hui".
- The calendar's Filter control did nothing on calendars whose Localization is set to a language other than English.
- GravityCalendar block preview in the WordPress editor:
- Did not recover when a feed was selected again after its settings had failed to load;
- In the WordPress 7.1 editor:
- Showed "This block has encountered an error and cannot be previewed" instead of the calendar;
- Did not switch the active Stack/Grid button of the multi-month layout;
- Kept the Filter button instead of replacing it with the search box, so events could not be filtered;
- Opened event tooltips away from their event when the `interactive` option is turned off.
- Showed JavaScript errors in the browser console;
- Clicking the export link in the GravityCalendar Buttons block preview downloaded the calendar file.
- #### 🔧 Updated
- [Foundation](https://www.gravitykit.com/foundation/) to version 1.32.0.
Added
- support for the Block Editor's version 3 block API.
v2.21.0Unavailable
August 29, 20263.8 MBScanned
Other
- This release speeds up calendar subscriptions, keeps them up to date when entries change, and fixes several subscription and timezone issues.
- #### ✨ Improved
- Completely reworked how calendar subscriptions are generated to improve performance.
- Large calendar feeds now generate without a sweat (tested on forms with more than 20,000 entries);
- Now served from a stored copy that refreshes hourly and when you save the feed.
- Downloading a single event, or attaching one to a form notification, is much faster.
- Conditional logic date filters have a clear button and an improved date picker, and Dynamic Lookup filters use the Lookup plugin's own API when available (Gravity Forms Lookup Field 1.8 or newer).
- #### 🐛 Fixed
- Events using "Entry Date (Created)" or "Entry Date (Updated)" were displayed in UTC instead of the site's timezone.
- Entry changes did not reach calendar subscriptions until the stored copy expired. Now, new, edited, and deleted entries update subscriptions immediately.
- Improves support for changes made through GravityView, GravityEdit, GravityRevisions, and GravityImport.
- Subscription links kept the site's previous domain after a move. Saving the feed now updates the link without breaking existing subscriptions.
- A subscription too large for the server's time limit now properly reports a server error.
- Pressing Enter while editing feed settings regenerated the subscription URL and broke existing subscriptions. The URL now changes only when you click "Regenerate URL".
- #### 💻 Developer Updates
- #### 🔧 Updated
- [Foundation](https://www.gravitykit.com/foundation/) to version 1.31.0.
Removed
- Deleted, disabled, or regenerated feeds returned a server error instead of reporting that the feed no longer exists.
Added
- `gk/gravitycalendar/ics-export/cache/enabled` (turn it off site-wide or per feed), `gk/gravitycalendar/ics-export/cache/lifetime` (default: one hour), and `gk/gravitycalendar/ics-export/cache/rebuild-timeout` (default: ten minutes).
v2.20.0Unavailable
August 13, 20263.7 MBScanned
This release adds support for appending `.ics` to calendar subscription links and fixes subscribed calendars duplicating events on every refresh.
#### 🚀 Added
* Support for appending `.ics` to the generated calendar subscription link, for calendar applications that only accept URLs ending in `.ics` (existing links continue to work without the suffix).
#### 🐛 Fixed
* Events in a calendar subscription received a new identifier on every refresh, causing subscribed calendars to re-add all events on each sync instead of updating the ones they already have.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.29.0.
v2.19.0Unavailable
August 7, 20263.6 MBScanned
Other
- This release removes an unnecessary database query from every calendar load and makes the event limit work correctly on calendars that read their events from the database.
- #### ✨ Improved
- #### 🐛 Fixed
- Setting the event limit to a negative value now means "no limit", as it does elsewhere in WordPress, instead of dropping the last event.
- The warning logged when the event limit is reached now appears only when entries were actually left out, not when the number of events merely equals the limit.
- #### 💻 Developer Updates
- The `gravityview/calendar/settings/total-event-limit` filter now applies to events read from the database, where it previously had no effect. The limit defaults to unlimited for database entries, so calendars without a filter callback display exactly as before — but a callback returning a positive number now takes effect on those calendars. Events supplied through the `gravityview/calendar/events/source_data` filter still default to 1000. The limit counts only events the calendar displays, so it is never spent on entries that other filters remove.
- #### 🔧 Updated
- [Foundation](https://www.gravitykit.com/foundation/) to version 1.28.0.
Removed
- an unnecessary database query that ran, and returned no results, every time a calendar's events were loaded.
v2.18.0Unavailable
July 16, 20263.6 MBScanned
This release enhances conditional logic filtering, makes the single entry "Go Back" button return to the calendar the event was clicked on, and clears PHP notices that could appear when rendering calendars.
#### ✨ Improved
* Calendar events that link to a single entry now remember the page the calendar is on: the "Go Back" button on the Single Entry page returns to the calendar instead of the View's Multiple Entries page, including after editing the entry.
* Enhanced conditional logic:
- Choice-based filters now offer a searchable dropdown whose results page in as you scroll, so fields with large option lists stay fast and usable instead of trying to render every choice at once. This covers the standard choice fields (Drop Down, Checkbox, Radio, Multi Select) as well as Dynamic Lookup and Populate Anything fields, which draw their options from large external data sets;
- Use a field merge tag (e.g. `{Threshold:2}`) as a filter value to compare two fields of an entry instead of a static value;
- Compare against a field on a joined form ([Multiple Forms](https://www.gravitykit.com/extensions/multiple-forms/)) with a `form:` modifier, e.g. `{Reorder threshold:1:form:123}`;
- The "has ALL of" operator on checkbox and other multi-value fields matched every entry instead of only those containing all the selected values;
- Switching a condition between single-value and multi-value operators could save a mismatched value shape.
#### 🐛 Fixed
* A `_load_textdomain_just_in_time` notice (WordPress 6.7+) appeared because some plugin components loaded translations too early.
* Two `Undefined array key "controls"` PHP notices appeared when rendering a calendar whose feed had no header/footer controls setting saved.
* Internal Ajax parameters (nonce, date range, calendar ID) appeared in single entry links generated by calendars that load events dynamically.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.25.0.
v2.17.0Unavailable
June 4, 20263.5 MBScanned
This release improves conditional logic with a searchable picker for multi-selection filters, a new "has NONE of" operator, and a redesigned date picker.
#### ✨ Improved
* Enhanced conditional logic:
- Value filters that accept multiple selections now use a searchable picker for quicker selection, plus a new "has NONE of" operator for excluding multiple values at once;
- Conditions on date fields now use a redesigned calendar date picker for easier date entry.
#### 🔧 Updated
* [Foundation](https://www.gravitykit.com/foundation/) to version 1.21.0.
Why archive
Sometimes the latest release isn't the one you need. The archive lets you pin Gravity View – Calendar to a known-good version, or roll back while a bug is investigated. Every release stays scanned and reachable.