Repository navigation
Releases
Release 2.13.1
Fixes
- Editor maps work again on WordPress 7.1. From WordPress 7.1 the block editor always runs inside an iframe, which broke the map there in two ways. OpenStreetMap served its "Access blocked" tile instead of the real map, because tile requests from the iframe carried no Referer. Dragging the map or a marker also jumped by about 100px and didn't stop on release. Both are fixed. The frontend and the shortcode were never affected. Reported on the support forum.
- The custom fields map now shows markers when only one post type has locations enabled. With a single geo-enabled post type, the "Post type" setting was hidden and the map quietly queried regular posts, so it showed nothing. The setting now appears, and the map defaults to the geo-enabled type. Maps already saved this way need to be opened in the editor and saved once to pick up the fix. Reported on the support forum.
Maintenance
- Tested up to WordPress 7.1. The end-to-end tests now run against WordPress 7, after the test image had silently stayed on 6.9.
- Cleared the npm security advisories that were failing CI, and closed a backlog of superseded Dependabot updates. Nothing in the plugin zip changes.
Release 2.13.0
Fixes
- AI search now finds landmarks it used to miss. The AI assistant could suggest place descriptions too specific for OpenStreetMap to geocode (e.g. "Franz Kafka's Grave, New Jewish Cemetery, Prague"), producing no pin. It's now steered to answer with the smallest place that OpenStreetMap can actually locate.
- Fixed an editor crash on custom post types without custom-fields support. Opening the block editor on a CPT that doesn't declare
custom-fieldssupport (common with Pods-registered types) could crash the whole editor when the geodata panel loaded. Reported on the support forum.
Maintenance
- Updated build dependencies and cleared several npm/Composer security advisories, including a high-severity denial-of-service issue in a dev-only YAML parser.
- Bumped the plugin's Node.js build requirement to 24 (the previous pin had quietly reached end of life). No impact on the plugin itself, this only affects contributors building from source.
Release 2.12.0
AI-powered maps, now with WordPress 7.0 support
The map AI assistant lets you place markers using plain English: type something like "Show me where Game of Thrones was filmed" and watch the pins drop. WordPress 7.0 introduces a built-in AI connector, and this release adds full support for it — so if your site is already configured with one, the plugin will use it automatically. If you prefer to use your own API key from an external provider, that continues to work and takes priority.
Try it without installing anything
The plugin now ships with a WordPress Playground blueprint. You can open a live demo via the Test Preview button on the WordPress.org plugin page — no download, no local setup. If you don't see the button, try signing in to your WordPress.org account.
Fixes and improvements
A few rough edges have been smoothed out: edge cases in the AI flow (empty results, unexpected response formats, race conditions) now fail gracefully, and the underlying REST endpoint got stricter input validation with more accurate error responses.
Release 2.11.0
Marker Clustering
Maps with many markers can get hard to read when pins overlap at lower zoom levels. Version 2.11.0 adds opt-in marker clustering support: nearby markers are automatically grouped into a single cluster badge, which breaks apart as the user zooms in to reveal individual pins.
Clustering is disabled by default so existing maps are unaffected. To enable it, toggle the new "Enable clustering" option in the block's Behavior settings panel. The [ootb_query] shortcode also gains an enableclustering attribute.
Customisation via ootb_marker_cluster_options
For advanced use cases, the new ootb_marker_cluster_options filter lets you customise the clustering behaviour programmatically — controlling things like the cluster radius, zoom thresholds, animation, spiderfy behaviour, chunked loading, and more. Read the full documentation and examples.
This closes issue #19 and addresses the clustering support request on the WordPress.org support forum.
Other Changes
AI Ability improvements: The add-map-to-post AI ability now supports a fuller set of block parameters — map type, shape options, zoom range with automatic clamping, interaction controls (dragging, touch zoom, scroll-wheel zoom, fullscreen), and clustering.
More test coverage: Added integration tests for all public Query filter hooks (ootb_query_post_type, ootb_query_posts_per_page, ootb_query_extra_args, ootb_block_marker_text, ootb_cf_marker_icon).
Dependency updates: @wordpress/scripts, @playwright/test, and GitHub Actions workflows.
Full Changelog: 2.10.0...2.11.0
Release 2.10.0
What's new in 2.10.0
- Fullscreen support (#34) — A new "Fullscreen mode" toggle in the block settings lets visitors expand the map to full screen. Also available via the
[ootb_query fullscreen="true"]shortcode attribute. Thanks to @mgiannopoulos24 for the contribution (#65)! - Richer geodata marker popups (#68) — When a geodata map marker has no address set and no custom
ootb_cf_modal_contentfilter override, the popup now falls back to a linked post title (with the featured thumbnail prepended when available), instead of being empty. - Security & dependency updates — Resolved multiple Dependabot alerts by upgrading transitive dependencies (
serialize-javascript,webpack-dev-server,minimatch,svgo,immutable) and bumping CI actions to their latest versions.
Full Changelog: 2.9.0...2.10.0
Release 2.9.0
2.9.0 brings a small but meaningful set of changes, and marks a turning point in how the plugin is
developed and maintained (spoiler: AI-assisted).
What's new
- WordPress Abilities API support. The plugin now registers its capabilities through the Abilities API
introduced in WordPress 6.9, laying the groundwork for deeper integration with AI tools and future
WordPress features. - Minimum WordPress version bumped to 6.6. If you're running an older version, now is a good time to
update. - Bug fix: empty markers no longer cause an error.
Under the hood
This release also ships a significantly expanded test suite and a hardened CI pipeline. None of this is
visible to users, but it matters: every future change to the plugin now runs through a comprehensive set
of automated checks — including tests against the actual distribution zip that gets installed from
WordPress.org, not just the source code.
The reason this matters beyond stability: this infrastructure is what makes it possible to move toward an
AI-assisted development and maintenance workflow for the plugin — where routine tasks like compatibility
checks, code review, and release preparation can be increasingly automated, with human sign-off at the
decisions that actually count.
What's Changed
Full Changelog: 2.8.9...2.9.0
Release 2.8.9
What's Changed
- Fixes a bug where the block alignment wasn't respected.
- Build script updates.
- Ensures compatibility with WordPress 6.9.
Release/2.8.9 by @gsarig in #64
Full Changelog: 2.8.8...2.8.9
Release 2.8.8
What's Changed
A new filter has been added as a follow up to this request, to allow customizing the text content that appears in marker popups. It's particularly useful when querying maps from other posts, as it provides the ability to customize the popup content for each marker. The filter accepts three parameters:
$marker_text: The original text content of the marker.$post_id: The ID of the post where the marker was defined.$current_post_id: The ID of the current post where the map is being displayed.
Example:
add_filter( 'ootb_block_marker_text', 'customize_marker_text', 10, 3 );
function customize_marker_text($text, $post_id, $current_post_id) {
// Only modify content if we're showing markers from other posts
if ($post_id !== $current_post_id) {
// Get post title and URL
$post_title = get_the_title( $post_id );
$post_url = get_permalink( $post_id );
// Add a simple header with link above the original content
$text = sprintf('<h4><a href="%s">%s</a></h4>%s',
esc_url($post_url),
esc_html($post_title),
$text
);
}
return $text;
}
Full Changelog: 2.8.7...2.8.8
Release 2.8.7
This version fixes a bug with WordPress 6.8 (read more).
Release 2.8.6
This version adds support for more AI providers, besides OpenAI. OpenAI is kept as the default, but you can now set your own API Provider and Model in the settings.
👉 Read more 👈

