Releases: philhoyt/Blockendar
Releases · philhoyt/Blockendar
Release list
v1.2.0
= 1.2.0 =
- Added: a separate event template per layout. List and grid can now show different blocks, added from the Events Query block's Layout settings. Splitting is opt-in per block, so existing content keeps rendering exactly as it did.
- Added: a WordPress Playground demo blueprint, so the plugin can be tried in a browser without installing it.
- Changed: switching between list and grid no longer reloads the page. The control is still a set of links, so it keeps working without JavaScript, and middle-click and modified clicks still open as they always did.
- Changed: the view switcher's starting layout now follows the Events Query block it belongs to. The separate "Default view" setting has been removed — it was what allowed the control and the results to disagree. Blocks saved with a stale default are reconciled automatically on load.
- Changed: every Events Query now starts with an Event Template container, matching the way the core Query Loop always carries a Post Template.
- Changed: the view switcher draws real SVG icons, in the editor preview as well as on the front end.
- Fixed: undoing a list/grid change in the editor did not revert it, and left the page permanently marked as having unsaved changes.
- Fixed: splitting a template produced two templates that behaved as one — the list template was dropped and every layout rendered through the grid one.
- Fixed: splitting a template could fail with an error and corrupt the block tree.
- Fixed: "No events found." appeared beneath every event in the editor's previews.
v1.1.0
= 1.1.0 =
- Added: Events View Switcher block — visitors can switch the event list between list and grid layouts. The choice travels in the URL, and the control works without JavaScript.
- Added: filter blocks for event type, venue and date range, each as a dropdown with its choices in a panel.
- Added: base styling for all filter controls. Themes cannot be relied on to style bare inputs, so the plugin now supplies its own structure while still taking colour from the theme.
- Added: a translation template (languages/blockendar.pot) so the plugin can be translated.
- Changed: the Event Type and Venue filters now default to their dropdown style. Blocks where the style was never chosen explicitly will switch from a list to a dropdown on upgrade.
- Changed: the Date Range filter now shows a calendar directly in its dropdown instead of two fields that opened one, and dates apply when you press Apply rather than as you click.
- Changed: the Event Type and Venue filters now list only terms that have upcoming events, instead of every term that has ever been used.
- Changed: the Events Query block previews real events in the editor instead of grey placeholder bars.
- Fixed: the Event Type filter never actually filtered anything.
- Fixed: filter blocks collapsed to zero width when placed inside a Row block.
- Fixed: the date picker opened far below its field, and closing it reloaded the page and jumped back to the top.
- Fixed: a backwards date range showed "no events found" instead of the range you meant.
- Fixed: the filter blocks' own stylesheets were never loaded on the front end.
- Fixed: an invalid datetime attribute on single-day events with an end time.
- Fixed: filter parameters given as arrays in a URL could select the wrong term.
- Performance: the calendar's front-end script dropped from 263 KB to 5 KB by loading its parts on demand, and event queries are now cached.
- Tested up to WordPress 7.1.
V1.0.1
V1.0.0
= 1.0.0 =
- Event Cost block: added Show Cost and Show Button toggles; removed unused min/max cost, currency, and capacity meta fields.
- Event Venue block: support for multiple venue terms with horizontal rule dividers; removed redundant Show Map toggle.
- Event Map block: support for multiple venue pins with automatic bounds fitting.
- Event Countdown block: added three-state display — counting down, started (event in progress), and passed (after end time).
- Venue admin: added "Look up coordinates" button using Nominatim (OpenStreetMap) geocoding — no API key required.
- Removed Google Maps integration — all map and geocoding features now use OpenStreetMap/Nominatim exclusively.
- Performance: replaced wp_postmeta subqueries for featured and hide_from_listings with denormalised columns in the event index table.
- Performance: replaced JSON_CONTAINS type-term filtering with a dedicated junction table.
- DB schema upgraded to version 2; existing sites will rebuild the event index automatically on upgrade.
V0.9.9
= 0.9.9 =
- Added Plugin Update Checker (v5.6) for automatic update notifications via GitHub releases.
= 0.9.8 =
- Added No Results - Events Query block: a customisable empty-state block for the Events Query block, matching the pattern of core/query-no-results.
- Events Query block: block spacing (gap) now respects the spacing preset selected in the editor, including "None" to remove all gap.
- Events Query block: No Results block is included in the default template.
= 0.9.7 =
- Events Query block: added responsive column controls for grid layout — separate column counts for mobile (≤599px), tablet (600–781px), and desktop.
V0.10.0
= 0.10.0 =
- Calendar View block: automatically switches to list view on mobile (≤767px).
- Calendar View block: view switcher buttons hidden on mobile (≤767px).
- Calendar View block: toolbar buttons smaller below 425px.
- Calendar View block: toolbar title right-aligned below 425px.
- Calendar View block: list event time allowed to wrap below 425px.
V0.9.6
= 0.9.6 =
- Event Date & Time block: editor preview now reads date/time format from Blockendar settings via the WordPress data layer (fixes preview showing WP core format instead of plugin setting).
- Event Date & Time block: added block-level date format, time format, date/time separator, and range separator overrides in a new Format inspector panel.
- Event Date & Time block: fixed "All day" label displaying when Show start time is disabled.
- Editor: replaced deprecated __experimentalGetSettings with stable getSettings from @wordpress/date.
- Editor: added __next40pxDefaultSize to all SelectControl instances in the event editor sidebar panels.
V0.9.5
= 0.9.5 =
- REST API: enforce rest_public / rest_feed_token settings across all public GET endpoints (events, calendar, iCal).
- Fixed: PHP fatal "Cannot redeclare" when two event-cost blocks appear on the same page (e.g. inside a Query Loop).
- Fixed: calendar-view fetch now checks HTTP status before parsing JSON, passing errors to FullCalendar's failure handler.
- Added PHPUnit + Jest test suites covering the recurrence engine and JS utilities.
- Added WP-CLI wp blockendar rebuild-index command.
- Added search keywords to 7 blocks for improved block inserter discoverability.
- Lint: fixed all JS and PHP code style warnings.
V0.9.4
= 0.9.4 =
- Events Query block now supports a "Related events" mode — set to same event type, same venue, or both to automatically show events related to the current page's event. Replaces the standalone Related Events block.
- Removed the Related Events block (superseded by Events Query's built-in related mode).
- Event Countdown block reworked: fixed garbled segment display, full unit labels (days, hours, minutes, seconds), format picker (days+hours+minutes+seconds / days+hours+minutes / days+hours / days only), pin-to-any-event selector, and improved editor preview.
- Added full color, typography, spacing, border, and dimensions supports to the Event Countdown block.
V0.9.3
= 0.9.3 =
- Reworked Date & Time editor panel — new field order (start date → start time → end time → end date), smart defaults, end date/time safeguards that prevent end from being set before start, and past-date prevention on the start date field.
- Recurrence preset labels are now context-aware and derived from the selected start date (e.g. "Weekly on Thursday", "Monthly on the third Thursday", "Annually on March 13").
- Fixed: recurring events now auto-save their recurrence rule whenever the post is updated — no separate save step required.
- Fixed: changing a recurrence preset now correctly marks the post as dirty, activating the Update button immediately.
- Calendar View event pills use
contrast-color()(CSS Color Level 6) to automatically select black or white text based on the event type's background colour. - Added
blockendar_recurrence_presetpost meta field (REST-exposed) as a dirty-state proxy for recurrence changes.