Dirigible Events changelog

Latest release: 4.1.90, 2026-10-25.

4.1.90 2026-10-25

Fixed

  • Performers in an event's search engine details now give their kind as a plain type name (MusicGroup, PerformingGroup) instead of a full schema.org web address. Search engines read both, but the short name is the standard form. Existing events pick it up automatically on their next uncached view; nothing to re-save.

4.1.89 2026-10-25

Changed

  • Event card photos in the Events block's Cards display download a file closer to the size they're shown at. The size hint now leaves out the space between cards, so a three-across grid on a tablet no longer fetches a file one size too big. Needs the Dirigible theme 5.31.280 or later; the page looks the same.

4.1.88 2026-10-25

Fixed

  • On a site whose Footer & Contact → Country is Canada (or anywhere outside the US), a venue in a US state no longer reads as being in the site's country to search engines. A State with a US state's name (New York, Washington DC, …) is in the US on any site, and its two-letter code (NY, DC, …) on a Canadian site (CA itself stays Canada there), the same rule as Dirigible Locations. US sites see no change. Needs Dirigible theme 5.31.275 or later; with an older theme nothing changes. Events the theme had already cached are rebuilt on their next view once the theme has it.

4.1.87 2026-10-24

Fixed

  • Search engines no longer read every event venue as being in the US. A venue whose State is a Canadian province (ON, Ontario, QC, Québec, …) is in Canada, and other venues take the country set in the Dirigible theme's Footer & Contact → Country (theme 5.31.265 or later), or the US when it's empty, the same rule Dirigible Locations uses for its location pages. Events the theme had already cached are rebuilt on their next view.

4.1.86 2026-10-24

Changed

  • In Events → Import & Export, a performer with no type in the file comes in as a Group, the same as a new performer in the editor, instead of a Music Group. Exports now write (Music group) after music groups, so exporting and importing again changes nothing. A spreadsheet exported before this update lists music groups without a type: export it again before importing it back, or its music groups become groups.

Fixed

  • Performers with the Organization type keep it through an export and import; they came back as music groups.

4.1.85 2026-10-24

Fixed

  • Event images in the Events block's Agenda layout download a file about a third the size on large high-resolution screens, such as a 1440 px laptop: they're sized to the column they fill inside a Wide block, not to a share of the whole screen. They look the same.

4.1.84 2026-10-24

Changed

  • Background and Text Color for an event, in the sidebar's Style panel and the color button on the page, now always use the Dirigible theme's picker (theme 5.31.240 or later), and the plugin's own older copy is gone. Nothing changes for builders.

4.1.83 2026-10-23

Changed

  • An event without an organizer of its own names the site as its organizer in structured data by pointing at the business details the Dirigible theme already prints on every page (theme 5.31.101 or later), as blog posts do, instead of repeating the site's name and link. Events with an Organizer or Organizer website keep theirs, and older themes keep the inline organizer. Events the theme had already cached are rebuilt on their next view. Update Dirigible SEO alongside, or its Structured data report warns that these organizers have no name.

4.1.82 2026-10-23

Fixed

  • Search engines get dates only, not "midnight", for older and imported events saved without a time (starting at 12:00 am with no end, or ending at 11:59 pm), on the event page and on each upcoming date of a series. Events with the All day toggle already did.
  • A price written as text in Ticket Price on older events ("$10", "10 dollars") reaches search engines as a number, and text that isn't an amount ("Donation") is left out instead of sent as the price. "Free" there counts only with Free event on.
  • A price range in Cost or Ticket Price ("$10–20", "$5-15 suggested") now reaches search engines as a lowest and highest price, instead of no price at all.
  • A ticket product with no price no longer sends an empty price to search engines.
  • The event's video is described to search engines only when it has everything Google requires: a YouTube video without a featured image uses YouTube's own thumbnail, and a Vimeo video without one is left out. A video with no short description uses the event's title. It is now attached to the event the way schema.org defines it (as something about the event, with the video's page as its address), so validators stop flagging it.
  • A performer with no type, or a type the editor doesn't offer, is described to search engines as a performing group, not a music group or person. Performers without a name are left out.

Changed

  • A new performer in the editor starts as Group instead of Music Group, so a comedian or speaker isn't listed as a band. Existing performers keep their type.

4.1.81 2026-10-23

Changed

  • The Background and Text Color picker is the theme's shared one when the theme has it (5.31.240+), so its swatches can be reached from the keyboard and are named for screen readers. It works the same as before.

4.1.80 2026-10-23

