Backlog

What we’ve shipped

WP InSpot grows in the open. Below is everything that has already shipped, release by release — no promises, just what is in your hands today.

Changelog

Every release so far, newest first

1.7.1 – 1.7.3 — your theme’s type, your own button wording

Three small releases that take the plugin’s own opinions back out of your content: overlays now read in your theme’s typography, a button says what you want it to say, and a companion plugin can put its own figures into the field picker.

  • Popups and tables follow your theme — the entity title, field values, text zone content, the WooCommerce price and table cells no longer pin their own font size. They take it from your theme’s Customizer typography, so an overlay reads like the rest of the page. The plugin’s own buttons, badges and field labels still set their size: they are chrome, not content.
  • Name a button yourself — the button on a post link or on any ACF URL field can carry wording of your own instead of the default text. Leave it blank and the usual wording is used; the empty field’s placeholder shows you exactly what that will be.
  • Editing it stays out of the way — 1.7.3 tucked that field behind a pencil beside the button text. It opens when you click it and closes on Enter, so a long template stays readable while you work.
  • Computed fields, for developers — a plugin that owns a post type can now contribute values that are not stored the way they are shown: a price with its currency, a status with its label, a figure kept nowhere at all. WooCommerce already had this by being written into the resolver by hand; now any plugin can, without WP InSpot knowing anything about it.

1.6.1 — columns inside a template

A popup stops being one long list. Blocks can sit side by side, the window sizes itself to what you built, and an image is no longer cut to fit.

  • Column layout in templates — every template section gains a plus button that adds a row of two columns, and blocks are dragged into them: details on the left, floor plan on the right. Building columns is Pro. Without a licence a saved layout is not emptied and does not vanish — it flattens to one list of blocks, keeping all its content, and comes back when the licence does.
  • The popup fits its own template — there is no width setting any more. The popup, side panel and modal each take exactly the room the layout you built needs, within limits proper to their own kind. Your own CSS still overrides it.
  • Images are no longer cropped — an image in a popup keeps its proportions instead of being cut to a fixed height. That mattered most for floor plans, where the crop could hide the very thing the visitor opened the popup to see.
  • A more comfortable builder — a wider window, larger blocks and drag targets, and every setting showing its label above the control with the description below it. A plugin can also declare its own meta fields to the picker now, protected keys included.

1.5.4

  • The front end refreshes itself after a licence change: buying, renewing or letting a licence lapse now clears the popular caching plugins automatically, because the page a visitor gets has the map data baked into it. A dashboard reminder covers the CDN, which is still yours to purge.
  • Table cells carry a data-value attribute holding the stored value, so your CSS can colour “Sold” differently from “Reserved” — and the rule survives translating the page or renaming the label.

1.5.2 – 1.5.3

  • The permalink column renders as a link instead of printing the raw address. An unpublished entry still leaves the cell empty rather than linking to it.
  • Its link text follows the row’s own post type, so a table mixing apartments and parking spaces stops naming the wrong kind of entry. The column header is unaffected.
  • Field labels are honoured when picking fields: a meta field registered as “Rooms” is offered as Rooms, not as house_rooms.

1.5.1 — the table view

The same zones, read as a table. Put it beside the interactive image and the two drive each other; put it on a page of its own and it is a plain table of prices and areas that a search engine can read.

  • Table view — show a workspace’s zones as a table beside the interactive image, or on its own with no image at all. Hovering a row highlights its zone, hovering a zone highlights its row, and clicking a row does exactly what clicking the zone does: opens the content, follows the link, or goes a level deeper. Row 4 and pin 4 are always the same zone.
  • Table templates — build a set of columns once and assign it to a workspace; everything nested below inherits it. Each column pairs a header with one field, picked from a list or typed by hand. Columns never disappear: a row with no value shows the empty cell you defined, so the table reads the same at every level. Building templates is Pro; a saved template keeps rendering on any plan.
  • Readable by search engines — the table is rendered on the server, so its prices and areas are in the page’s HTML rather than assembled by a script afterwards. A page carrying only a table loads none of the viewer code at all.
  • Back to the first image — the nested navigation bar gained a button that takes visitors straight back to the image they started on, instead of stepping up one level at a time. It returns them to the start of their own visit, not to the top of a tree they have never seen.

