Changelog

Every HappenBoard release, newest first.

1.0.0

Latest

66 changes

Version 1.0.0#

Before you update
First stable release. Database update: recurring events are rebuilt in your site's time zone and RSVPs get their date. Back up first. Required by HappenBoard Pro 1.0.0.

  • IMPORTANT: This release updates the database on the first page load after the update. Recurring events are rebuilt in your site's time zone, the exceptions you saved move with them, and existing RSVPs on recurring events are given the date they were made for. Back up your site before updating.
  • IMPORTANT: HappenBoard Pro 1.0.0 requires this version.
  • NEW: An RSVP on a recurring event is for one date, and the event's capacity applies to each date. The Attendees screen shows, filters and exports each attendee's date, and can move an attendee to another date, emailing them the new date with a calendar file.
  • NEW: The RSVP form offers every date of a long series, 60 at a time, and says when a date is full.
  • NEW: Booking page: customers can choose how long to book and, when the booking type lets them, their host. The price is quoted live as they choose, deposit included. A signed-in visitor finds their name and email filled in.
  • NEW: Availability: write the whole rule stack (date ranges, seasons, weeks, weekdays, closures), let a booking type be open by default, set the time of the first slot and the weekdays a booking can start on.
  • NEW: Bookings can be shown as a layer on the admin Calendar.
  • NEW: A declined booking request gets its own "request declined" email instead of a cancellation, and its own Declined status: a tab on the Bookings screen, "Request declined" in My Bookings and on the booking link, which no longer offers to cancel it. Requests declined before this version stay listed as cancelled.
  • NEW: The event address base (events by default) can be changed under Settings → Permalinks. Pages under the base are served, and conflicts are reported in Site Health.
  • NEW: Classic themes get the full single-event page, and the event archives show the same blocks as the block templates.
  • NEW: Customers can move a booking to another time from the link in their booking emails. A moved booking is emailed with an updated calendar invite, a cancelled one is taken out of the customer's calendar, and hosts and the site admin are told about new, moved and cancelled bookings.
  • NEW: Attendees are emailed when the date they registered for is cancelled or moved, and when their RSVP is cancelled. RSVP emails say where the event takes place and which time zone its time is in, and the reminder carries the cancellation link.
  • NEW: Venue and organizer pages show the address, contact details and upcoming events, with Site Editor templates of their own. Event tags get an archive template like categories.
  • NEW: Event Query Loop: "Today", "This week" and custom date ranges, and a search attribute (set in the code editor, or by HappenBoard Pro's Filter Bar).
  • NEW: Multilingual sites: RSVP emails are sent in the language of the event the attendee registered on, booking emails in the language of the page the booking was made on, and the site's iCal feed lists one language's events.
  • NEW: Multilingual sites: an event's translations share its seats. Registrations on every translation count against the default language's capacity, each page shows the same seats remaining, one email registers once whatever the language, and the admin's attendee list and export of an event show every translation's attendees with their language.
  • NEW: AI agents: HappenBoard has its own MCP server. Paste its address into Claude, ChatGPT, Cursor or any MCP client, sign in with your WordPress account, and choose whether the connection may only read or may also make changes. Settings → AI agents shows the steps for each client, the connected clients with a Disconnect button, and a setup check. AI clients can now create and update events, bookings, RSVPs, venues and organizers; deleting, and cancelling a booking, stay out of their reach. A connection that may make changes can set an attendee's status, cancelled included, as the Attendees screen does.
  • NEW: Extension points used by HappenBoard Pro: person types on bookings, the price stored on each booking, online deposits and card holds for requests that need approval, a filter to refuse free RSVPs on an event, a filter that marks an event as ticketed, and undone check-ins and wrong-event refusals in the attendee timeline.
  • NEW: A new setup wizard: one step per screen, a live preview of your first event and of the emails your attendees receive, and on the last screen an optional newsletter sign-up (nothing is sent before you click Subscribe).
  • NEW: Venues screen: each venue with its photo and address, a grid view, filters by city, country and "Not on the map", and a panel with the venue's details.
  • NEW: Calendar: click the month or date in the heading to jump to another month or day.
  • NEW: The event editor's guide has a picture on each page, and the Dashboard opens on a new Welcome banner.
  • IMPROVEMENT: The WordPress admin bar stays visible on HappenBoard screens, the status tabs use the WordPress design system, and the HappenBoard menu has its own icon, just below Pages.
  • IMPROVEMENT: HappenBoard is now licensed under GPLv3 or later.
  • IMPROVEMENT: This readme lists every external service HappenBoard can use and what each one receives.
  • FIX: Recurring events: rules are expanded in the site's time zone (series no longer shift by an hour across daylight saving time or land on the wrong weekday), long series stay current, BYMONTH rules work, events spanning several days show on each day, all-day events export as dates, and an end before the start is refused. Rules the plugin cannot expand are refused when saved, the rule builder keeps the parts of a rule it has no control for and offers monthly by weekday or by day of the month, and the series summary names the days.
  • FIX: Front end: the RSVP and booking forms work behind page caches and submit only once; single-event blocks respect post passwords and read access; grids and lists show their empty state when a filter matches nothing; past Query Loops list newest first; the "All dates" page and the cancellation pages render with the theme's header and footer. The linked venue and organizer are named on every surface (lists, grids, Query Loops, Add to Calendar, My Schedule, emails, Event schema); Add to Calendar keeps the description's line breaks; category and tag archives paginate; password-protected events lose the "Protected:" prefix in emails, feeds and calendars; an event without a start cannot be published or take RSVPs; an RSVP stays within its form's seat limit; a Query Loop saved without a layout shows its list; an organizer's email address is printed protected from spam bots.
  • FIX: Calendar block: each date of a series links to that date, the period is kept when switching views, past days and events are marked, and a period with more events than it can show says so.
  • FIX: Translations: front-end strings, plurals, dates and block defaults are translatable and script translations load. WPML and Polylang get the plugin's real data model, and public lists stay in the current language. Calendar times follow the site's time format, dates and times are joined and time zones named in a translatable way ("Paris time, UTC+2"), arrows turn in right-to-left languages, plurals and words with several meanings have their own strings, and the admin lists' built-in strings are translated. wpml-config.xml covers every field and translatable block label.
  • FIX: Admin: the Calendar follows the site's time zone and dragging one date of a series moves only that date; attendee and booking search work; activity and booking times no longer shift by the browser's time zone; the Events date filter keeps the site's day. The admin lists no longer break when the Gutenberg plugin is active, and a screen that fails offers a reload; the Calendar shows an event lasting several days on each of them and keeps its period across views; restoring from the Trash works as in WordPress; a new event's end takes the default event length; the booking-type editor has the daily cap and the Availability screen each type's own hours, with weekly hours validated; venue coordinates and websites are checked, and an attendee edit stays within the capacity; the dashboard's setup checklist ticks "Connect a payment gateway" only when payments are configured; a link to an integration opens its card; an agent's write refused for lack of permission is recorded in the agent log.
  • FIX: Bookings: a booking type that needs approval asks instead of confirming, a booking is only moved to a time a host is free (its own host, or another free host on a round-robin type), emails have a body and a cancellation link, the calendar invite is standards-compliant, and slot lists refresh when a booking type changes. A host can no longer be double-booked across booking types or within another booking's buffers.
  • FIX: Accessibility: the Calendar block has enough contrast, keeps the focus, works with the keyboard and fits a phone; the booking calendars keep the focus and say the month; form errors are tied to their fields and announced, busy buttons say so, and confirmations take the focus; Save, Remove, View, Add to Calendar and Configure links and buttons, the event pickers, the admin's dialogs and drag handles are named; heading levels follow the page. In the admin, the focus moves to each new screen and comes back from the command palette and the attendee panel, and the app has a layout for narrow screens.
  • FIX: Notifications: a cancellation is sent once, and reminders follow the real date and are sent once.
  • FIX: The iCal feed is served as a calendar, and the .ics button has its own route. A password-protected event's own .ics download works and lists it as the site feed does, without its description.
  • FIX: Importers: categories are read from the source's term tables, ICS dates are read in their own time zone, imported series end on the right day, and EventKoi and Amelia imports get their dates. The Events Calendar's all-day events, EventKoi Lite's RSVPs and a re-import after trashing an event are imported; an .ics series keeps its moved and cancelled dates, and an empty or unreadable file is reported as an error.
  • FIX: CSV: the events CSV keeps categories and online details, and the attendee export has plain-text titles and its dates.
  • FIX: The Attendees screen offers the exports, and HappenBoard Pro's badges, only to users allowed to export attendees (administrators by default). Editors saw them and were refused.
  • FIX: Event schema: a ticketed event is no longer published as free, and one that is full is sold out.
  • FIX: Deleting an event for good also deletes its attendees, their reminders and the rows add-ons keep for it.
  • FIX: Privacy: the personal-data exporter and eraser also cover bookings, saved events and agent-log entries.
  • FIX: Multisite: network activation sets up every site, and each database migration is verified.
  • FIX: A full uninstall also removes scheduled reminders, user data and capabilities granted to single users, the attendee-management capability included; deactivation removes HappenBoard's addresses and its recurring background tasks.
  • FIX: Each currency uses its own number of decimals (none for the yen, for example).
  • FIX: Elementor widgets render when saved on a page and are translatable.
  • FIX: Event and booking addresses that stopped working because another plugin rebuilt the rewrite rules are repaired automatically.
  • FIX: CSV import: imported events get their dates at once (they were missing from the admin Calendar and the calendar and list blocks until saved again), the apostrophe the export puts before a formula-like cell is removed again, and the Tools card lists all 19 columns, which may come in any order.
  • FIX: Migration screen: a source of any size is migrated to the end (the run stopped after 10,000 events and was shown as finished), and a run that stops early says so and can continue.
  • FIX: Migration: a series from The Events Calendar or Events Manager no longer shows the single dates it excluded: they come in as cancelled dates. An event whose extra repeat rules or repeating exclusions ("every Monday") were left out, or whose repeat rule could not be converted, is listed under the run's warnings, in the Migration screen and in WP-CLI. It used to come in without a word. EventKoi venues are counted once, when they are created, not once per event held there.
  • FIX: Migration: the dates of an Events Manager series that last several days (Friday 10:00 to Saturday 16:00) keep their length; each one ended on its start day. Events Manager's repeating events, whose dates have pages of their own, come in as a series with their excluded dates and warnings, like its recurring events. They came in as one event running from the first date to the last.
  • FIX: RSVPs: two visitors registering for the last seat at the same moment can no longer both get it, and neither can a visitor and an operator using "Mark as Going", a seat change or "Change date" on the Attendees screen.
  • FIX: Migration: Events Manager bookings on the dates of a series are imported on those dates (they were dropped), and Events Manager booking statuses are read correctly (approved bookings came in on the waitlist, pending and unpaid ones as Going). The Events Calendar's PayPal and Tickets Commerce attendees are imported with their order status, and its "Not going" RSVPs as declined. Running a migration again no longer copies cancelled bookings and declined RSVPs a second time.
  • FIX: AI agents: the booking-type abilities offer round-robin host assignment as round_robin. The least_loaded value they offered was stored as is and gave every booking to the first free host; it is now stored and read as round-robin.
  • FIX: Attendees: "Mark as Going", the attendee panel's status change and the update-attendee-status ability check the capacity, with the same "over capacity" override as a seat change.
  • FIX: Uninstall: a full wipe of the free plugin no longer deletes HappenBoard Pro's options (settings, payment keys, licence) or the meta Pro keeps on WooCommerce products and orders; Pro's data is removed by Pro's own uninstall. The option sweep matches its prefix literally.
  • FIX: Admin: Editors are no longer stuck on the setup wizard and are not offered Settings shortcuts; the Docs link opens the documentation; the Events list names the linked venue; "Custom iframe URL" can be saved as the default map provider.
  • FIX: Event schema: a password-protected event's markup has no description (it read "There is no excerpt because this is a protected post."). Organizer pages print the email address protected from spam bots.
  • FIX: Bookings: a booking that took place can be marked as completed or as a no-show from the Bookings screen (the two tabs had no way in); a booking past midnight shows on both days of the admin Calendar; the booking type editor takes durations of 1 to 4 hours in hours and has a Description field.
  • FIX: Admin: an administrator keeps every HappenBoard screen in the menu even when a role editor took a HappenBoard permission away, as the routes allow; the quick form fills the end from the start; Default event duration goes from 5 to 1,440 minutes; a day clicked in the Calendar's Month view starts at 09:00; categories and tags ask before they are deleted; a venue or organizer restored from the Trash is published again, and their Trash offers Delete permanently; an invalid organizer email or out-of-range coordinates are refused in plain words; a website typed without https:// gets it.
  • FIX: Blocks: Events Grid and Event Query Loop print the day of an all-day date; the listing blocks link each date of a series to that date; an unfiltered Events Grid keeps a date under way; the RSVP Form shows its own Success message; Event Date & Time, Venue, Organizer, Series and Weather check the visitor may read the event; the Event Weather block drops a unit setting that did nothing, and Save Event Button an option that did nothing.
  • FIX: Emails: the button follows the Header accent color, and the footer keeps its links and emphasis.
  • FIX: Event schema: a cancelled event synced from Google Calendar or Outlook is published as cancelled.
  • FIX: Imports: CSV start_utc and end_utc are checked; an .ics event with a repeat rule HappenBoard cannot use is imported on its first date with a note, an event imported again without a rule loses the old one, and .ical files can be picked. WP-CLI refuses an unknown –status.
  • FIX: Privacy: the agent log's export and eraser also cover the error message, and the export of a sign-up names the date it was for.
  • FIX: Help texts and messages that described something the plugin does not do (sender identity, Event base, spam protection, meeting URL, health check, editor tour, the setup wizard's import step, the duplicate-RSVP message) were rewritten.
  • FIX: Security hardening.
  • PERFORMANCE: The site's iCal feed is cached and answers revalidation with a 304, occurrence lists load their posts in one query, failed weather lookups are remembered for five minutes, and the admin Events date filter reads the occurrences table. Lists read Polylang's language terms and each event's current date once, the saved-events lookup and the seats count are batched, block defaults are translated for HappenBoard's blocks only and the blocks register from one manifest, calendar links no longer go through a redirect, each event's .ics answers revalidation, Cloudflare Turnstile loads deferred, booking slot lists are cached only with a persistent object cache and an anonymous one can be reused for a minute, and HappenBoard Pro's Orders screen reads an index.