Changed

  • In the block sidebar, the Single Event block's settings are split like People's: Layout for the layout, and Style for Title Style, Background and Text Color. Freeform, which shows only your content, has no Style panel or color button.
  • The layout choices' help text now appears only for Site Default, saying which layout it currently uses: "Uses the default setting in Events → Settings. Currently: Sidebar."

4.1.79 2026-10-23

Added

  • In the editor, a round color button floats at the top right of the event's page. It opens Background and Text Color, the same settings as in the block sidebar (needs the Dirigible theme 5.31.239 or later).

4.1.78 2026-10-23

Fixed

  • In the editor, the Edit button on a Cancelled, Postponed, Rescheduled or Moved Online notice works again (from 4.1.77), and sits centered on the notice.

Changed

  • In the editor, an event with no video or map shows a thin bar in its place instead of a large box, so your content stays in view. Empty photo, video and map parts now say "Select Edit to add one."

4.1.77 2026-10-23

Changed

  • In the editor, click an event's title on the page and type to change it, as you would a post's title. The editor's own title changes as you type, and an untitled event shows Add title there instead of “(Untitled)”.
  • In the editor, the bar at the top of an event holds the settings the page doesn't show: the layout, and the Status while it's Scheduled. A Cancelled, Postponed, Rescheduled or Moved Online notice stays on the page with its own Edit.
  • Each part's settings now open from that part: Aspect Ratio with the Photo, Show Time with Date & Time, Show Excerpt with Short Description, from Edit on the page or on the part's row under Event Details. The title has an Edit for its style too.
  • In the editor, a missing photo, video or map shows as an empty box in its place, and a missing date is outlined so it's clear the event needs one.
  • In the editor, a Cancelled or Postponed notice sits flush against the event, with no white gap, and an event with no short description and Show Excerpt off shows one note instead of two.

Added

  • Text Color (Dark or Light) for the Single Event block's background. Choosing a background picks the text color that reads better on it, and you can change it after. Existing events keep their dark text.

Fixed

  • The editor no longer triggers WordPress's warning about the deprecated media entity when it loads an event's photo.

4.1.76 2026-10-22

Changed

  • Internal: saving an event in the editor no longer stores an empty Skip dates row on events that skip no dates (with the Dirigible theme 5.31.225 or later). Events that skip dates keep their list, and the Skip dates control works as before.

4.1.75 2026-10-22

Changed

  • In the editor, an event's Layout picker sits on a light gray band across the top, and the page preview starts right below it.

4.1.74 2026-10-22

Changed

  • Centered: the photo is cropped to 16:9, so a tall photo no longer pushes the title and date below the first screen. Choose None under Featured Image Aspect Ratio to show it whole, or pick another ratio.
  • Map Split: more room between the map and the details on computers (they sat right against the map), and a shorter map on phones (20rem instead of half the screen), so the title and date come up sooner.
  • Photo Banner and Video Hero: the venue and contact details sit on the left when the event has no categories, excerpt or tickets, instead of alone at the far right.
  • Box Office: the card's Tickets label shows only when there's a cost, a buy button or a ticket link, not above a lone calendar button.

4.1.73 2026-10-22

Fixed

  • Event editor: the layout bar lines up with the page. The bar at the top of an event (its layout and Change) and the Status prompt now sit at the page's content width instead of stretching edge to edge, and the gap between them and the event's layout is gone. Event pages don't change.

4.1.72 2026-10-22

Added

  • Seven more event page layouts, under the Single Event block's Layout and Events → Settings → Default Single Template, each with its drawing. Poster: the photo whole, at its own shape (a gig flyer), beside the details. Series: a recurring event's repeat rule in words and its upcoming dates, each linked to its own page; dates that pass drop off on their own, even on cached pages. Freeform: only what you build inside the block. Lineup: a gig poster with the performers, the headliner first. Box Office: the details beside a tickets card with the cost and the buy button, or a Get tickets button to the event's Ticket URL. Video Hero: the video across the top. Map Split: the map beside the details. They follow the same Events → Settings toggles and ticketing as the other layouts and add no stylesheet.
  • A notice for cancelled and postponed events. An event whose Status is Cancelled, Postponed, Rescheduled or Moved Online now shows a notice at the top of its page, in every layout (*Cancelled: this event won’t take place.*). Events already marked with one of these statuses show it after this update: until now the status only went to search engines. Event lists and the calendar don't show it. Developers can change or remove it with the ds_events_status_notice filter.
  • Status, Lineup and Ticket Link in the editor. The event's sidebar panel has its own rows for Status, the performers (Lineup) and tickets sold elsewhere (Ticket Link); Search Engine Details keeps Attendance Mode and the organizer. The fields save as before.

