Halloween Is an Event: up to 70% off every Pro plan

Ends Nov 5 at 10:00 am GMT+0000. Grab your treat
Grab Your Ramadan Special Deal!
Eventful Event Showcase for The Event Calendar

Changelogs

Eventful Changelog — stay up to date with the latest improvements, feature releases, and bug fixes for the Eventful Plugin. Explore version history to see what’s new and how we’re constantly improving your favorite Eventful plugin.

2.5.1

Latest
  • New List layout Pre-made “Template Four”: date column, image with category badge, date and location line, and a button that follows the event’s status (Read More, Event Ended, or Watch On Demand when a past event has an Event Website URL).
  • New Minimal List layout Pre-made “Template Four”: table-style rows with event type (Virtual / In-Person), title with a short description, date and time, and a Register link.
  • Fixed PHP warnings for undefined title/content length unit variables in List and Accordion layouts.
  • Compatibility WordPress 7.1.4 compatibility.

2.5.0

  • New “Include ongoing multi-day events” timeframe option (off by default) also shows events already running during This Week, This Month, Today and Onwards and the other timeframes. Turn it on per layout, or for all layouts under Settings > Advanced.
  • Fixed Timeframe filters now use the site’s timezone, so results and button counts match.
  • Fixed “Today and Onwards” counts now match the events shown.
  • Fixed Shared filter links with a timeframe (?efp=…&tx_event_timeframe=this_week) now show the matching events instead of the full list.
  • Fixed Upcoming/Past filters now respect “Determine Event Status By Event start date”, in both the results and the counts.
  • Fixed Duplicating a layout now checks the user’s permission to edit and create layouts.
  • Fixed With “Delete All Data On Uninstall” on, deleting Eventful Pro no longer removes layouts and settings while the free Eventful plugin is still installed.
  • Developer New eventful_pro_timeframe_include_ongoing and eventful_pro_timeframe_meta_query filters.

2.4.4

  • Security Improved access checks on event popup requests.
  • Fixed Fatal error on filter requests with missing parameters.

2.4.3

  • Fixed Fatal error when The Events Calendar is active but fails to finish loading.
  • Improved The Events Calendar is now declared as a required plugin (WordPress 6.5+).
  • Fixed Pro updates are now delivered even when The Events Calendar is missing or unable to load.

2.4.2

  • New Calendar layout. Events are shown in Month, Week or Agenda view, with today highlighted and a click on any event opening its details.
  • New Calendar Settings tab: Default View, View Switcher, Week Starts On, Events Per Day (the rest of a busy day collapses into “+N more”), Event Time, and Event Colors by category or one accent color.
  • New Three pre-made Calendar templates under Display Options → Template Styles.
  • Improved With the Calendar layout selected, Display Options hides the settings it does not use: Margin Between Columns and the Event Box border, radius, box-shadow, inner padding and backgrounds. Every other layout shows the same settings as before.
  • Improved Repeater rows that start with a chooser, such as the category color rows, are titled with the chosen name instead of its ID.
  • Improved Table Templates Two and Three use a neutral dark default for buttons, categories and dates instead of indigo. Colors you have set are unchanged.
  • Improved Resolved the errors and warnings reported by the WordPress Plugin Check: output escaping in the admin screen and the layout preview, and safe redirects after license activation and deactivation.
  • Fixed Switching Event Content off in Content Fields now hides its Read More button too. The button used to stay on screen by itself.
  • Fixed Filter Events no longer opens blank on layouts saved with an older version. It shows Latest, which is what those layouts were already displaying.

2.4.1

  • Fixed “Undefined array key style” warnings appeared above the events on every page rendering a layout with Box-Shadow switched on. A box-shadow is stored without a style until that part of the field is touched, and the renderer read the style without checking it was there. It is now read the same guarded way as the other box-shadow values, and both the field and the renderer fall back to “outset”. The shadow itself renders exactly as before.