1.4.1 — the fields you were missing

A follow-up to 1.4.0 that finishes the job: the media fields WP InEstate was hiding are now offered in the template editor, and picking the right field for a download button no longer means guessing.

  • WP InEstate media fields — a unit’s floor plan, PDF spec sheet and virtual tour are now offered in the template editor, under their real names instead of raw keys. They were invisible there before: InEstate registers unit data as protected meta, which the field list skips wholesale. Internal notes and pricing internals deliberately stay hidden.
  • Guided file picking — the field list for a Download button now puts the fields that actually hold a file first, and keeps everything else selectable underneath with a warning. A field you added a minute ago has no values to detect yet, so it stays pickable on purpose.
  • The drawer closes on a click outside it, not only on the × button. It has no dimming backdrop, so that click can land straight on another zone and open it.
  • The template editor is fully translatable, and the Polish translation is complete — several labels were still hardcoded in English.

1.4.0 — templates grow up

Entity templates stopped being a list of fields. They got a look you can choose without writing CSS, blocks that stop pretending to be links, and two kinds of button — one you wire up yourself, one that needs no code at all.

  • Template presets — choose how an entity popup looks without writing CSS. Default keeps each label above its value, Classic puts them side by side like a spec sheet, Compact fits more fields into the same space, and Cards gives every field its own surface. Classic, Compact and Cards are Pro — and if a licence lapses, the template renders as Default while your choice waits untouched in the database.
  • Per-block link switch — a title or a “Read more” no longer has to be a link. Turn linking off for any block that renders as one and it keeps its text without becoming clickable. Free, and on by default, so older templates render unchanged.
  • Action buttons — add a button to a template, give it a name, and clicking it fires an inspot:action browser event carrying the entry’s ID. Your site’s JavaScript decides what happens: open a form, start a flow, anything. It is also forwarded to GA4 and GTM automatically.
  • Download buttons — point one at the field holding a file and the popup gets a download link, with no code at all. Entries whose field is empty simply do not get a button, instead of a dead link.
  • Authoring either button is Pro; buttons already saved in a template keep working on every plan.
  • Fixed: ACF choice fields (radio, select, checkbox, button group) showed the stored value instead of the label, so a field storing “bike: Bike” displayed “bike”. Grouped choices are handled too.
  • Fixed: ACF image and gallery fields whose Return Format was “Image ID” or “Image URL” did not appear at all. They now render whatever the format, and carry a srcset like the featured image does.
  • Blocks in the template builder share one drag handle instead of a per-type emoji — the pencil on text blocks read as an edit button.

1.3.6

  • The bundled Leaflet, Leaflet-Geoman and Pickr libraries now ship with their licence files, and the packaging that keeps Pro-only code out of the free build was tightened.

1.3.5

  • The free build no longer carries the JSON import/export code, which is a Pro feature — it is excluded at packaging time rather than switched off at runtime.

1.3.4

  • Packaging and readme housekeeping for the WordPress.org directory — build instructions now live in the readme, and the plugin root ships no files the directory does not expect.

1.3.3

  • The plugin now ships the readable JavaScript and SCSS sources behind its minified assets, so anyone can inspect or rebuild what runs on their site.
  • The readme now documents the Freemius connection in full — what is sent, when, how to skip it, and how to disconnect later.

1.3.2

  • A “None” option for nested navigation — turn off the breadcrumb and back-arrow chrome entirely, for workspaces that provide their own way back with a zone pointing at a parent.

1.3.1

  • Fixed: the zone order you set by dragging rows in the Zones panel was lost as soon as you saved the workspace.
  • Fixed: an interactive image embedded in a narrow column opened its zone content in the mobile bottom sheet even when the breakpoint was set to measure the browser window, so the same image behaved as desktop and mobile at once.

1.3.0 — free means free

