EventKoi Lite Changelog

May 24 2026

1.3.12.1 – WordPress 7.0 compatibility

  • Compatibility: tested against WordPress 7.0 — admin Settings, calendar, event editor and frontend all verified.

May 21 2026

1.3.12.0 – Google-style week view, timezone-aware pipeline & dozens of fixes

  • New: REST API supports custom orderby on `/wp/v2/eventkoi_event` (start_date, event_start, upcoming, past) for use in core Query Loop blocks and headless integrations.
  • New: Empty Trash button on the Events list (subtle link after bulk actions).
  • Improvement: Week view — Google-style overlap cascade so stacked events stay readable instead of collapsing into "+more".
  • Improvement: Week view — sticky event title on multi-day continuation bars (title visible on every visible day, not just the first).
  • Improvement: Week view — compact Google-style time format (`9 AM` / `3pm` depending on the 12/24-hr toggle).
  • Improvement: Week view — red "now" indicator line.
  • Improvement: Week view — non-working days tinted using the working_days setting.
  • Improvement: Month view — compact time prefix on dot-style events.
  • Improvement: Week view — Google-style multi-day + all-day chip layout.
  • Improvement: Event popover anchors at the click point instead of jumping.
  • Improvement: Calendar + List blocks — "Select all calendars" is now honored in the editor preview (matches the frontend).
  • Improvement: Calendar block editor preview lands on the current week when timeframe is set to "week".
  • Improvement: Events admin — top toolbar layout (selected count left, pagination right) matches the footer.
  • Improvement: Empty states for "Event not found" and "Event in Trash" — centered card with icon + CTA.
  • Improvement: Sold-out ticket widget stays visible (with sold-out label) instead of disappearing once capacity is reached.
  • Improvement: Event editor date and media UX hardened — end-time defaults, draft cleanup, structured-field guards.
  • Improvement: Tickets / Orders / Emails — instance-aware titles, itemized refunds, multi-seat expansion fixes.
  • Improvement: RSVPs — standard events can now run in event-wide RSVP mode (vs. per-instance).
  • Improvement: TEC importer — paragraphs preserved, address split into structured fields, organizer email/phone/website mapped, `_EventCost` mapped to ticket price, `_EventURL` imported as virtual location.
  • Improvement: Per-event ownership checks across admin endpoints + healer audit trail.
  • Improvement: i18n — more admin strings wrapped in `__()` for Loco / translate.wp.org.
  • Improvement: Default "Display timezone in event page" toggle now defaults ON for new events.
  • Fix: Multi-day timed events — time now shows on every visible day instead of only the last; nested "+1 more" stops cascading.
  • Fix: iCal export — full RFC 5545 compliance (CRLF, line folding, proper PRODID, RRULE syntax).
  • Fix: JSON-LD — recurring event endDate is now Google-compliant; each instance gets its own JSON-LD block.
  • Fix: iCal UIDs are stable across recurrences (previously regenerated, breaking subscriber dedup).
  • Fix: Recurrence cap enforced on UNTIL-style rules; recurring rule summary validated against the cap.
  • Fix: Ticket checkout — TOCTOU race fixed (no more oversell under load).
  • Fix: Tickets — duplication and refund-state regressions resolved.
  • Fix: RSVP capacity claim uses FOR UPDATE locking so two concurrent submitters don't both succeed against the last slot.
  • Fix: RSVP CSV export sanitises against Excel formula injection.
  • Fix: RSVP prefetch no longer leaks event meta into unauthenticated responses.
  • Fix: Calendar admin — archive-view event color leak fixed; static-singleton state resets between renders.
  • Fix: Editor block preview no longer renders the wrong week when timeframe is "week".
  • Fix: Bulk confirm dialogs surface backend errors instead of silently failing.
  • Fix: Sorting in admin tables is disabled when pagination is server-side, so sort no longer reorders just the current page.
  • Fix: RSVP phantom-instance gate — RSVPs no longer attach to non-existent instances.
  • Fix: "Invalid Date" guard in attendee TZ normalize.
  • Fix: Plugin `.zip` build now excludes `.vite-hot` and agent artifacts.

May 11 2026

