Dirigible Events changelog

Latest release: 4.1.46, 2026-10-08.

4.1.46 2026-10-08

Changed

  • Posts that the legacy Events block migrations rewrite keep their last-modified date.

4.1.45 2026-10-08

Changed

  • Recurring occurrences, which already point search engines to their parent event, are left out of the WordPress sitemap; an occurrence that sells its own tickets stays listed. Cached sitemaps show the change once the site cache refreshes.

4.1.44 2026-10-08

Fixed

  • Sites upgrading from before Events 4.0.1 keep backslashes in old event website links during the one-time migration.
  • An event's structured data now updates when its location or ticket product changes, and its ticket availability (in stock or sold out) follows sales instead of waiting for the event to be saved again. Needs Dirigible theme 5.31.98 or newer for the location and product part.

4.1.43 2026-10-06

Changed

  • An event's contact phone and email no longer appear in the site's public REST API for visitors. Event pages and the editor are unchanged.

4.1.42 2026-10-01

Changed

  • Starting templates with "Include block content" off now clear the Events and Location Events blocks' Link Text.

4.1.41 2026-10-01

Added

  • Ticket emails include an "Open your ticket" link under the QR code (and in the plain-text version), for mail apps that hide images.
  • "Resend event tickets" in an order's Order actions.

Changed

  • Event category pages show the 12 most recent past events, with Older events / Newer events links for the rest, instead of every past event on one page.
  • Ticket sales close when the event ends. An event with no end time sells until the end of the day it starts on. The event page then shows "Ticket sales have closed." in place of the buy button, including on cached pages.
  • Tickets can only be bought for published events. Drafts, scheduled and private events and events in the Trash no longer sell by any route (event page, product page, direct add-to-cart link, or a cart filled earlier), and their ticket product stays private until the event is published.
  • Occurrences that sell their own tickets are their own canonical page, so search engines can show each date. Ticket product pages are marked noindex and left out of the product sitemap.
  • Opening or saving a ticketed event no longer loads every paid order on the site, and sites with ticketing make four fewer database reads per uncached page.

Fixed

  • The Events Calendar highlights today and opens on the current month by the site's timezone. In the evening it used to jump to tomorrow, and on the last evening of a month to the next month.
  • Event pages with a video load faster when not cached: the player code is remembered for a week instead of being fetched from YouTube or Vimeo on every uncached view.
  • Event Countdown reads "1 day" and "1 hour" (was "1 days"), and screen readers get one named timer instead of loose numbers.
  • Map embeds without a title are announced as "Map: venue name", and the "+ G Cal" button is announced as "Add to Google Calendar (opens in a new tab)".
  • The play icon on video cards in event lists loads on sites where WordPress doesn't live in the default folder.
  • Partial refunds free the refunded seats and lower the number a QR code admits. A fully refunded line is no longer valid at the door.
  • A kiosk page left open overnight keeps scanning. If the device was signed out it says so, instead of rejecting every ticket with "Cookie check failed".
  • Restoring a ticketed event from the Trash carries on with the same ticket product, orders and sold count. Switching between a single price and ticket types after sales no longer trashes a ticket product that has orders.
  • Two scanners reading the same ticket at the same moment can no longer both check it in. With ticket types sharing the venue capacity, the cart and checkout count seats other shoppers are paying for, which closes most of the window for overselling the last seats.
  • Event structured data uses the store's currency instead of always USD, and the "more dates" menu on a ticketed series drops dates that have passed since the page was cached.
  • Kiosk page: the scan field no longer traps keyboard focus, and results are announced once to screen readers.

4.1.40 2026-10-01

Added

  • Skip one date of a recurring event by moving that occurrence to the Trash. The date stays skipped when the main event is saved again, even after the Trash is emptied, and "View recurring events" lists skipped dates with a Restore link.

Changed

  • Updating a long series is split into smaller background steps.

Fixed

  • Changing a recurring event's start time moves every occurrence to the new time and keeps its page address. Before, each occurrence was replaced by a new one at an address ending in "-2", and edited or sold dates were duplicated. Dates that already sold tickets now move with the series; occurrences you edited keep their own time.
  • Monthly series that an older version had drifted to the 1st–3rd move to the right day in place when the main event is saved: same occurrence, same ticket product, and the old address redirects.
  • Restoring a recurring event from the Trash restores its occurrences. Before, they stayed in the Trash and a second set was created. Trashing no longer marks occurrences as edited.
  • A recurring update that is interrupted (a timeout, or an update landing mid-run) picks up again automatically instead of leaving the "updating" notice running until the event is saved again.
  • Saving a recurring event twice in quick succession no longer leaves occurrences with the previous categories or ticket settings.