Fixed

  • Centered layout: categories centered under the rest of the details, not on the left.

Upgrade notice

  • Going back to an earlier Events release shows events set to one of the new layouts in the Simple layout until you choose another, and stops showing the status notice.

4.1.71 2026-10-22

Added

  • Four more event page layouts. Choose them under the Single Event block's Layout, or for every event under Events → Settings → Default Single Template, each with its drawing. Details Right: Sidebar mirrored, with the details on the right. Photo Banner: the photo across the page, dimmed, with the title and date over it, and the other details in a row below. Centered: the photo, title and every detail centered in one column. Details Bar: the title, then the date, venue, cost and contact in a row of columns, with no photo. They follow the same Events → Settings toggles and ticketing as the other layouts and add no stylesheet. Existing event pages don't change.

Upgrade notice

  • Going back to an earlier Events release shows events set to one of the new layouts in the Simple layout until you choose another.

4.1.70 2026-10-22

Added

  • Pick an event's layout from drawings. In the block editor, a bar at the top of the event names its layout (*Site Default (Billboard)*), with a small drawing and a line on what it shows; Change opens the layouts as tiles with a drawing of each, the same drawings as Events → Settings. The block's own Layout setting uses the same tiles. Needs Dirigible theme 5.31.217 or later; with 5.31.216 the layouts stay a list of buttons.

4.1.69 2026-10-22

Added

  • Edit an event on its page. The block editor shows the event page as visitors see it, in its layout, and each part (date and time, cost, tickets, photo, short description, categories, venue, contact details, map, video) has an Edit button that opens its fields in a pop-up. Parts with nothing in them show a short prompt; parts the page hides are faded, with a note naming the setting that hides them (*Show Phone is off in Events → Settings*, the block's Show Excerpt, or a layout without that part). The sidebar's Event Information, Ticketing and Event Meta panels become one Event panel with a line per part and the same Edit buttons, plus Layout and Search Engine Details. Fields save exactly as before, and event pages don't change. Needs Dirigible theme 5.31.216 or later; with an older theme the editor stays as it was.

4.1.68 2026-10-22

Added

  • Event page preview in Events → Settings. Under Event Pages, a sample event (a made-up flower market, not anything from your site) shows the event page with your layout, detail and date settings, and updates as you change them, at desktop, tablet or phone size, before you save. Needs the next Dirigible theme release; until then the page has no preview.

Changed

  • Event Pages toggles sit side by side, with Show Excerpt's note inside its tile (needs the next Dirigible theme).
  • Billboard shows event categories by default, like the other layouts. On sites that never changed Show Categories, Billboard event pages now show up to three category buttons in their footer row, matching what the setting, the block editor and the other layouts already showed. Sites that turned Show Categories off keep it off.

Fixed

  • Billboard event pages follow Show Phone, Show Website, Show Email and Show Address. Turning one off in Events → Settings now hides it on Billboard pages too, as on the other layouts; the venue name still shows. With all four on (the default), Billboard pages are unchanged.

4.1.67 2026-10-22

Changed

  • Events settings moved to Events → Settings. They used to be under Appearance → Customize → Dirigible Events. They keep their values, so there's nothing to set again, and old links to the Customizer open the new page. Settings are grouped as General, Event Pages and Ticketing, with a list of the three beside them. Default Single Template shows a small drawing of each layout, and the date and time formats have hints with examples. Needs the next Dirigible theme release: until a site's theme updates, the settings stay in the Customizer.
  • Default Single Template drops the old Default choice. It always looked the same as Simple, so sites still on it move to Simple when Events updates, and their event pages don't change. A Single Event block's own Default layout still follows this setting, so changing it moves every such event at once.
  • A new Slug takes effect when you save. Event addresses switch to the new slug on the next page load, and old addresses usually redirect, with no visit to Settings → Permalinks needed. This also works when the slug is changed in the Customizer or by a settings import.

4.1.66 2026-10-22

Added

  • Agenda for the Events by Location block. Display As has the Agenda layout the Events block gained in 4.1.65 (date badge, time, title, excerpt, image and ticket line under month headings), limited to the block's location. The venue name isn't repeated, and its Address choice starts at Hide. The Agenda panel has Month Separators, Image Position, Excerpt Length and Show Tickets / Ticket Link Text; the search, category and date filters and paging stay on the Events block. Existing Events by Location blocks are unchanged.
  • Events Calendar: List Page Link. Under Navigation, the address of a page with the Events block's Agenda layout adds the same List | Calendar switch above the calendar, so a list page with a Calendar Page Link and its calendar page link both ways. Nothing is printed without one.

Changed

  • Agenda shows the full address by default. The Events block's Agenda layout has its own Address choice in place of Show Address: Full (the default) prints the street, city, state and zip after the venue name, Choose Parts uses the Show Street / City / State / Zip toggles, and Hide leaves it out. The other layouts keep Show Address, off by default, and render as before.
  • "N tickets left" everywhere. The buy button on an event's page said "12 tickets remaining" (and "(12 remaining)" per ticket type) while the Agenda layout said "12 tickets left"; both say "left" now. Order emails and the Attendees and Ticketing panels are unchanged.

Fixed

  • Import notes from events reach the report. An import from The Events Calendar wraps each event's save to remember its old address, and the wrapper dropped whatever the save returned, so a note from it could never appear in the import's report (the same gap Dirigible Locations closed in 4.0.49).

4.1.65 2026-10-22

Added

  • Agenda layout for the Events block. A fourth Display As choice, in the style of a show calendar: each event has a date badge (weekday and day), the time ("October 23 @ 8:00 pm - 9:00 pm"; no times for an all-day event, both days for one that spans days), the title, the venue in bold with its address, a trimmed excerpt, the image on the right (or left), and a ticket line, with events grouped under month headings. The ticket line shows the event's Ticket URL as a link, its Cost (or Free), and, for tickets sold on the site, the price and a live "N tickets left" count. An Agenda panel adds optional filters above the list: a search box, a category dropdown, a From date to jump ahead (with a Today link back), Previous / Next pages of Events To Show each, and a List | Calendar switch to a page with the Events Calendar block. Filters are plain page addresses, so a filtered list can be shared and the host can cache it; the counts refresh when the page opens. Existing Events blocks are unchanged.

Fixed

  • Single Event editor panel shows the repeat options again (Every N, weekdays, ends, skip dates): its editor script wasn't rebuilt in 4.1.61–4.1.64.

4.1.64 2026-10-22

Fixed

  • Search engines see a recurring event's upcoming dates. A series' occurrences point search engines to the parent event, but the parent's page only told them its own first date, often months past, so the dates still to come never reached search results. The parent's page now lists the series' next 10 dates as separate events, each with its own date, time and status (a cancelled or postponed date says so; occurrences that sell their own tickets keep their own page and aren't repeated). Past dates drop off by themselves, a series with no dates left reads as before, and one-off events and occurrence pages are unchanged. Dirigible SEO's Structured data check reads the same list.