1.3.11.0 – User permissions & custom date/time formats

  • New: Settings → User permissions — grant non-admin WP roles access to specific EventKoi areas (events, calendars, attendees, orders, settings sub-tabs) without sharing the admin password. Admins always have full access; the panel is empty by default so existing behaviour is unchanged until you grant something.
  • New: Settings → Default settings → custom Date format and Time format inputs. Type a PHP date format string (e.g. `Y-m-d`, `d-M-Y \a\t H:i`) to override WP Settings → General everywhere EventKoi renders dates (events list, single event, calendar/list blocks, RSVP and ticket emails, dynamic tags). Leave blank to keep using WordPress defaults.
  • Improvement: When a custom Time format is set, the 12/24-hour toggle is bypassed so the typed string wins as-is. With the field blank, the toggle keeps working exactly as before.
  • Improvement: Calendar grid event tile labels now honour the 12/24-hour toggle (sites set to 24-hour see `13:00` instead of `1pm`).
  • Fix: Recurring event series pages now honour the custom time format on every listed instance (previously some instances ignored it).
  • Fix: Resolves a WP 6.7 "Translation loading triggered too early" notice introduced by the permissions filter.

May 11 2026

1.3.10.0 – RSVP windows, button states & block polish

  • New: RSVP availability window — set start and end dates for when RSVPs open and close on each event.
  • New: RSVP button now reflects three states — "RSVP" when open, "RSVP: Closed" when capacity is reached or the RSVP window has ended, and "Event ended" once the event itself is over.
  • New: "RSVP opens soon" label automatically appears within 24 hours of the configured open date.
  • New: "Select all calendars" toggle on the Calendar and List blocks — automatically include every calendar (including ones added later) without having to re-edit existing pages.
  • New: WooCommerce next-steps panel on Settings → Payments — quick links to set up payments and currency in WooCommerce when WC checkout is selected.
  • New: "Sold out" Get-tickets button label when the entire event's inventory is exhausted, replacing the old confusing "open the modal to find out".
  • New: Pagination now also appears at the top of admin data tables for faster navigation.
  • New: Editor color picker upgrades, calendar dot indicators, text alignment and heading-level controls on event blocks.
  • Improvement: "Allow RSVP edits" now defaults ON for new events. The default RSVP confirmation email link line now auto-swaps between "View / manage your RSVP" and "View event page" based on the toggle (custom templates pass through unchanged).
  • Improvement: WooCommerce next-steps panel only renders when WooCommerce is installed and active.
  • Fix: RSVP defaults (allow edits, show remaining) now reach the new-event template correctly.
  • Fix: TDZ ReferenceError that was hiding the entire RSVP widget on the frontend.
  • Fix: RSVPs stay attached to their event when an event's date changes.

May 3 2026

1.3.9.9 – Translatable admin, calendar timezone fixes & editor polish

  • i18n: Full admin React UI is now translatable via Loco Translate, WP.org translation packs, or bundled JSON — previously the admin stayed in English even when the site locale was set. POT regenerated with all new strings.
  • Fix: Continuous standard events with specific times were being shown in the All-day lane in calendar Week view (and as full-width strips in Month view). They now render in their correct time slots.
  • Fix: Picking a start or end time could roll the date back a day when the browser timezone differed from the site timezone. Times now apply in the site timezone consistently.
  • Fix: Auto-filled end date inherits the picked start time, so users no longer hit "End date cannot be before the start date" the moment they add a non-midnight start time.
  • Fix: "Display timezone in event page" toggle is now respected on the frontend — when off, the timezone label no longer appears on the event page.
  • Fix: Completed events were leaking into the Upcoming Query Loop, and future events into the Past Query Loop.
  • Fix: WordPress was prepending `http://` to `[eventkoi … as=link]` URLs, producing broken double-protocol links. Bogus prefix is stripped on render.
  • Fix: Standalone editor preview now resolves every `event_*` dynamic token (date, time, timezone, etc.) instead of showing `{Field Name}` placeholders.
  • Fix: Scalar custom fields (text, textarea, dropdown, radio, checkbox, url) auto-unwrap in the `[eventkoi]` shortcode by default, matching url-typed behavior.
  • Fix: Tickets "Change currency" link points to WooCommerce settings when WooCommerce is the checkout method, instead of EventKoi settings.
  • Fix: QR check-in handler now redirects logged-out users to the login URL (HTML) and surfaces a "Log in" button in the JSON overlay.
  • Fix: Editing a saved event no longer crashes due to a missing translation import in the description component.
  • Improvement: The Page Numbers block "Number of links" (mid_size) attribute is now honored by EK Query Loop pagination on the frontend.