2.4.0

  • New A completely rebuilt admin. Layouts, Settings, Replace Layout, Tools and Get Help have been redesigned from the ground up, replacing the options framework the plugin shipped with before. Every setting keeps the name and the value it already had, so existing layouts open with their configuration intact and render exactly as they did.
  • New Layout previews now open in a resizable pane inside the editor, at desktop, tablet or mobile width, or in a tab of their own. The preview shows your unsaved edits without publishing them.
  • New Tools — layouts can be exported individually or all at once, and the Eventful settings page can be exported and imported as a file.
  • Improved Moving between Layouts, Settings, Tools and Get Help no longer reloads the page. Links to the old screens still work and land in the right place.
  • Improved The header menu now groups All Layouts and Add New Layout under Layouts, with Replace Layout, Settings, Tools and Get Help alongside.
  • Improved The section you had open is remembered when you come back to a screen.
  • Improved Content Fields can be reordered by dragging or with the keyboard, and each part’s on/off switch now sits in its row rather than inside the panel.
  • Improved Filter Type now explains what each option does, and switching one on opens its settings straight away.
  • Improved Replace Layout no longer shows a sidebar listing the single page you are already on.
  • Improved The layout editor gives the title field and the preview the full width of the screen.
  • Fixed Filtering — enabling more than one filter type no longer hides every filter panel, and enabling none no longer shows all of them. The front end reads each type independently, which is now what the settings screen shows.
  • Fixed Content Fields: Thumbnail Size, Custom Size, Alignment and the other per-part settings are saved where the front end reads them again, so they take effect on the page.
  • Fixed Settings that appear only under certain conditions — Alignment under a pre-made template among them — now appear when they should.
  • Fixed The Template Style preview images are shown beneath the selector again.
  • Fixed The layout preview renders with its own styles and scripts, so carousels, accordions and popups behave as they do on the site.
  • Fixed Pressing Preview now scrolls to the preview reliably, wherever you were on the page.

2.3.12

  • Security AJAX requests are now always verified. Every AJAX endpoint checked its security token only when one was sent, so a request that simply left the token out skipped verification entirely. The token is now required and a request without a valid one is rejected.
  • Security The admin preview and admin filter endpoints now check user permissions. They rebuild a layout from settings sent with the request, but only verified a token — any logged-in user could reach them. They now also require permission to manage Eventful views, and are no longer registered for logged-out visitors at all.
  • Security The live filter bar output is now escaped and passed through an allow-list before it is printed. Filter labels, the “All” text, term names, taxonomy names and term IDs were written into the markup unescaped, so text supplied with a request could be reflected into the page as HTML. The AJAX response and the front-end template now sanitise identically.
  • Security The settings export, import and reset endpoints now check user permissions. Each names the option it acts on, so they now require permission to manage plugin settings in addition to a valid token.
  • Fixed Display Options → Column(s) is shown for the Carousel, Grid, Masonry and Timeline layouts again. It had been hidden for all of them: the rule required a layout from that list *and* a horizontal timeline style at the same time, and the timeline style defaults to vertical. Timeline still shows the field only for the horizontal style, as intended.
  • Fixed Switching away from the Typography tab in View Options no longer leaves the typography fields on screen underneath the tab you switched to. The tab switcher only hid the section it had opened last, so a section made visible any other way was never hidden again.
  • Fixed The admin preview endpoints no longer raise “Undefined array key” warnings on PHP 8 when reached without the expected form data.

2.3.11

  • New Tools → Settings — the Eventful settings page can now be exported to a JSON file and imported back, so a configured site can be copied to another install or restored after a change. The export downloads everything configured under Settings; the import asks for confirmation before overwriting and reloads the page once it finishes.
  • Compatibility Tools — the separate Export and Import tabs are now a single “Eventful Views” tab, with the two forms grouped under their own headings. Only the layout changed; exporting and importing views works exactly as before.
  • Fixed Some CSS issues.
  • Compatibility WordPress 7.1 compatibility.