Zone effects were always listed as a free feature. Now they behave like one — and where Pro really does begin, the editor says so up front instead of quietly dropping your work.

  • Zone effects on every plan — the looping Zoom and Pulse attention animations, with their Speed and Range controls, now work on the free plan, exactly as the feature list describes. Give a zone a pulse and your visitors see it, licence or no licence.
  • Clearer Pro boundaries in the editor — per-zone colour overrides now carry a Pro badge and an upgrade link, instead of letting you pick colours that were quietly discarded when you saved.
  • Removed: the old hover animation setting, long since superseded by zone effects.

1.2.9 — bulk actions & a trash that means it

The workspace list learned to work on many workspaces at once — and the trash finally does what it says: a trashed workspace, or a zone pointing at one, leaves your site instead of lingering as an empty box.

  • Bulk actions on the workspace list — tick several workspaces and move them to trash, restore, permanently delete or duplicate them in one go. Select-all covers only the rows you can actually see, destructive actions confirm first, and the outcome is reported honestly: “Moved to trash: 3. Skipped: 2.”
  • Bulk copies are flat on purpose — each selected workspace is copied on its own, at the top level, without its nested tree. Duplicate from a single row when you want the whole hierarchy.
  • Fixed: a workspace in the trash still appeared on the front end — an empty box for visitors, and a full render for anyone logged in who could edit it. It now renders nothing at all, for everyone.
  • Fixed: a zone pointing at a trashed nested workspace still showed on the image, sending visitors to a dead end. Visitors no longer see it; in the editor it stays put so you can repoint or delete it.

1.2.8

  • Zone content opens noticeably faster — the content behind entity zones is fetched in a single batched request per image instead of one request per zone, turning a multi-second warm-up into a fraction of a second on typical shared hosting.
  • Fixed: content that was already loaded still flashed a brief “Loading…” state before appearing — in popups, drawers and the mobile bottom sheet alike.

1.2.7

  • The interface says “image”, not “map” — labels, tooltips and screen-reader hints now match what WP InSpot actually works on.
  • The Polish translation was reviewed end to end: consistent terminology, more natural phrasing, several typos gone.
  • Fixed: the shortcode example in the Polish tutorial showed stray backslashes.

1.2.6

  • A Trash view on the workspace list, with Restore and Delete permanently — trashed workspaces are no longer stuck out of reach.
  • A loading placeholder while a workspace image downloads, so the area no longer looks empty on slow connections.
  • The Gutenberg block and the Elementor widget now carry the WP InSpot brand icon; clearer skip-link wording; softer panorama edge shading.
  • Fixed: hovering a zone with video or audio no longer re-downloaded the media every time.
  • Fixed: zones and images of a permanently deleted workspace are now removed from the database instead of being left behind.

1.2.5

  • Zone content is prefetched in the background — popups and panels open instantly.

1.2.4

  • The mobile bottom sheet below 576 px — popups, modals and drawers open as a sheet on small screens. Configurable, on by default.
  • Much faster loading — workspace data is embedded in the page, nested workspaces and their images are prefetched in the background, and revisited views come from cache.
  • Fixed: the bottom sheet could close itself right after opening on touch devices.

1.2.3

  • Status tabs on the workspace list — All, Published and Drafts with counts; unsaved auto-drafts are visible and labeled instead of stranded.
  • Every tab renders the nested hierarchy, and subtrees under a trashed or filtered-out parent are promoted to the top level instead of disappearing.
  • Fixed: a remembered collapse state could hide rows in filtered list views.

1.2.2

  • Updated: Freemius SDK 2.13.4.

1.2.1

  • “Hide breadcrumbs on mobile” — hides the breadcrumb trail on small screens, inline and in fullscreen; the Back button stays visible.
  • Fixed: pinch zoom-out on a panorama could shrink the image into a corner and misalign the zones.
  • Fixed: literal escape sequences shown in the interface instead of “…” and “→”.

1.2.0 — the mobile & motion release