April 28 2026

1.3.9.8 – Past events query, recurring date polish & ticket-delete safeguards

  • New: "Past events" query option in the Event Query Loop block — sort completed events with their most recent past occurrence, mirroring how "Upcoming events" rolls forward over time.
  • New: Event Data block exposes the full set of canonical event tokens — separate `event_date`, `event_time`, `event_date_year`, `event_date_month`, `event_date_day`, `event_date_iso`, plus ticket-data tokens (capacity, sold, sold_out, low_stock, ticket_count, ticket_summary, sales_start/end), RSVP tokens (capacity, remaining, going, full), and ticket price + date format presets.
  • New: `event_date` and `event_time` dynamic tokens for Elementor, Divi, Beaver Builder and shortcode pickers.
  • Improvement: Recurring events in query loops now display the next upcoming occurrence (not the original series start) — and Past mode shows the latest past occurrence.
  • Improvement: Recurring "ends on" defaults to one year from today, so newly created recurring events are bounded out of the box.
  • Improvement: Event Query Loop grid is now responsive on tablet and mobile breakpoints.
  • Improvement: Admin pages share a unified 1280px content width.
  • Improvement: Ticket counts column reads "N ticket(s)" / "N RSVP(s)" with proper pluralization, and reflects gateway-completed orders only.
  • Improvement: Drop the recurring rule summary from the ticket checkout modal — buyers see only what they're booking.
  • Improvement: New events default to timed (not all-day).
  • Improvement: Ticket delete now requires confirmation and is only persisted when you click Save — refresh restores tickets you removed by mistake.
  • Improvement: Date rendering uses a single helper across surfaces — all-day toggle, click-to-deselect, recurring scoped to Pro.
  • Improvement: Calendar week view renders 24-hour gutter labels and tightens border stacking in month + week views.
  • Improvement: Calendar week view now lands on the current week (not the start of the displayed month) when you toggle from Month.
  • Fix: Recurring "ends on" date is inclusive — the user-picked end date is now part of the series instead of being silently dropped.
  • Fix: Block Visibility extension is honored on Calendar/List/event-data blocks.
  • Fix: Switching the WordPress timezone setting no longer crashes the site when `gmt_offset` returns an empty string.
  • Fix: Wrapper classes from `render_block` filters are preserved on Calendar and List blocks.
  • Fix: Accent characters in event titles sanitize correctly into slugs.
  • Fix: Event description list styling is preserved on the front end.
  • Fix: All-day axis cell border restored in calendar week view for proper grid alignment.
  • Fix: Renderers honor a per-row `instance_ts` so Elementor/Divi/Beaver loops show the correct occurrence date.

April 19 2026

1.3.9.7 – Ticket Save Fixes & Loco Translate Compatibility

  • Fix: Tickets are now saved correctly from the event's Tickets tab. Previously, ticket rows could be discarded when the event was saved or when switching tabs.
  • Improvement: Tickets auto-save when you switch to another tab, so edits are no longer lost if you forget to click Save.
  • Improvement: Fixed ~700 translation strings that used the wrong textdomain, so translations now load as expected.
  • Improvement: Translations saved to the plugin's own languages folder (Loco Translate's "Author" location) are now picked up.

April 19 2026

1.3.9.6 – Ampersand & Calendar Block Fixes

  • Fix: Ampersand (&) now displays correctly in calendar names across the admin, multiselect dropdowns, builder module dropdowns, and frontend calendar archive page.
  • Fix: Calendar block no longer shows "Invalid calendar" when the default calendar option is missing or points to a deleted term. The block now resolves from its own attributes first, then the default option, then the first available calendar.
  • Improvement: Self-healing default calendar option — if the stored reference is invalid, it is repointed automatically to a real calendar on the next page load.
  • Improvement: Empty-state calendar block shows a friendlier message; admins also get a "Create a calendar" link.
  • Improvement: Block editor no longer seeds the calendar block with an invalid default ID when the default option is missing.

April 18 2026

