== Event Koi Lite - Events Calendar, Event Management, RSVP, and Tickets ==
Contributors: eventkoi, lesleysim, ahmedfouaddev
Donate link: https://donate.stripe.com/fZubJ1auN86Y1PU8cSdUY01
Tags: event calendar, event management, event tickets, event registration, rsvp
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 8.0
Stable tag: 1.3.11.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A modern, unbloated WordPress events calendar plugin. Sell tickets, create an events calendar or list, manage RSVPs and attendees.

== Description ==

**EventKoi Lite is a modern WordPress events calendar plugin** built for site owners who want an unbloated and intuitive event management plugin. Create and manage in-person and virtual events, display a beautiful events calendar or event list, sell tickets, event bookings, manage RSVPs and attendees, all from a clean, intuitive admin.

✓ **Events calendar & event list** — Display events in a calendar, list, or grid view using blocks, shortcodes, Elementor, or Beaver Builder
✓ **Event registration & RSVP** — Let attendees register for events, manage capacity, and check in with check-in codes
✓ **Sell event tickets with WooCommerce** — Create multiple ticket types per event, set capacity and pricing, and sell tickets using any WooCommerce payment gateway including Stripe and PayPal
✓ **Attendee management** — Export your attendee list and manage check-ins from your WordPress admin
✓ **In-person and virtual events** — Supports Google Maps for venues and auto-detects visitor timezone for virtual and international events
✓ **Google Calendar, iCal & Outlook sync** — Let attendees add events to their own calendar with one click
✓ **Accessible & responsive** — Keyboard navigation, ARIA labels, and a fully mobile-friendly events calendar
✓ **Event SEO** — Automatic JSON-LD structured data markup so your events appear in Google search results and rich snippets
✓ **Blocks, shortcodes & page builders** — Works with Gutenberg, Elementor, and Beaver Builder out of the box
✓ Secure, well-built code that follows WordPress coding standards
✓ Active development, responsive support, and thorough documentation