4.1.39 2026-10-01

Security

  • Events no longer changes other plugins' custom fields that share a field name with an event field (date, phone, website and others).
  • Block settings are escaped in event list templates, and the calendar feed only answers for 5 years back and 10 years ahead.

Changed

  • Repeat Ends now runs through the end of the day you pick, whatever time is entered. A series whose Repeat Ends falls on an occurrence day with an earlier time gains that last occurrence the next time the parent is saved.

Fixed

  • Saving a recurring event no longer re-attaches occurrences you had edited or overwrites their changes (sites without ticketing).
  • Occurrences of a recurring event now match the parent exactly. Forms, embeds and scripts in Custom HTML blocks, and "&" in block settings and links, were altered on occurrences created in the background. Existing occurrences are corrected the next time the parent is saved.
  • Monthly series that start on the 29th, 30th or 31st, and yearly series that start on February 29, no longer drift into the following month: they use the last day of shorter months. Affected series are corrected the next time the parent is saved.
  • Performer names and website titles with accents or quotes are no longer garbled on occurrences.
  • The Starts and Ends columns in the Events list sort by event date.
  • The "more dates" menu on ticketed series is announced as a list of links by screen readers.
  • Signed-in users without access to a kiosk or attendees page see a "no permission" message instead of a blank page.
  • Event category pages with no events no longer turn the rest of the page bold, and their heading order is correct.

4.1.38 2026-10-01

Fixed

  • Event cards are one stop each when tabbing (the image link no longer repeats the title), and the Events Calendar's Previous, Next and view buttons show a focus outline again for keyboard users.

4.1.37 2026-10-01

Changed

  • YouTube videos in the Events block (Preferred Image: Video) use the theme's click-to-load player on Dirigible theme 5.31.66 or newer: nothing loads from youtube.com until a visitor presses play, the video then plays in place in privacy-enhanced mode, and a start time or playlist in the video link is kept. Older themes keep the previous behaviour.
  • Blocks register from a prebuilt list instead of reading each block's settings file on every uncached request.
  • Update checks use the Dirigible theme's license handling, so a plugin with no license key no longer sends an empty one.

4.1.36 2026-09-30

Changed

  • Block stylesheet versions are kept in one saved setting and refreshed on updates, instead of a database read and a file check per block on every uncached page load.

4.1.35 2026-09-30

Fixed

  • The Events Calendar block no longer slows the editor down when you change its categories or alignment.

4.1.34 2026-09-30

Fixed

  • Style fixes to blocks now show in the editor, and on pages that load block CSS as a file, right after an update. Browsers and the host's cache used to keep the old stylesheet for up to a year; each block's CSS now gets a new address only when it actually changes.

4.1.33 2026-09-30

Security

  • Updates come only from Dirigible: WordPress no longer matches this plugin to a WordPress.org listing with the same name.

Changed

  • The installable zip is smaller: build sources, source maps, right-to-left stylesheets and Markdown are no longer shipped. Nothing sites load changed.

4.1.32 2026-09-30

Fixed

  • Ticket-type orders no longer fail with "Could not add tickets" on event pages that have been cached for a while.
  • When a ticket order can't be added (sold out, too many, or no quantity chosen), the event page says why instead of reloading silently.

4.1.31 2026-09-30

Security

  • Scanning a ticket for a different event no longer shows that ticket holder's name, email or order at the door, only "Wrong event".

Fixed

  • Remaining-ticket counts and sold-out state on event pages update when the page loads, so cached pages no longer show stale numbers or let visitors pick sold-out ticket types.
  • A visitor who lands while Dirigible Events is being updated sees "This site is updating, refresh in a minute" instead of a critical error, and error replies never include server file paths.

Changed

  • The Events Calendar feed caches whole months, so browsing the calendar hits the server less.

4.1.30 2026-09-29

Security

  • An event can only be linked to the WooCommerce ticket product Dirigible Events creates for it; saving an event can no longer attach it to another product.
  • Event venue, contact and link fields are cleaned when saved and escaped wherever they're shown.
  • Legacy calendar entries only link to web addresses.