2.3.10

  • Fixed The carousel showed only its first few events when an Elementor Pro carousel widget was present on the same page — the remaining events kept their dots and arrows but never appeared. The carousel markup still carried a class name from an older Swiper release, which made an Elementor Pro rule intended for its own un-initialised carousels apply permanently and clip every slide past the first screen out of view. The obsolete class is no longer output.
  • Fixed Adding an Eventful carousel to a page could break other Swiper-based carousels on the same page, such as the Elementor Image Carousel. The plugin bundles its own copy of Swiper, which was overwriting the Swiper global that Elementor and other plugins rely on. The bundled copy is now exposed under its own name and no longer touches the shared global, so each carousel runs against the Swiper version it was written for.
  • Fixed The plugin registered its bundled Swiper, bxSlider and Magnific Popup under generic script and style names. When another plugin claimed the same names first, WordPress served that plugin’s files instead and the carousel silently broke. All bundled libraries and stylesheets now load under plugin-specific names.
  • Fixed Events with no featured image no longer fall back to a placeholder graphic. The placeholder had a different shape to real event thumbnails and could never be resized to the configured crop, so a single event without an image made every slide in a carousel as tall as the placeholder and left a large empty area beneath the visible cards. Cards without an image now size to their own content. Sites that prefer the old behaviour can restore it with the eventful_pro_show_no_thumb_placeholder filter.
  • Fixed The options panel loaded its framework script under a name shared with the free Eventful plugin, so running both together could serve the wrong file to the settings screen.
  • Fixed The map field in the options panel depended on a script name that was never registered, so it could load before the framework it relies on.

2.3.9

  • Fixed The live filter bar no longer raises “Undefined array key” warnings on PHP 8 when its AJAX endpoint is reached without the expected form data — for example from a stale page, a direct request, or a bot. The request now falls back to empty settings instead of erroring.
  • Fixed The event popup no longer raises an “Undefined array key” warning on PHP 8 when its AJAX endpoint is called without an event ID; it now returns an empty popup instead.

2.3.8

  • Fixed Live search no longer overloads the database. Typing in the search field fired four AJAX requests per keystroke, so a few characters put a dozen or more query-heavy requests on the server at once — enough to exhaust the database connection pool and briefly show “Error establishing a database connection” mid-search. Searches are now debounced and each new request cancels the one it replaces.
  • Fixed Event counts are no longer calculated by loading every matching event into memory. Totals for the results grid, the pagination bar and the front-end layout now run as ID-only queries, cutting both query time and memory use on every page view and AJAX request.
  • Fixed The live filter bar no longer runs a separate database query for every term in every filter group on each request. Repeated identical queries are reused within a request, and per-term count queries are skipped entirely when neither “Show Count” nor “Hide Empty” is enabled.
  • Fixed If a request fails server-side, the error page is no longer injected into the results area — the currently displayed events stay on screen instead.

2.3.7

  • Fixed Accordion layout no longer depends on jQuery UI — expand/collapse, the 250ms height animation, keyboard support (Enter/Space) and ARIA are now handled by the plugin’s own script, so the layout works on sites where jQuery UI is dequeued or conflicts with a theme.
  • Fixed Clicking a link inside an accordion header (event title, category/venue meta) now only toggles the panel instead of navigating away; social share buttons in the header still work as before.
  • Fixed Pre-made Templates now honour their own Thumbnail Size / Custom Size settings instead of silently falling back to the Custom template type’s Content Fields sorter size. The two template types no longer share a thumbnail size.
  • Fixed Swiper loading spinner no longer keeps spinning on top of an already-loaded image — preloaders are cleared for cached images, video/audio thumbnails, looped slide clones, and slides swapped in by AJAX filtering, pagination and Load More.
  • Fixed Equal-height cards in the Center carousel mode are no longer measured through the scale(0.9) transform, which previously grouped scaled cards into a separate row and clipped their content.
  • Fixed Event Meta Fields → Date Format select now shows its “Date Format” label, and the Custom Date Format field’s dependency points at the correct option ID so it appears when “Custom” is selected.
  • Compatibility Accordion layout icon and accordion thumbnail now fill the panel height; frontend CSS/JS and admin preview assets rebuilt.

