WB Listora v1.0.5
First public release. Eight Basecamp QA cards closed plus the local-CI gate restored. Pairs lockstep with WB Listora Pro 1.0.5.
- New - Initial release of WB Listora directory plugin (private repo - wbcomdesigns only).
- New - EDD Software Licensing SDK bundled at libs/edd-sl-sdk/ for in-WordPress auto-updates from wbcomdesigns.com (item ID 1662779). Free auto-activates the preset key on first admin page load; AJAX, cron, and REST requests are skipped, and a 24h transient lock prevents stalls if the store is unreachable.
- New - Inline image fallback delegated handler (assets/js/listora-image-fallback.js) replaces inline onerror= attributes that broke WP Interactivity API hydration.
- Improve - Reviews tab Write a Review CTA now breathes from the review list and form wrapper instead of sitting flush against the last card.
- Improve - Listing-type editor inline Add Group form now lays out as a padded card with the input on its own row and the action buttons sharing the canonical 8px gap.
- Improve - Map block now creates its own stacking context (isolation: isolate) so the Near Me cluster cannot punch through theme sticky headers on scroll.
- Improve - Search this area button moved out of the top-right Near Me cluster so it centers on the map wrapper instead of stacking on top of Near Me. Mobile drops it below the cluster.
- Fix - Inline image onerror string on listing cards broke client-side hydration with Component's onerror property should be a function, but got string. Cards now use data-listora-fallback-src= with a delegated capture-phase listener.
- Fix - PHP Deprecated strip_tags(): Passing null on Run Wizard. Hidden submenu pages now seed the global title in load-{hook} so admin-header.php has a non-null value.
- Fix - Dashboard Edit link 404 when the dashboard page mapping is missing. wb_listora_get_dashboard_url() fallback now pulls default_slug from Page_Registry instead of hardcoding /dashboard/.
- Fix - Category names containing ampersands rendered as literal HTML entities in dropdowns. Term_Helper::normalize_name() decodes entities upstream in CSV / type-registry / set_terms paths, and a one-shot admin_init repair rewrites stored names via direct $wpdb update.
- Fix - Editor edit form previously showed blank fields when opened via the dashboard URL. Verified working on listing 774 - all 26 meta keys, category, tags, and notification prefs hydrate.
- Fix - Business Hours preview now renders the full Sun-Sat hours table on the Preview step.
- Dev - Local-CI gate restored - composer ci:no-journeys clean. PHPStan return-type tightened on the Term_Helper repair admin_init wrapper.
- Compat - Aligned with WB Listora Pro 1.0.5. Install both updates together (lockstep pair).