Changed

  • Recurring event occurrences follow the main event: they stay unpublished while it's a draft, scheduled or private, and publish when it does.
  • Tickets from orders awaiting payment (bank transfer or cheque) still check in, but are flagged "Unpaid — collect payment" on the scanner and the ticket page.
  • Attendee lists load much faster on stores with many orders.

Fixed

  • The public calendar feed ignores unknown category IDs.
  • Failed Vimeo thumbnail lookups are retried hourly instead of on every page view.

4.1.29 2026-09-28

Changed

  • The block editor no longer downloads the Events Calendar library on every post; it loads only when an Events Calendar block is on the page (about 77 KB less per editor load, gzipped).
  • The front-end Events Calendar script is about 15 KB (gzipped) smaller. Calendars look and behave the same.

4.1.28 2026-09-28

Fixed

  • On cached pages, upcoming, future and ongoing event lists (Events block, Events by Location, event category archives) now hide events that have ended, checked in the site's timezone. Limited lists ("Show 3") stay full: the page carries a few hidden extra events to fill in, and the "no events" message appears only when nothing is left.

4.1.27 2026-09-28

Fixed

  • Recurring-event copies, syncing content from the parent event to its copies, and the legacy block migrations no longer turn escaped characters in block settings (&, quotes, <, >) into literal "u0026"/"u0022" text, which made blocks fail validation in the editor.

Changed

  • Event Countdown docs show the new searchable Event picker.

4.1.26 2026-09-28

Changed

  • Event Countdown's Event picker is now a searchable box listing upcoming events soonest first, instead of a long alphabetical dropdown of every event. Type part of a title to find one.
  • Each event in the picker shows its date, or date range for multi-day events (for example Every Tuesday (Oct 6, 2026)), so recurring occurrences and events that share a title are easy to tell apart. A countdown already set to a past event still shows its selection.
  • Events, Events Calendar, Location Events, Single Event, and Event Countdown can be added inside Dirigible Blocks' Column, Page Blocks panel, and Media Callout copy (needs Dirigible Blocks 4.10.96 or later; no change on older versions).

Fixed

  • Event titles containing & (and other special characters) no longer show as & in the Event Countdown picker.

4.1.25 2026-09-28

Changed

  • Event Countdown's Event picker shows each event's start date, so recurring occurrences can be told apart. (4.1.26 replaces this picker with a searchable one.)

4.1.24 2026-09-28

Changed

  • The background job registry loads with the theme's settings query on wp-admin screens (Dirigible theme 5.31.20 or later), instead of two extra queries per screen.
  • The installable zip leaves out development files.

4.1.23 2026-09-23

Changed

  • Events Calendar keeps a clean page URL on the current month; ?cal=YYYY-MM is added only when visitors page to another month (shared links still open that month)
  • Recurring parent saves now sync shared event details to non-detached occurrences (location, organizer, schema, contact, template, performers, and related fields); occurrence dates, detached customizations, and ticket product links stay independent
  • Recurring background-job toasts now report eligible create/update counts and distinguish removal candidates from the number actually removed (for example, Updating 26 occurrences…)

Fixed

  • Single Event billboard previews no longer pass a missing Google Calendar URL to esc_url() when an autosave or revision has no start date

4.1.22 2026-09-22

Added

  • Settings sidebar screenshots and capture recipes for Events, Location Events, Single Event, and Event Countdown.
  • Featured showcase images for Event Calendar and Location Events.

Changed

  • Refresh Events CPT and block showcase screenshots; update glosses for Settings control coverage across event listing blocks.

4.1.21 2026-09-22

Added

  • Accessible alt text on showcase screenshots in screenshots.json for Dirigible Support docs (screen readers; pipeline falls back to caption when needed).

4.1.20 2026-09-21

Added

  • Sample data fixtures under docs/sample-data/ (WXR + wire + media) registered via ds_sample_data_sources for Dirigible → Import/Export demos and screenshots.
  • Front-end featured screenshot for Single Event (2880×1800).

Fixed

  • Docs config Blocks section now uses kind: blocks with namePrefixes: ["ds/"] so Events blocks publish correctly in Dirigible Support.

Changed

  • Retina featured screenshot and screenshot manifests for Events and Single Event blocks.

4.1.18 2026-09-15

Added

  • Contribute recurring occurrence and ticket-product job status to Studio’s global wp-admin toast stack via ds_admin_toasts, backed by a lightweight active/recent job registry (no post scans during polling).