**Need recurring events, unlimited calendars, and custom fields? [Upgrade to EventKoi Pro →](https://eventkoi.com/pricing)**


##Event management

- Add multiple event days, each with its own start and end time
- Create multiple venue events. Combine in-person and virtual event locations
- Create in-person events with Google Maps venue embedding
- Create virtual events with automatic visitor timezone detection
- Use your WordPress site's date, time, and timezone settings
- Customize event page templates in the block editor
- Localization-ready


###Events Calendar & Event Listing

- Embed an events calendar using a block, shortcode, Elementor widget, or Beaver Builder module
- Display an event listing as a list or grid view
- Filter events by date range or calendar
- Accessible calendar views with full keyboard navigation and ARIA labels
- Fully responsive and mobile-friendly for all screen sizes
- Set the calendar's starting day of the week
- Choose 12 or 24-hour time display
- Organize all your events under your events calendar. Upgrade to Pro for multiple calendars to segment events by category, location, or type


## Event Registration & RSVP Management

- Set event capacity and display remaining spots to encourage signups
- Let attendees submit and update their event registration (RSVP)
- Send automated confirmation emails with check-in codes
- Manage attendee registration and check-ins from WordPress admin
- Export your full attendee list


## Sell Event Tickets & Event Booking with WooCommerce

- Use any WooCommerce payment gateway (Stripe, PayPal, and more) to sell tickets directly from your WordPress site
- Create multiple ticket types per event (e.g. General Admission, VIP, Early Bird)
- Set individual pricing, capacity, and availability for each ticket type
- Offer free tickets or paid tickets
- Set ticket sale windows — open and close ticket sales on specific dates
- Set a maximum number of tickets per order
- Show or hide remaining ticket quantities to create urgency
- Add terms and conditions per ticket type
- Require buyers to have a WordPress account, or auto-create one at checkout
- Automated ticket confirmation email with check-in code sent on purchase
- Automated refund confirmation emails
- Manage all ticket orders and attendees from your WordPress admin
- Track tickets sold and total earnings with built-in reporting
- Export your full attendee list


## Calendar Sync & Sharing

- Let visitors add events to Google Calendar, iCalendar, Outlook 365, or Outlook Live
- Auto-detect visitor timezone for virtual and international events
- Social sharing built in


## Event SEO & Structured Data

EventKoi Lite automatically outputs JSON-LD structured data for every event, helping your events appear in Google Search rich results and event snippets. Structured data is built in, no configuration needed.


## Page Builder Integrations

- **Elementor:** Embed an events calendar or event data using native Elementor widgets
- **Beaver Builder:** Embed an events calendar or event data using native Beaver Builder modules


## Block editor and shortcode support
- **Shortcode builder:** Build shortcodes with multiple queries to display a calendar or list of events
- **Block Editor:** Add an events calendar, event query loop block or event data block directly in the WordPress editor


## Import events from The Events Calendar

- Switching from The Events Calendar? Import your events in minutes with our built-in migration tool
- Event titles, descriptions, dates, times, and timezones
- All-day and multi-day event settings
- Venue and location data
- Organizer information
- Event categories
- Recurrence rules (converted to EventKoi's recurring event format)
- Google Maps embed settings
- Featured images
- Duplicate events detector. Re-running the importer won't create duplicates.

##Get advanced features with EventKoi Pro

- **Recurring events**
	- Create advanced rules for events that repeat daily, weekly, monthly, yearly,
	- Edit individual event instances (custom name, location, description, and more)
	- Automatically create a dedicated event series page
- **Custom fields**
	- Add custom fields and field groups to any event
	- Import custom fields from The Events Calendar
- **Multiple event calendars**
	- Lite includes one calendar. Pro unlocks unlimited calendars so you can segment events by type, department,
  location, or audience
- **Advanced Elementor and Beaver Builder integrations**
	-  Build custom templates and use Loop features to build queryable event lists.
- **Priority support**
- **30-day money-back guarantee**
**[Get EventKoi Pro →](https://eventkoi.com/pricing)**

## Helpful links

-  [EventKoi documentation](https://eventkoi.com/docs/?utm_source=pluginreadme-helpfullink&utm_medium=web&utm_campaign=16-12-25)
- [EventKoi blog](https://eventkoi.com/blog/?utm_source=pluginreadme-helpfullink&utm_medium=web&utm_campaign=16-12-25)
- [Support Forum](https://wordpress.org/support/plugin/eventkoi-lite/) (please check existing threads before starting a new one)
- [Contact us](https://eventkoi.com/contact/?utm_source=pluginreadme-helpfullink&utm_medium=web&utm_campaign=16-12-25) (for non-support related questions)

## Screenshots

1. Calendar view
2. Site visitors can add an event to their own calendar
3. Site visitors can share events via social media and email
4. Calendars come with timezone detection, timezone switcher, and 12/24 hour clock
5. Events list view
6. Events management in WP Admin
7. Create event settings

== Installation ==

Installing EventKoi Lite is easy.

= Installation =

1. In your WP Admin, select Plugins, then Add plugin.
2. In the Search Plugins field, type in "EventKoi Lite"
3. When you find EventKoi Lite, click on Install Now.
4. The installation will run, then click on Activate.

= Configuring your events calendar =

1. Once the plugin is activated, head to Events, then Settings.
2. From there you can configure when you week starts, your working days, and 12/24-hour clock.

= Create your first event =

1. Head to Events > Events and select Add event
2. Fill out the form to create your event.

= Add your calendar to your site =

Head to Events > Calendar and select **Default calendar**. Then select the **Embed** tab.
There, you will see 3 ways to embed the calendar into your site:

1. Your calendar comes with a default link. Out of the box, the link is: https://yourwebsite.com/calendar/default-calendar/
2. Using either shortcodes in any page or post: [eventkoi_calendar display=calendar] or [eventkoi_calendar display=list] depending on whether you want a calendar or list view.
3. Adding a block in any page or post: Type in "/eventkoi" and then select either "EventKoi Calendar" or "EventKoi List" depending on whether you want a list or calendar view.

== Frequently Asked Questions ==

= Does it work with block themes and classic themes? =
Yes. EventKoi Lite works with both block and classic themes. You can use our blocks or shortcodes to build your events calendar.

= Can I display a responsive events calendar on mobile? =
Yes. The EventKoi events calendar is fully responsive and mobile-friendly, and
includes accessible keyboard navigation and ARIA labels.

= Does EventKoi Lite include recurring events? =
Recurring events are available in EventKoi Pro. Pro supports daily, weekly,
monthly, and yearly recurring events with advanced rules.

= I'm currently using The Events Calendar. Can I migrate my events to EventKoi? =
Yes. EventKoi Lite includes a built-in migration tool that imports your events from The Events Calendar, including dates, venues, categories, recurrence rules, and featured images. Already-migrated events are skipped automatically so you can run it more than once safely.

= Does EventKoi Lite support virtual events and timezones? =
Yes. You can create virtual events, and the events calendar automatically
detects your visitor's timezone so they always see events in their local time.

= Does EventKoi Lite support event registration? =
Yes. EventKoi Lite includes an RSVP and event registration system. Set capacity, collect attendee sign-ups, send confirmation emails with check-in codes, and manage check-ins from your WordPress admin.

= Does EventKoi Lite support selling event tickets & event booking? =
Yes. EventKoi Lite includes a full event ticketing system powered by WooCommerce. Create multiple ticket types per event with individual pricing and capacity, and accept payments through any WooCommerce payment gateway including Stripe and PayPal. Buyers receive an automated confirmation email with a check-in code for check-in.

= Can I create free and paid ticket types for the same event? =
Yes. Each ticket type has its own price — set it to $0 for free tickets or any amount for paid tickets. You can mix free and paid ticket types on a single event.

= Does EventKoi Lite work with Stripe and PayPal for ticket sales? =
Yes. EventKoi uses WooCommerce's standard checkout, which means any WooCommerce payment gateway works out of the box — including Stripe, PayPal, and many others.

= My calendar or event page shows "Page not found." =
Go to Settings > Permalinks and click Save Changes to refresh rewrite rules.

= Can I customize the event template? =
Yes. If you're using a block theme, you can go to Appearance > Editor > Templates and customise the Event template. If you're using a classic theme, you can edit the template files.

= Does EventKoi Lite help my events appear in Google Search? =
Yes. EventKoi Lite automatically adds JSON-LD structured data markup to every event page. This helps Google understand your events and can display them as rich results in search. No setup required.


== External services ==

This plugin can connect to the **Google Maps JavaScript API** in order to display interactive maps inside event and calendar views.
It sends your configured Google Maps API key (if provided) along with requests made by the visitor's browser when viewing a page that contains an embedded map. No personal data is sent by the plugin itself, but Google may collect usage data in accordance with their policies. This connection only happens if maps are enabled in the plugin settings and a page with an event location map is viewed.
This service is provided by Google LLC: [Terms of Service](https://cloud.google.com/maps-platform/terms), [Privacy Policy](https://policies.google.com/privacy).

== Changelog ==

= 1.3.11.0 – User permissions & custom date/time formats – 2026-05-11 =
* 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.

= 1.3.10.0 – RSVP windows, button states & block polish – 2026-05-11 =
* 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.

= 1.3.9.9 – Translatable admin, calendar timezone fixes & editor polish – 2026-05-03 =
* 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.

= 1.3.9.8 – Past events query, recurring date polish & ticket-delete safeguards – 2026-04-28 =
* 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.

= 1.3.9.7 – Ticket Save Fixes & Loco Translate Compatibility – 2026-04-19 =
* 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.

= 1.3.9.6 – Ampersand & Calendar Block Fixes – 2026-04-19 =
* 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.

= 1.3.9.5 – Divi Integration (Beta) & Fixes – 2026-04-18 =
* 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.

= 1.3.9.4 – UI & Calendar Improvements – 2026-04-12 =
* 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.

= 1.3.9.3 – WooCommerce Gateway & Reporting Fixes – 2026-04-11 =
* 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.

= 1.3.9.2 – Order Sync & Ticket UI Polish – 2026-04-11 =
* 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.

= 1.3.9.1 – Payments & UX Improvements – 2026-04-10 =
* 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.

= 1.3.9.0 – Ticket Sales, Import Tools & More – 2026-04-10 =
* 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.

= 1.3.0.3 – Time Format Fix – 2026-03-27 =
* Fix: Fixed 12/24-hour time format setting not being respected across event pages, calendar views, admin UI, and auto-detect timezone display.

= 1.3.0.2 – Fixes & Improvements – 2026-03-21 =
* 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.

= 1.3.0.1 – Stability & Compatibility Fixes – 2026-02-27 =
* 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.

= 1.3.0.0 – RSVP – 2026-01-29 =
* New: Added RSVP creation and management.

= 1.2.1.0 – Local timezone display & settings – 2026-01-13 =
* 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.

= 1.2.0.2 – Timezone fix – 2026-01-01 =
* Fix: Fixed calendar day headers shifting when the server timezone differs from the WordPress timezone.

= 1.2.0.1 – Style fixes – 2025-12-23 =
* Fix: Fixed image styling in the Event Query Loop block.
* Fix: Fixed Event Data block styling.

= 1.2.0.0 – Elementor Widgets & Onboarding – 2025-12-16 =
* 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.

= 1.1.0.1 – JS Import Fix – 2025-12-04 =
* Fix: Added missing JavaScript imports so frontend assets load reliably.

= 1.1.0 – Query Loop Blocks & Data Enhancements – 2025-12-03 =
* 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.

= 1.0.14 – Admin Event Description Editor Fix – 2025-11-10 =
* Fix: Resolved issue where the event description editor in the admin sometimes failed to display or save properly.

= 1.0.13 – Week View Layout & Header Improvements – 2025-10-21 =
* 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.

= 1.0.12 – Important bugfix – 2025-10-20 =
* Fix: Fixed issue with recurring instances not loading. (May require saving permalinks again)

= 1.0.11 – Performance, Accessibility & Calendar Enhancements – 2025-10-19 =
* 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.

= 1.0.10 – Calendar View & Localization Fixes – 2025-10-09 =
* 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.

= 1.0.0 – Initial public release – 2025-10-07 =
* Initial public release of EventKoi Lite plugin.
* Core event creation and management features.
* Built-in support for single-day and multi-day events.