2.3.6

  • New Accordion layout — a collapsible, panel-style view selectable from the Layout Preset picker (with matching accordion icon), reusing the existing query, filtering, pagination and AJAX system.
  • New Accordion Settings section — Accordion Mode (First Open, All Open, All Folded), an optional Expand & Collapse icon with configurable icon, size and color.
  • New Pre-made Accordion templates — Theme One, Theme Two, and Theme Three — selectable via the Template Style Accordion selector with live preview thumbnails.
  • Compatibility Frontend CSS/JS assets rebuilt.

2.3.5

  • New “Custom” Detail Page Link Type — link events to the URL stored in a chosen custom/meta field via the new “Select Custom Field” option. The value is validated as a URL before use and automatically falls back to the default single event page when the field is empty, invalid, or missing. Works across the event title, featured image, and read more button in every layout (Grid, List, Masonry, Timeline, Carousel, and Table).

2.3.4

  • New “Event Year” advanced filter — automatically populates a dropdown/button/radio/checkbox filter with the unique years that actually contain events (determined from the event Start Date), sorted newest → oldest with duplicates removed. Includes an “All Years” option and works across AJAX filtering, pagination, search, and category/tag/venue/organizer/date/timeframe/month filters. Years are gathered with a single index-friendly query so it scales for large event datasets.