Changed

  • Event editor no longer renders its own job toast overlay; Studio’s global admin toast controller is the only UI. The editor still dispatches ds-admin-toasts:refresh after a manual save.

4.1.17 2026-09-15

Fixed

  • Show a one-shot “Finished creating …” editor toast after recurring occurrences and ticket products finish in the background, auto-dismissed after 5 seconds, instead of treating the first idle poll as done.

4.1.16 2026-09-15

Fixed

  • Honor the featured-image focal point in the single-event editor preview so the canvas crop matches the sidebar marker.

4.1.15 2026-09-15

Added

  • Show a persistent editor toast with a spinner while recurring occurrences and ticket products are created in the background after Update.

4.1.14 2026-09-10

Fixed

  • Load WooCommerce ticketing after Studio’s canonical settings migrate on init. Constructor-time reads were falling back to pruned theme mods after 5.30, so ticketed sites booted without product sync, checkout stamps, QR check-in, or ticket emails.

4.1.13 2026-09-08

Changed

  • Read event Customizer values through ds_get_setting() with a get_theme_mod() fallback so this plugin can ship before Studio 5.30. After the parent cutover, canonical grouped options are required.

4.1.12 2026-09-01

Security

  • Sanitize map embeds with a strict iframe allowlist, including legacy values at render time
  • Make ticket check-in links read-only on GET; staff check-ins now require a nonce-protected POST
  • Neutralize spreadsheet formulas in attendee CSV exports and bound public calendar ranges

Fixed

  • Normalize HPOS order statuses so processing, completed, and on-hold sales count consistently
  • Interpret stored event wall-clock dates in the site timezone across countdowns, structured data, calendar links, ticket emails, scanning, and recurring-date navigation
  • Show every countdown on a page against the event’s real epoch without viewer-timezone adjustments

Performance

  • Generate recurring occurrences in supersedable background batches, reconciling deletions only after successful upserts
  • Coalesce query-cache invalidation, skip unchanged clone/product writes, and harden background product queues against stale jobs
  • Cache sold, order, and checked-in aggregates without hydrating attendee orders for editor or kiosk counters

Compatibility

  • Declare WordPress 6.3 and PHP 7.4 minimums, remove PHP 8-only string helpers, and repair the JavaScript/CSS lint toolchain

4.1.11 2026-09-01

Added

  • Events and Events by Location: Link Entire Card toggle makes each list/card/mini item fully clickable via a stretched overlay link (theme link-cover). Title and image links are suppressed when on; the Link CTA remains visible as styled text.

4.1.10 2026-09-01

Added

  • Events and Events by Location: Title Style now includes Small and Hidden
  • Date Style inspector control matching Title Style (Default, h1–h6, p, strong, Small, Hidden). Mini view defaults the date to Small and renders it outside the compact address/excerpt stack so heading-sized dates are not shrunk

4.1.9 2026-09-01

Fixed

  • Recurring parent title, block content, excerpt, and featured image copy onto non-detached occurrences on save (including sold dates that were never manually edited). Edited occurrences stay detached.

4.1.8 2026-09-01

Fixed

  • Recurring parent categories and tags copy onto non-detached occurrences on save (after the block editor writes terms). Removing a term on the parent clears it on those clones. Manually edited dates keep their own terms.

4.1.7 2026-09-01

Fixed

  • Classic checkout / cart / emails no longer append the ticket type UUID to the line name. Ticket variations display as the event title; Ticket Type stays on its own row.

4.1.6 2026-09-01

Fixed

  • WooCommerce cart block now shows the ticket type name (not the UUID). 4.1.5 only relabeled the attribute; the block reads variation values through a different filter than the classic cart.

4.1.5 2026-09-01

Fixed

  • Cart, checkout, and order emails show Ticket Type plus the type name (e.g. General Admission) instead of the internal ticket_type UUID

4.1.4 2026-09-01

Performance

  • Recurring parent saves sync ticket products after REST writes meta (block editor), so clones get the settings that were just saved instead of the previous request’s values
  • Standalone product sync skips recurring parents (the series pass covers them) so a save does not rewrite the parent product twice
  • Order status changes update variation stock only when ticket settings are unchanged (no full variable-product rebuild per order)
  • Clone Woo products are created/updated in background batches (Action Scheduler, WP-Cron fallback) so a long series cannot 30s-timeout the editor save. The parent product still syncs inline.