1.3.9.5 – Divi Integration (Beta) & Fixes

  • New: Added Divi Builder integration (Beta) — Calendar and Event modules for embedding EventKoi content in Divi layouts.
  • New: Added admin notification email templates for New RSVP and New ticket sale events.
  • Improvement: Admin notification emails now use the saved sender name and email from the Emails settings.
  • Improvement: Site instance ID UUID is now backfilled automatically on version bump.
  • Fix: Prevented a fatal error in the admin sale notification pipeline.
  • Fix: Fixed archive/unarchive for ticket sales on global and per-event views.
  • Fix: Fixed theme CSS bleed into FullCalendar cells on Divi-like themes.

April 12 2026

1.3.9.4 – UI & Calendar Improvements

  • Improvement: Centralized confirmation dialogs with consistent centered modal design across all destructive actions.
  • Improvement: Calendars page now shows only the default calendar with a clean, focused layout.
  • Improvement: Multiple calendars is now a Pro-only feature with clear upgrade prompts.
  • Fix: Bulk actions on the global ticket sales page now correctly show Archive/Unarchive instead of Duplicate/Move to trash.

April 11 2026

1.3.9.3 – WooCommerce Gateway & Reporting Fixes

  • Improvement: Tickets are now issued as soon as a WooCommerce order moves to "processing", so every gateway (including Cash on Delivery and Bank Transfer) works out of the box.
  • Fix: Orders with a partial refund now display the correct "Partially refunded" status on the Orders list and per-event sales history.
  • Fix: Ticket sales totals and per-event stats no longer mix amounts from different WooCommerce currencies.
  • Fix: In-progress checkout holds are no longer counted toward sales stats.

April 11 2026

1.3.9.2 – Order Sync & Ticket UI Polish

  • Improvement: Ticket refund emails now fire automatically when a WooCommerce order is refunded.
  • Improvement: Orders list CSV export and sales history CSV export are now working.
  • Improvement: WooCommerce order links in orders, attendees and sales history open in the same tab.
  • Improvement: `master_checkin_code` is populated from WooCommerce order meta so check-in works consistently.
  • Improvement: Attendees tab now refreshes reliably after ticket status changes.
  • Fix: Fatal error in `Orders::create_order` caused by a stray Stripe class reference.
  • Fix: Order status filter tabs on the Tickets > Orders page now point at the correct base.
  • Fix: Event status dropdown is hidden on non-event admin pages.
  • Fix: React "Rules of Hooks" error on the Event Attendees tab.
  • Fix: Removed an undefined `isResendEmail` reference in the Attendees component.
  • Fix: Hidden the attendees bulk-actions toolbar when no row-level actions are available.

April 10 2026

1.3.9.1 – Payments & UX Improvements

  • Improvement: Billing information (name, email) is now auto-filled for logged-in users during ticket checkout.
  • Improvement: Clearer error messaging when WooCommerce is not installed.
  • Improvement: Removed Beta badges from ticket-related UI.

April 10 2026

1.3.9.0 – Ticket Sales, Import Tools & More

  • New: Added ticket sales feature (Beta) — sell paid tickets for events via Stripe or WooCommerce.
  • New: Added Payments settings page for Stripe Connect and checkout configuration.
  • New: Added ticket management, sales history, and attendee tracking per event.
  • New: Added order management with real-time updates, filtering, and CSV export.
  • New: Added event import from The Events Calendar (TEC) — full migration tool.
  • New: Added URL-based event import — import events by pasting a URL.
  • New: Added import tools to Events dropdown menu for easy access.
  • Improvement: Added Beta badges to ticket-related UI sections.
  • Improvement: Admin dashboard performance optimizations.
  • Improvement: Updated JSON-LD structured data output.
  • Improvement: Accessibility improvements.
  • Fix: Fixed REST API responses breaking when third-party plugins emit PHP notices.
  • Fix: Fixed Stripe webhook secret handling for array-shaped values.
  • Fix: Fixed wrong text domain in block descriptions.
  • Fix: Fixed Google Maps settings card and onboarding UI.

March 27 2026

1.3.0.3 – Time Format Fix

  • Fix: Fixed 12/24-hour time format setting not being respected across event pages, calendar views, admin UI, and auto-detect timezone display.

March 21 2026