2.3.3

  • New “Currently Happening” timeframe option — filters to events in progress right now (start on/before and end on/after the current date and time, using the site’s WordPress timezone). Supports all-day and multi-day events and works across AJAX filtering, pagination, search, and category/tag/venue/organizer filters.
  • Fixed Content with Limit (characters/words) no longer outputs raw markup such as block comments (<!-- wp:tribe/event-… -->) or unclosed tags (<img class="align…). Truncation now counts visible, rendered text, cuts on word boundaries, is multibyte-safe, and only appends the ellipsis when content is actually shortened — consistent across Grid, List, Masonry, Timeline, and Table layouts.

2.3.2

  • Fixed Load More Button (Ajax) pagination type no longer shows the numbered pagination bar alongside the Load More button. A CSS specificity conflict caused the numbered bar to stay visible even after it was hidden.

2.3.1

  • New Replace Layout option to replace The Events Calendar’s default event pages with custom Eventful layouts.
  • New Event Archive Page replacement support with three event retrieval modes — No change (chronological order), Change order only (use shortcode’s Order By), and Change completely (use all shortcode options).
  • New Event Category Page replacement with enable/disable toggle, layout selection, and event retrieval mode options.
  • New Event Tag Page replacement with automatic redirect routing from WordPress tag archives to The Events Calendar’s event-tag view, plus layout and retrieval options.
  • New Related Events section replacement on single event pages — select a custom Eventful layout to replace the default Related Events block.
  • Fixed Related Events now correctly positions below Event Details section on all single event templates, ensuring proper visual layout flow.
  • Fixed Event Meta Fields → Venue — City, State, Country, and Postal Code fields now display correctly in layouts when selected. Previously these fields were retrieved from the database but not included in the output.

2.3.0

  • New Table layout — a responsive data-table view selectable from the Layout Preset picker (with matching table icon), reusing the existing query, filtering, pagination and AJAX system.
  • New Custom Table mode — columns are driven by the drag-and-drop Content Fields sorter (Thumbnail, Title, Details, Content, Share, Custom Fields), keeping header and rows in sync.
  • New Pre-made Table templates — Theme One, Theme Two, and Theme Three — selectable via the Template Style Table selector with live preview thumbnails.
  • New Layout-aware dependencies that hide styling fields not applicable to the Table layout (Box Shadow, Title/Content/Read More/Meta/Social margins).
  • New Generator tabs and sub-tabs now remember the last selected tab and restore it when you return.
  • Fixed AJAX filtering/pagination no longer breaks the table markup — rows now target .table-responsive tbody only, preserving the table/header structure.
  • Fixed Table template preview image now updates instantly on selection change, matching Grid/List behavior.
  • Fixed Long cell content no longer expands columns — table uses fixed column widths with title/content truncation for a balanced, consistent layout.
  • Compatibility Responsive behavior keeps the table structure intact and scrolls horizontally on tablet and smaller screens instead of collapsing into a grid.
  • Compatibility Frontend CSS/JS assets rebuilt.

2.2.2

  • Fixed Thumbnail Size issue on slider layout.

2.2.1

  • New Timeline global colors option.

2.2.0

  • New Timeline layout with Vertical (5 styles) and Horizontal (3 styles) orientation, each selectable via visual layout preset picker.
  • New Timeline color controls — Date Badge color, Timeline Line color, Event Dot color, and Navigation Background color.
  • New Timeline Line Thickness control (works as line width for vertical, line height for horizontal).
  • New Month/Year separator option on vertical timeline.
  • New Carousel Style sub-picker (Standard, Ticker, Center, Multi-row) — split out of the main Layout Preset for a cleaner setup flow; demo URLs updated per style.
  • Fixed AJAX Load More now correctly continues the timeline-left/right alternation across pages — $start_count offset passed to eventful_pro_get_posts() so odd-sized batches no longer break layout.
  • Fixed Horizontal timeline now fetches all items and paginates client-side via Swiper (same as carousel/slider) to prevent layout breakage.
  • Fixed Removed leftover print_r debug output from Replace_Layout.php.
  • Compatibility DB migration script (update-2.2.0.php) converts old filter_options_group → event_type_time meta keys to the new eventful_event_type key for all existing shortcodes.
  • Compatibility Admin framework CSS and JS assets rebuilt.

2.1.25

  • Fixed add_filter changed to add_action for the init hook in Admin.php (init is an action, not a filter).
  • Fixed add_shortcode() called with extra priority/accepted_args arguments removed in Loader.php (WordPress only accepts 2 arguments).
  • Fixed Replaced deprecated current_time('timestamp') with time() in DBUpdates.php.
  • Fixed Update file includes now use EVENTFUL_PRO_DIR_PATH prefix instead of bare relative path in DBUpdates.php.
  • Fixed wp_safe_redirect() return value no longer passed to exit() in EventfulPro.php (it returns a boolean, not a string).
  • Fixed Double json_decode() in Import_Export.php replaced with single json_decode(wp_unslash($data), true) to prevent PHP 8 null-return bug.

2.1.24

  • New Events slider layout including pre-made templates.
  • New Content alignment option.
  • Compatibility Minor CSS improvements.

2.1.23

  • New Option to hide free events (events without price).
  • New Option to hide events without featured images.
  • New Help page in admin panel.
  • Fixed PHP warnings caused by accessing array offsets on boolean values in grid templates.
  • Fixed Image resize failures when image URL is missing or invalid.
  • Fixed Undefined variable notices in frontend templates (e.g., $is_attachment, $eventful_image_attr).
  • Improved Overall compatibility with newer PHP versions.
  • Improved Query filtering for better event visibility control.
  • Compatibility Minor CSS improvements.

2.1.22

  • Compatibility Minor CSS improvements.

2.1.21

  • Compatibility Minor CSS improvements.
  • Compatibility WordPress 6.9.4 compatibility.

2.1.20

  • New Added: Event fields (Category, Title, Content, Venue, Price, Read More) for pre-made templates.
  • New Title & Content length controls for pre-made templates.
  • Compatibility Title & Content length support for custom templates.

2.1.19

  • Fixed image height issue for list layout.

2.1.18

  • New Minimal List Layout.
  • New Three pre-made templates for the Minimal List Layout.
  • New Two pre-made templates for the List Layout.
  • New Global color scheme options for easier branding customization.

2.1.17

  • Fixed Carousel thumbnail lazy load issue.

2.1.16

  • Fixed Issue with Eventful thumbnail meta attributes.

2.1.15

  • Fixed Event month filtering.

2.1.14

  • Fixed List layout issue to be always left or right.

2.1.13

  • New New option to determine event status by the event start date.
  • New Gutenberg block.
  • New Elementor widget.
  • Removed Appsero integration.
  • Improved Internal code structure.
  • Compatibility Minor CSS improvements.
  • Fixed Masonry layout issue in the admin preview.

2.1.12

  • New Masonry layout.
  • New Feature image custom sizes options.

2.1.11

  • New More event content positions.
  • New Pre-made templates option.
  • New Condense events in series.
  • New Eventful shortcode duplicate option.
  • New Event timeframe and month filter.
  • Fixed Issue where event SEO schema was not being detected correctly.
  • Fixed Export/import issues.
  • Compatibility WordPress 6.9 compatibility.

2.1.10

  • New Tools Export/Import option.
  • Compatibility Styling for settings panel.

2.1.9

  • Compatibility Enhanced SEO schema implementation.
  • Compatibility Metadata handling for single event popups.
  • New New custom post type support for single event popups.

2.1.8

  • Fixed Event time based order.

2.1.7

  • Fixed Issue with the default event type (time-based).
  • Security Ensured all data is properly sanitized, validated, and escaped.

2.1.6

  • New JSON-LD event schema markup for improved SEO.
  • New New filter option for event type (Time based).
  • Fixed Missing composer.json file while using Composer.
  • Compatibility Code improvements and compliance with latest WordPress Plugin Review Guidelines.
  • Security Ensured all data is properly sanitized, validated, and escaped.
  • Security Escaped all variables and options before output.

2.1.5

  • New Custom Fields support – display any event custom field directly in layouts.
  • New Options to customize field label, show/hide name, add icons, and control margins.
  • New Compatibility with Advanced Custom Fields (ACF), Pods, and Toolset.
  • New Embed support for custom fields with media (audio, video, image, tweets).

2.1.4

  • Fixed No ajax number pagination issue.
  • Fixed Google Fonts loading issue.

2.1.3

  • Fixed PHP Compatibility Issue.

2.1.2

  • Fixed Featured events filter.
  • Fixed Multi row loading issue.

2.1.1

  • New Marked The Events Calendar as required plugin.

2.1.0

  • New The Event Calendar plugin as a required plugin.

2.1.0

  • Fixed Navigation positioning issue for improved layout consistency.
  • Fixed Multi popup loading issues.
  • Improved Advanced filter options for greater flexibility.
  • Compatibility Titles and descriptions for settings/options for better clarity.
  • Compatibility Admin panel redesigned for a more intuitive user experience.
  • Compatibility Refined styling for single item popups.
  • New Clean-up data on deletion.

2.0.4

  • Fixed Event filter AJAX issue.
  • Fixed Translation-related warning with WordPress 6.8.

2.0.3

  • New Admin preview feature allowing administrators to view and test configurations before applying changes.

2.0.2

  • Fixed Some minor issues.

2.0.1

  • Fixed Taxonomy filter option.

2.0.0

  • Fixed Carousel and navigation issue.
  • Fixed Various CSS issues.
  • Fixed Code structure updated.
  • Compatibility Code compatibility with latest WordPress version.
  • Compatibility Code compatibility with latest PHP version.

1.1.7

  • Fixed Event list CSS.

1.1.5

  • Fixed Sort by event date filter.

1.1.4

  • New Option to sort events by event date.

1.1.3

  • Fixed Event meta separator.

1.1.2

  • Fixed Transition effect for carousel version.

1.1.1

  • New Type of event to show.
  • Fixed Author filter issue.
  • Fixed Sort by filter issue.
  • Removed Unnecessary exclude option for child post.
  • Fixed Coding errors using Plugin Check.

1.1.0

  • New All venue address options.
  • Fixed Some CSS issues.

1.0.0

  • New Initial release.