Note

  • After saving a ticketed series, occurrence buy buttons may appear over the next minute while clone products finish. An admin notice on the parent event shows how many dates are still syncing.

4.1.3 2026-09-01

Performance

  • Cache order-backed sold counts on the event (ticket_sold / ticket_sold_by_type) so buy-button remaining, the admin tickets column, and has_sales are meta reads instead of walking Woo orders
  • Recurring series save skips Woo product rewrites for clones whose ticket settings already match; missing products are still created

Note

  • After update, re-save the recurring parent event once so occurrences left without a ticket product get one. Already-ticketed clones stay cheap on later saves.

4.1.2 2026-09-01

Fixed

  • Recurring + ticket types no longer times out mid-save: clone regeneration creates posts first, then runs one Woo product sync pass for the parent and all occurrences (instead of syncing each clone multiple times per request)
  • Frontend buy button no longer runs full variable-product sync on every page view (stock reads from existing helpers; writes stay on save and order hooks)
  • has_sales checks skip Woo order scans when an occurrence has no linked ticket product yet

Note

  • After update, re-save the recurring parent event once to backfill ticket products for any occurrences that were left without a product due to the timeout

4.1.0 2026-08-20

Added

  • WooCommerce ticketing (Customizer Enable Ticketing): hidden ticket products, buy button on single-event layouts, order-backed stock, attendees meta box / page + CSV, staff check-in QR emails, Event Scanning kiosk (/event-scan/{event_id}/), and ticket types as product variations
  • Recurring + ticketing safety: protect sold/edited occurrences on regen; parent ticket settings sync to non-detached clones

Fixed

  • Single Event editorStyle targets .editor-styles-wrapper instead of #wpbody so only-child / full-bleed layout works in the WordPress 7.1 iframed editor

Note

  • After update, flush permalinks if check-in, ticket QR, scan, or attendees URLs 404

4.0.29 2026-08-11

Fixed

  • Soft-flush rewrite rules on every plugin version bump (after CPT registration) so single-event URLs do not 404 until Permalinks are saved manually

4.0.28 2026-08-11

Performance

  • Event list / location / calendar / category-archive queries cache matching post IDs for 24 hours (invalidated on event save, delete, trash, untrash, and category changes)
  • Upcoming/past/ongoing SQL uses a maintained end_date_effective meta key (end_date if set, else date), cutting multi-JOIN wp_postmeta queries that could take several seconds on large sites
  • Dropped CAST(... AS DATETIME) in date filters now that dates are normalized to Y-m-d H:i:s

Fixed

  • Category archive template now uses the shared display-query helper (consistent empty-end_date handling, no_found_rows)

Migration keys

4.0.16 2026-07-27

Changed

  • Events Calendar loads events from GET /wp-json/ds-events/v1/calendar by visible date range instead of embedding all events in data-events HTML
  • Calendar payload is FullCalendar-native (title, start, end, url only); legacy inline data-events still works as a fallback

Fixed

  • Calendar REST feed date overlap now parses Y-m-d H:i:s / YmdHis in PHP (SQL CHAR compare across formats returned empty results)

4.0.15 2026-07-27

Changed

  • Upgraded Events Calendar to FullCalendar Standard v7 (fullcalendar + temporal-polyfill, classic theme)
  • Calendar month is shareable via ?cal=YYYY-MM (read on init, written with history.replaceState on navigate; skipped in the block editor)
  • Calendar styling maps Dirigible tokens onto FullCalendar classic CSS variables (--fc-classic-*) instead of heavy DOM overrides

4.0.14 2026-07-27

Changed

  • Events Calendar FullCalendar now comes from npm (@fullcalendar/core + @fullcalendar/daygrid v4.4.2), bundled into the webpack view/editor entries
  • Removed vendored UMD FullCalendar files, unused interaction plugin, and orphaned dist/ds-calendar* scripts
  • Calendar style.css is Dirigible overrides only; FullCalendar base CSS ships via view.css / index.css

4.0.13 2026-07-27

Fixed

  • Billboard footer markup: wrapper now correctly contains categories, All Events, and GCal; GCal shows without requiring an Events Page
  • Sidebar/Simple/Article website and email inherit from linked Location (matched billboard)
  • Address zip visibility uses $showZip (was incorrectly gated on $showStreet)
  • Location website registered in REST meta for Single Event editor preview
  • Event countdown no longer throws when the event has started (removed dead ds-events-countdown-number selector)
  • Escaped excerpt, website, phone, and GCal output in single-event parts
  • Customizer defaults for Show Categories / Show GCal aligned with activation (true)