1.3.0.2 – Fixes & Improvements

  • Fix: Fixed pagination on single event pages being incorrectly redirected by WordPress canonical URL handling (affects Beaver Builder loop pagination).
  • Fix: Improved REST API key header resolution to support both hyphenated and underscored header formats.
  • Fix: Fixed comma-delimited calendar selection parsing from UI controls.
  • Improvement: Updated support links to point to WordPress.org support forum.

February 27 2026

1.3.0.1 – Stability & Compatibility Fixes

  • Fix: Prevented empty `location` schema output for events without physical address data.
  • Fix: Improved default template resolution consistency for Elementor and Bricks templates.
  • Fix: Improved `[eventkoi_calendar display=list]` shortcode argument handling (`orderby`, `order`, `per_page`, `max_results`, `date_start`, `date_end`, `expand`).
  • Fix: Improved calendar list query normalization and guardrails for safer ordering, pagination, and filtering.
  • Fix: Improved activation recovery by ensuring core Lite tables are created/recovered reliably.

January 29 2026

1.3.0.0 – RSVP

  • New: Added RSVP creation and management.

January 13 2026

1.2.1.0 – Local timezone display & settings

  • New: Added auto-detect timezone setting so visitors can see event times in their local timezone.
  • Improvement: Event date/time output now includes timezone metadata for accurate client-side conversion.
  • Improvement: Added a Custom Fields settings preview for Pro.
  • Fix: Ensured demo event imagery loads reliably in onboarding.

January 1 2026

1.2.0.2 – Timezone fix

  • Fix: Fixed calendar day headers shifting when the server timezone differs from the WordPress timezone.

December 23 2025

1.2.0.1 – Style fixes

  • Fix: Fixed image styling in the Event Query Loop block.
  • Fix: Fixed Event Data block styling.

December 16 2025

1.2.0.0 – Elementor Widgets & Onboarding

  • New: Added Elementor Event Data widget to drop event details anywhere.
  • New: Added Elementor Event Calendar widget to embed calendars visually.
  • New: Introduced a quick start plugin tour plus onboarding hints to guide first-time setup.
  • Improvement: Added missing translation strings and refreshed the POT file.
  • Fix: Event counts now update correctly in the Events list.
  • Fix: `eventkoi` shortcode now displays the event image reliably.

December 4 2025

1.1.0.1 – JS Import Fix

  • Fix: Added missing JavaScript imports so frontend assets load reliably.

December 3 2025

1.1.0 – Query Loop Blocks & Data Enhancements

  • New: Added EK Event Query Loop variation (with EK Event Data child block) to display events using core/query controls and pagination.
  • New: Added `/eventkoi/v1/query_events` endpoint and expanded `/calendar_events` to support paging, ordering, and date filters for block previews.
  • Improvement: Query Loop server render now injects EventKoi event data.

November 10 2025

1.0.14 – Admin Event Description Editor Fix

  • Fix: Resolved issue where the event description editor in the admin sometimes failed to display or save properly.

October 21 2025

1.0.13 – Week View Layout & Header Improvements

  • Improvement: Redesigned week view header to show weekday names and dates on separate lines for better readability.
  • Improvement: Enhanced alignment and font styling for week/day headers across all screen sizes.
  • Fix: Removed weird day numbers appearing beside months in month view.
  • Fix: Adjusted locale handling to ensure consistent weekday labels across languages.

October 20 2025

1.0.12 – Important bugfix

  • Fix: Fixed issue with recurring instances not loading. (May require saving permalinks again)

October 19 2025

1.0.11 – Performance, Accessibility & Calendar Enhancements

  • Improvement: Improved weekly view and navigation consistency in the calendar UI.
  • Improvement: Optimized backend query performance for faster event loading.
  • Improvement: Enhanced accessibility in frontend calendar and single event views.
  • Fix: Minor styling and layout adjustments for better responsiveness.
  • Fix: Corrected small inconsistencies in timezone and localization handling.

October 9 2025

1.0.10 – Calendar View & Localization Fixes

  • Fix: Resolved layout and navigation issues in the weekly calendar view.
  • Fix: Corrected locale handling and improved date/time formatting consistency.
  • Improvement: Enhanced localization support across admin and frontend.
  • Improvement: Improved responsiveness and stability in calendar rendering.

October 7 2025

1.0.0 – Initial public release

  • Initial public release of EventKoi Lite plugin.
  • Core event creation and management features.
  • Built-in support for single-day and multi-day events.