The phone experience got a full second pass, zones learned to draw attention to themselves — and the last trace of our branding left your front end.

  • Zone effects — looping Zoom (gentle breathing) and Pulse (water-ripple echo) attention animations with Speed and Range controls. They pause on hover and keyboard focus, honor reduced motion — and they are free for everyone.
  • Mobile accordion 2.0 — numbered zone pins on the workspace image mirroring the list (tap either one), type icons and zone counters on rows, indented nested blocks, sibling auto-collapse, sticky group headers, and app-style slide navigation in replace mode.
  • Back links — zones pointing at an ancestor workspace rewind navigation instead of nesting a loop, on desktop and mobile alike, across any number of levels.
  • Mobile fullscreen lightbox — the fullscreen button on phones opens the image with the same tappable pins; nested workspaces render in the same modal, content opens in the bottom sheet on top.
  • Breakpoint your way — choose whether the mobile breakpoint measures the viewport (default) or the embedding container, so interactive images in narrow columns can go list-view on desktop too.
  • Official InSpot branding across the admin — menu icon, logo headers — plus a redesigned Settings page with a live overlay-theme preview.
  • Zone stroke weight now goes up to 36 px; all close and delete buttons use crisp SVG icons; bottom-sheet swipe-to-close is more reliable.
  • Fixed: post titles with special characters (ampersands, apostrophes) showed HTML entities in tooltips and lists.
  • Removed the “Powered by WP InSpot” badge — no links or credits on your site, on any plan.

1.1.0

  • GA4-ready analytics — image views, zone clicks, popup opens, drill-downs and fullscreen views are forwarded automatically to Google Analytics (gtag) or Google Tag Manager (dataLayer). Matching DOM events cover any other tool, and one filter turns the forwarding off. See the documentation for the full event reference.
  • Fixed: the hidden panorama navigation toolbar no longer blocks clicks and hovers on zones beneath it.

1.0.1

  • 42 new built-in icons and a new Shopping & Ecommerce category — 160 icons total.
  • Multilingual workspace list: language flags and a language filter on Polylang and WPML sites.
  • Fixed: hover popups no longer close while the mouse travels from the zone to the popup.
  • Improved: the “General Settings” menu entry is now simply “Settings”.

1.0.0 — first stable release

Beyond the highlights below, 1.0.0 shipped a full WCAG 2.2 AA accessibility audit, an automated PHP + JavaScript test suite running on every change, and a complete Polish translation. It now requires PHP 8.0.

  • Link zones — send a click to any external or internal URL, optionally in a new tab.
  • Per-zone content display — choose popup, drawer, modal or hidden for each zone individually.
  • Text markers — scalable text labels drawn directly on the image, zooming with it.
  • Custom SVG markers can inherit the zone color; built-in icons moved to crisp self-hosted inline SVGs.
  • WooCommerce blocks in the redesigned template builder — stock availability, add-to-cart, regular & sale price.
  • Duplicate a workspace alone or with its whole nested tree.
  • Per-workspace mobile breakpoint override and private admin notes.
  • Opt-in data removal on uninstall — nothing is deleted unless you enable it.
  • Refreshed admin UX: toasts, clearer empty states, a Tutorial page with live navigation.
  • Performance: lazy viewer initialization, zero footprint on unrelated pages, N+1 queries eliminated.
  • Reliability: self-healing database schema. Security: hardened validation and escaping.

0.7.5

  • Freemius licensing with a free plan (3 workspaces, 1 template) and Pro gates.
  • Redesigned Settings & Templates pages, new picker modals, getting-started Tutorial.
  • Security: fully self-hosted Leaflet (no CDN), stored-XSS fix, scoped AJAX permissions.

0.7.0

  • Import / Export for workspaces, including WP InEstate integration.
  • Per-zone color customization; panorama mode; icon markers with a self-hosted library.

0.6.0

  • Scene transitions, zone animations, the Elementor widget, fullscreen mode, first full WCAG pass.

0.5.0

  • Templates system; breadcrumbs & hierarchical navigation for nested workspaces; workspace and zone duplication.

0.4.0

  • Gutenberg block; WPML configuration and Polylang integration.

0.3.0

  • Polygon, rectangle and circle drawing tools; responsive scaling engine; global zone colors.

0.1.0

  • Initial release: workspaces, zone drawing, nested workspaces with breadcrumbs, popup content.

Missing something?

Tell us — what users actually ask for is what gets built. A short message about what you are building is all it takes.