4.0.12 2026-07-27

Fixed

  • Show Excerpt no longer requires Customizer dse_show_excerpt at render time — the block toggle is authoritative (theme mod only seeds the default on new blocks)
  • Editor shows a placeholder when Show Excerpt is on but the post excerpt is empty
  • Excerpt falls back to short_description meta when the post excerpt is blank

4.0.11 2026-07-27

Fixed

  • Billboard editor contact icons use theme mask SVGs (with inline SVG fallback) instead of dashicons, which weren't visible in the canvas

4.0.10 2026-07-27

Fixed

  • Register Location contact/address meta (street_address, city, state, zipcode, phone, email_address, location_embed) in REST so Single Event editor can read linked venue data from meta

4.0.9 2026-07-27

Fixed

  • Billboard editor preview now matches frontend: city/state/zip, website/phone/email icons, and excerpt
  • Editor address/phone/email resolve from the linked Location when present (same as PHP $source)
  • Billboard frontend shows excerpt when Show Excerpt is on

4.0.8 2026-07-27

Fixed

  • Single Event editor title/venue/excerpt preview decodes HTML entities (e.g. D&D → D&D)

4.0.7 2026-07-27

Fixed

  • Single Event Show Excerpt: editor preview now reads the REST excerpt raw/rendered object (was treated as a string and never displayed)
  • Article layout now outputs the excerpt when Show Excerpt is on (matched Sidebar / Simple)

4.0.6 2026-07-27

Added

  • Featured Image Aspect Ratio control on Single Event (Default / None / 5:1 … 9:16), applied in Sidebar, Simple, and Billboard layouts

4.0.5 2026-07-27

Added

  • Event Meta panel (schema status, performers, tickets) mirrored in the Single Event block sidebar alongside Event Information
  • Recurring clone UX (detach modal / re-attach) bundled into the webpack admin entry

Changed

  • Admin editor scripts ship from build/admin/ only (no raw IIFE enqueue for recurring)

4.0.4 2026-07-27

Added

  • Single Event editor video preview via WordPress oEmbed proxy (matches frontend embeds)
  • Appearance controls on Events by Location (title, image, excerpt, link, spacing, address)
  • Explicit theme-mod fallbacks for show phone/site/email/address/gcal and categories

Fixed

  • Editor layout scaffolding: Simple / Sidebar / Article no longer nest an extra layout-blocks wrapper; Billboard content area keeps frontend markup
  • Location Events list wrapper uses data-events (aligned with Events list)
  • Single Event editor CSS covers ds/single-event as well as legacy ACF selectors

Removed

  • Orphan ACF field group src/fields/events.php and entity.json fields reference

Docs

  • Events CPT and Location Events docs updated for native meta + ds/single-event

Packaging

  • Plugin header no longer claims “Requires Dirigible Theme”; Locals plugin remains optional for venue linking

4.0.3 2026-07-27

Added

  • Shared Event Information form in Document settings and Single Event block inspector (same post meta)

Fixed

  • Location dropdown in Block sidebar (detect locations post type at render time; no longer depends on script-localize timing)
  • Location empty option labeled Custom instead of None

Changed

  • Admin Event Information / Event Meta panels built with @wordpress/scripts → build/admin/

4.0.2 2026-07-27

Removed

  • DSE HTML fragment cache (DSECache / DSECacheFetcher) and Customizer cache time/debug settings
  • One-shot upgrade purge clears leftover dse_html_* / dse_lastCached_* transients

4.0.1 2026-07-27

Added

  • Native blocks: ds/events, ds/event-countdown, ds/location-events (plus existing ds/single-event, ds/events-calendar)
  • Native register_post_meta for event fields; Document Setting panels for Event Information / Event Meta
  • Runtime render_block_data remap + one-shot DB rewrite from acf/* → ds/*
  • Performers / website meta normalization from legacy ACF shapes

Changed

  • Plugin no longer depends on ACF
  • Helpers use ds_events_get_meta / ds_events_update_meta instead of get_field / update_field

Fixed

  • Events list templates resolve via DS_EVENTS_DIR (frontend render no longer blank from bad include paths)
  • DSE cache purge on migrate so stale empty HTML is not served after upgrade

Migration keys

Upgrade notes for live sites