4.1.63 2026-10-21

Fixed

  • An old Map Embed no longer blocks saving an event. Any edit sends the stored Map Embed back with it, so an embed saved before the 4.1.50 rules (another site's iframe, say) failed every save of an event without a linked location with "Map Embed: paste the map's embed code…". Only a changed Map Embed is checked now; an unchanged one stays as it was (and still shows) until it's replaced or cleared.

4.1.62 2026-10-21

Added

  • Old Events Calendar addresses redirect. After Move from The Events Calendar, once The Events Calendar is deactivated its old addresses send visitors and search engines permanently (301) to the new pages: /event/<name>/ to the Dirigible event (an Events Calendar Pro date address to that date's occurrence), /events/ and its views (list, month, today…) to the page with the Events or Events Calendar block, and /events/category/… and /events/tag/… to the category or tag. Only published events are sent to, nothing redirects while The Events Calendar is active, undoing the import removes the redirects with the events, and there's nothing to set up.

4.1.61 2026-10-21

Added

  • Repeat options. A recurring event can now repeat every N days, weeks, months or years; weekly on several days of the week ("every 2 weeks on Tuesday and Thursday"); monthly or yearly on the same day of the month or on the same weekday (the third Wednesday, the last Friday); yearly in more than one month (March and September); and end on a date, after a number of times, or never (a series with no end gets its dates two years ahead, and a weekly background job keeps adding the next month). A line under the controls says the rule in words, like "Every 2 weeks on Tuesday and Thursday, until March 3, 2027", and the Events list's Status column shows the repeat. Series made before keep exactly the dates they had: Bi-Weekly reads as every 2 weeks.
  • Skip dates on a recurring event: add the dates the series shouldn't run on (a holiday); each one's occurrence moves to the Trash, and removing a date brings its occurrence back. Trashing an occurrence from the occurrences list adds its date to the same list.
  • Import & Export carries every repeat setting (Repeat interval, Repeat weekdays, Repeat on, Repeat months, Repeat ends, Repeat times) and the Skip dates, and the preview says each series' rule in words.
  • Move from The Events Calendar brings over every Events Calendar Pro repeat rule the options cover: custom intervals, weekdays, a monthly or yearly series on the first date's weekday, several months, ending after a number of times or never, and the dates it skips (single dates and exclusion rules, worked out against the series). A rule the options can't say (more than one rule, a weekday that isn't the first date's) still comes over as one event with a note; extra one-off dates get a note too. Before, a series with no end stopped after a year, and anything beyond every day/week/month/year was a single event.

4.1.60 2026-10-21

Added

  • All day. An All day toggle in the event's Event Information panel, for events without times (a festival, an exhibition, a holiday). The Starts and Ends fields take dates only, the event runs the whole day or days in the site's time zone, and everywhere it appears shows dates without times: the event page, event lists, the calendar (where it sits in the day's all-day row), the Google Calendar button, ticket emails and the details search engines read. Import & Export has an All day column, and Move from The Events Calendar brings the setting over instead of noting it, so an all-day event no longer reads "12:00 am – 11:59 pm".
  • Cost. A Cost field in Event Information, shown on the event page under the date as written: "$10", "Free", "$5–15 suggested". It's for telling visitors the price; tickets sold on the site through WooCommerce keep their own prices. When the cost is one amount (or Free) and the event has no ticket price of its own, search engines get it as the price too. Import & Export has a Cost column, and Move from The Events Calendar fills it from the old plugin's cost, with its currency symbol.

4.1.59 2026-10-21

Added

  • Move from The Events Calendar. Sites that run The Events Calendar (StellarWP) get a Move from The Events Calendar button on Events → Import & Export → Import (needs the latest Dirigible theme). It reads that plugin's events on the same site, no export needed: title, content, excerpt, featured image (shared, not copied), categories and tags, start and end, venue name and address (linked to the Location of that name when Locations is on), organizer, website, cancelled or postponed status, and a daily, weekly, monthly or yearly repeat from Events Calendar Pro. The preview says what can't come over (costs, tickets, all-day, other repeat patterns), nothing changes until you choose Import, and Undo removes exactly what it added. The Events Calendar's own events are never changed, and the button works after it's deactivated too.

Fixed

  • Import & Export: an imported event's content now sits inside the Single Event block, so its page shows the date, venue, image and details like an event made in the editor. Before, an event from a spreadsheet showed only its text.

4.1.58 2026-10-21

Security

  • Linked locations: event pages, their search-engine data and the map show a linked location only once that location is published. An event linked to a draft or private post (of any kind) printed that post's title, link and contact details for every visitor. A location the person saving can't see, or a post that isn't a location, is no longer saved as the event's location. Linked a draft location? The venue shows as soon as you publish the location.
  • Event Countdown counts down to published events only, so a draft or private post's title never shows in it.
  • Recurring events: the settings that tie an occurrence to its series can only be set by the plugin, and trashing an occurrence skips that date only for someone who can edit the series. Before, an author could attach their own event to another author's series and skip its dates.
  • Map Embed with an older Dirigible theme: positioning (position, z-index, top, left, inset, transform) is dropped from the embed's style, so a map can't be stretched over the whole page. Newer themes do the same.
  • Re-Attach Event (Discard Edits) deletes the occurrence and rebuilds it from the series, so it now also needs permission to delete it; the button is hidden for anyone without it.
  • Tickets: the "View orders" product filter applies on the WooCommerce Orders list only, not on other admin requests.

4.1.57 2026-10-21

Added

  • Events → Import & Export (needs the latest Dirigible theme). Import a season's events from a spreadsheet, or update venues, ticket links and times across many events, with a preview first and an undo afterwards. Rows can link a location by name, list performers, and set up repeating events (their dates are made after the import, as in the editor). A row matches an existing event by web address, or by title and start. Repeating events export once, with their repeat settings. Tickets sold on the site (WooCommerce) are never imported or exported.

4.1.56 2026-10-21

Fixed

  • Events Calendar: the weekday headings (Sun, Mon…) are now readable by screen readers, the day numbers from the previous and next months are darker so they're easier to read, and each event in a day is at least 24 px tall so it's easier to tap.

4.1.55 2026-10-21

Fixed

  • "Older events" pages of an event category (?past_page=2 and on) name themselves to search engines instead of pointing at the category's first page, so older events get found. Needs Dirigible SEO 2.3.63 or newer.

4.1.54 2026-10-21

Added

  • Free event in Event Meta tells search engines an event is free. Events selling WooCommerce tickets at 0 count as free on their own.

Fixed

  • Event structured data: names and descriptions read as plain text (no "’" or tags); a typed price of 0 (or none) is left out rather than shown to Google as free; empty address parts are left out instead of printed as null; Online events give their page as a VirtualLocation, and Mixed events give both the venue and the page. Existing events pick it up on their next view after the update.
  • Event category pages at /page/2/ and on, which only repeated page 1, redirect to the category; "Older events" pages (?past_page=) are unchanged. Buy tickets links ask search engines not to follow them.

4.1.53 2026-10-20

Fixed

  • A date in a repeating event whose main event is still a draft now tells search engines it's its own page, instead of pointing at the unpublished main event. Dates in published series still point at the main event.

4.1.52 2026-10-19

Added

  • Map Embed accepts Bing Maps' embed code (on Bing Maps, Share, then Embed a map). Needs Dirigible theme 5.31.177 or later.

Changed

  • Saving an event whose Map Embed can't be embedded (another site's embed code, a link, or plain text) now stops with "Updating failed. Map Embed: paste the map's embed code…", naming the maps and videos that work, instead of saving the field empty. The pasted code stays in the field to fix. An embed that only loses extra text or links around its iframe saves as before. Events with a linked location aren't checked: their own Map Embed is hidden and the location's map shows.

4.1.51 2026-10-19

Changed

  • Map Embed uses the Dirigible theme's map embed check when the theme has it, the same one Dirigible Locations uses, so a provider a developer adds with the theme's ds_map_embed_providers filter works for both. A saved embed that is only an iframe following the rules shows exactly as pasted. Otherwise only the iframes are kept: text and tags around them (OpenStreetMap's "View Larger Map" link, a wrapper such as Vimeo's responsive box, <script> and <style> blocks) are removed, so paste the bare iframe, and an iframe left unclosed is closed instead of hiding the rest of the event page. With that theme, saving a Map Embed with an http:// address removes it: use the https:// code Google Maps and OpenStreetMap give you.

4.1.50 2026-10-15

Security

  • An event's Map Embed (its own, or its linked location's) now accepts only maps and players from Google Maps, OpenStreetMap, Mapbox, YouTube and Vimeo when it's saved, so an author account can't frame a fake checkout or another site over an event page. An embed from another site that was saved before this update still shows. Embeds can no longer ask visitors' browsers for the camera, microphone, location or payments. The map embeds Google and OpenStreetMap give you show exactly as before.
  • Location phone numbers and email addresses are no longer listed to logged-out visitors by the site's public data feed (/wp-json/wp/v2/locations), which let anyone download a site's whole contact list in one request. Location and event pages still show them, and the editor still sees them. Events already hid the same details on events.

Fixed

  • Ticket types that share an event's capacity can no longer sell past it when two people check out the last seats at the same moment through different types. Checkouts for the same event now take turns for the split second it takes to reserve the tickets; a buyer who would wait more than a few seconds is asked to try again.

4.1.49 2026-10-14

Changed

  • Event images in lists download a file sized for how they're shown. Mini thumbnails (64 px, such as a Location's upcoming events) asked for an image a third of the screen wide and now fetch a small one; cards follow their columns per row, and List images a third of the row. Pages with many events load much less.

Fixed

  • The Billboard event layout's hero image could look soft: from tablet width up it fills two thirds of the page but asked for a file a third as wide, and on phones a wide photo is zoomed to fill the tall frame. It now asks for a file wide enough in both cases.

4.1.48 2026-10-13

Fixed

  • Event search data (JSON-LD) no longer sends Google an empty end date when an event's end date can't be read or is earlier than its start: it uses the start date, which clears Search Console's "Date/time not in ISO 8601 format" warning. An event whose start date can't be read leaves the event data out instead of sending empty dates.

4.1.47 2026-10-12

Changed

  • With a Dirigible theme that has the shared Status column, an event's series label (Weekly, Daily, Occurrence, Detached…) appears there next to Draft, Public and the other states. With older themes the plugin's own Status column stays.

Fixed

  • WooCommerce's email preview no longer stops with an error when previewing the event ticket email.

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

Built by Dirigible Studio. Get in touch