Changelog

Every release.
Fully documented.

MLS Genie™ ships updates weekly. This is the public record of every feature, fix, and improvement — version by version. Built from real agent feedback.

Request a feature View pricing
Client feedback drives every release

Release history

August 2026
v2.0.18 Fix
  • Fixed scans finding candidates but never creating leads. Each run started
  • reading the match list from the top, which is right the first time and wrong
  • every time after: the same records came back, every one was already in the
  • ledger, and the scan reported candidates found and nothing created —
v2.0.17 Feature
  • A scan that finds nothing now says why. "0 found" was ambiguous — it can
  • mean there is genuinely nothing out there, or that one of the scan's own
  • filters is excluding everything, and those need opposite responses. From
  • outside they looked identical, which is how several scans returned nothing
v2.0.16 Feature
  • Prospects with no property valuation are now retired and blocked from
  • returning. If neither valuation source recognises the parcel, an agent
  • cannot price it or judge whether it is worth a call — and in practice it is
  • usually unimproved land the property category missed.
v2.0.15 Feature
  • GenieProspect now skips records whose address has no street number.
  • Such a record cannot be mailed, cannot be door-knocked, and cannot be told
  • apart from its neighbours, so it is not a lead however good the equity
  • looks. In practice most are unimproved land the provider's property
v2.0.14 Fix
  • Fixed the Cron Manager reporting scheduled jobs as never scheduled. It read
  • WordPress's own scheduler directly, but jobs registered through MLS Genie's
  • scheduler go to Action Scheduler wherever that is available — and those are
  • invisible to the WordPress call. A job that was scheduled and running looked
v2.0.13 Feature
  • Restored the status colours on the Reputation stat cards, and on the
  • expired-lead banner and portal status notes, which the colour sweep had
  • flattened to neutral greys.
  • The sweep matched each literal to the closest token by colour distance,
v2.0.12 Feature
  • GenieProspect's two scheduled jobs now appear in the Cron Manager. They ran
  • through the scheduler but were never listed, so a pool that had quietly
  • stopped filling looked exactly like a pool that was full — which is how one
  • sat at the same number for several days without anything reporting it.
v2.1.1 Feature
  • Confirmed the caller-identification endpoint against the provider's own
  • release documentation and corrected what 2.1.0 had inferred.
  • Four things were wrong. The service is on their V3 line, not V1, and the
  • path differs from the one the older skip-trace endpoint uses. Phone numbers
v2.1.0 Feature
  • Added caller identification to GenieProspect. Given a lead's phone number or
  • email address, it returns who they are and what property they own.
  • The point is what it does to inbound flow: a buyer enquiry from someone who
  • already owns a home is also a listing opportunity, and the agent calling back
v2.0.9 Feature
  • Changed the GenieProspect "Senior & Long-Term Owners" scan so it no longer
  • selects people by age.
  • The scan called the data provider's senior-owner list, which matches on a
  • senior tax exemption or an open reverse mortgage as well as on long
v2.0.8 Fix
  • Fixed logging out landing on WordPress's bare "Do you really want to log
  • out?" screen. That page appears whenever the logout link's signature has
  • expired — which happens routinely, because a link rendered into a cached
  • page keeps a signature that ages while the page sits in cache, and a
v2.0.7 Fix
  • Fixed contrast across both themes, measured rather than judged by eye. Every
  • rule that sets a text colour and a background was resolved through the theme
  • tokens and scored against WCAG 2.1 AA. Dark mode had 218 failing rules and
  • light mode — never checked before — had 217.
v2.0.6 Fix
  • Dark mode is now enforced rather than repaired. The previous passes each
  • fixed what had been looked at, and the next screenshot found another panel —
  • because nothing prevented the next raw colour being written. This release
  • closes the last surfaces and adds the check that keeps them closed.
v2.0.5 Feature
  • Dark mode completed across the whole plugin. Rather than chasing panels one
  • screenshot at a time, every colour declaration was audited by role — a hex
  • mapped to the token that carries the right value in each theme.
  • 2,021 declarations converted: 981 in stylesheets and 1,030 inside the inline
v2.0.4 Fix
  • Fixed the locked Refresh Interval field being unreadable in dark mode. It
  • used an inset surface that sits a shade away from the card behind it, so the
  • field all but disappeared. It now uses the page background, which reads as
  • inset in both themes, and states its own text colour rather than inheriting.
v2.0.3 Fix
  • Fixed the GenieScout auto-import banner painting its own background. It
  • carried a gradient and a border colour of its own, so it never matched the
  • cards around it. Those rules are gone — the banner takes its surface and
  • border from the standard settings card like everything else on the page.
v2.0.2 Feature
  • Completed dark mode properly. The earlier pass only converted flat white
  • backgrounds, which left every tinted panel behind — the GenieScout intro
  • banner painted a pale blue gradient, the health badges, warning strips and
  • success confirmations all kept their own light hexes, so they stayed bright
v2.0.1 Fix
  • Fixed the Cron Manager panel rendering white in dark mode on the CRM
  • Settings route. GenieScout settings existed twice — a standalone page and a
  • tab inside CRM Settings — and the two had drifted: the standalone one was
  • rebuilt on design tokens, the tab kept its original inline styles, so the
v2.0.0 Feature
  • MLS Genie leaves beta.
  • Removed the Beta badge from the CRM sidebar, along with the developer
  • switch that showed it, and dropped the Beta pill from GeniePortal.
  • Security audit of the AJAX surface ahead of launch: all 372 registered
v1.9.775 Fix
  • Fixed cards sitting in two slightly different colours in dark mode. The
  • shell's surface token was written as a literal in the dark theme rather than
  • aliasing the base token as it does in light mode, so the two drifted a shade
  • apart — and the surface pass in 1.9.774 made the difference visible by
v1.9.774 Feature
  • Completed the dark-mode surface pass across GenieCRM and the client portal.
  • Fifty-nine card, panel, popup, input and skeleton backgrounds were painting
  • a hardcoded white instead of the surface token, so in dark mode they stayed
  • bright regardless of the theme — Property Intelligence, comps, pipeline,
v1.9.773 Fix
  • Fixed the Next 7 days card staying white in dark mode. Two causes: the card
  • painted its own background with a hardcoded white rather than the surface
  • token, and the text token it used for headings and copy was never declared
  • in either theme — every rule referencing it silently fell back to the dark
v1.9.772 Fix
  • Fixed Transaction Coordinator not saving from Team Manager. The role change
  • was rejected server-side by a hardcoded list of valid roles kept separately
  • from the plugin's own role list — a fourth copy of the same thing, so a role
  • that appeared correctly in the dropdown was refused on save with no visible
v1.9.771 Feature
  • Transaction Coordinators can open Commission again. Excluding it in 1.9.770
  • was wrong for most teams: coordinators commonly prepare the disbursement
  • authorisation and cannot do that paperwork without the figures. Access is
  • on by default, with a switch in CRM Settings for teams that keep splits and
v1.9.770 Feature
  • Added the Transaction Coordinator role. A TC takes deals from accepted
  • offer to close and works every agent's files, so the role has cross-agent
  • visibility by design rather than being scoped to leads of their own.
  • They get: Tasks in full, Pipeline in full across all agents, lead records
v1.9.769 Feature
  • Added a single place that decides which roles reach which parts of the CRM.
  • Role gating was previously written wherever it was needed — an inline check
  • in the navigation builder, a guard in a template — which holds up until a
  • second role needs the same treatment and the two drift. Hiding a navigation
v1.9.768 Fix
  • Fixed the portal dashboard reporting fewer saved searches than the client
  • actually has. A client can end up with two kinds of saved search stored
  • separately — alerts the agent builds for them, and searches they save
  • themselves on the site — and the dashboard counted only the second while
v1.9.767 Feature
  • Client Portal settings expanded from one card into the portal's control
  • surface, under CRM Settings → Client Portal.
  • Added Listings Page. Every "Browse Listings" link in the portal pointed
  • at the site's home page, so a client following one landed on the front page
v1.9.766 Fix
  • Fixed a line of template code printing on the client portal dashboard. A
  • close tag one statement too early ended PHP before the shared listing-row
  • renderer was assigned, so the assignment rendered as visible text and the
  • variable was undefined at both places that used it — meaning the "New for
v1.9.765 Feature
  • Added Hide on every review. For reviews that are real but not this
  • team's to answer — another brokerage's agent still attached upstream, or a
  • review about a different business. Hiding removes it from the inbox and
  • from every counter and response-rate figure, so it stops counting against
v1.9.764 Feature
  • Added an open-on-source link to every review card, next to the date.
  • Opens the review where it actually lives, in a new tab, so a review and a
  • posted reply can be confirmed on the site itself. Uses the review's own
  • link when the feed gives one and falls back to the team's own profile on
v1.9.763 Fix
  • Fixed removed reviews surviving the reconciliation added in 1.9.762. That
  • sweep worked per office, which cannot reach two kinds of row: reviews still
  • filed under an office the platform no longer lists, and reviews written by
  • the new-review poll before their office was known — that path has no office
v1.9.762 Fix
  • Fixed reviews that have been removed at the source continuing to show in
  • Reputation Manager forever. The review cache was upsert-only: every sync
  • wrote what the feed returned and nothing ever deleted a row, so a review
  • removed upstream — an unlinked agent's reviews, a deleted or corrected
v1.9.761 Fix
  • Fixed Auto-draft after (days) silently refusing 0 in the MLS rule drawer.
  • The field's own hint says 0 means indefinite display, but the save used a
  • on the way out. Indefinite display could not be saved at all, and the drawer
  • reopened showing 1095 as though the entry had never been made.
v1.9.760 Fix
  • Fixed the warning icon sitting flush against the text in the job builder's
  • anonymous flex item — the bare text node beside the icon — does not take
  • reliably; an explicit margin does.
v1.9.759 Feature
  • Renamed the job builder's Auto-Delete Statuses card to **Skip These
  • Statuses** and rewrote its description. The old wording said listings in
  • those statuses would be "automatically deleted from the site," which was
  • never true — the setting has only ever excluded them from the import. No
v1.9.758 Feature
  • a guard, so every render on a request with no post in scope — a 404, or an
  • archive that returned nothing — logs an entry. A crawler working through
  • stale URLs can produce thousands a day, which buries real faults.
  • for the duration of those widgets' render and restores it immediately after.
v1.9.757 Feature
  • Off-market listings now serve only their primary photo on public property
  • pages, enforced at the data layer. CRMLS Rule 19.2.4, revised February 2026,
  • prohibits displaying any photo other than the primary one for records in a
  • Closed/Leased, Expired, or Cancelled status.
v1.9.756 Feature
  • Client portal dashboard: replaced the My Alerts stat card with **New
  • Matches**. Once alerts and saved searches merged onto My Agent, the two cards
  • showed the same number and led to the same page — two cards for one thing.
  • New Matches counts listings that matched a saved search in the last week and
v1.9.755 Fix
  • Fixed: the Saved Searches and My Alerts cards on the client portal dashboard
  • linked to views that were retired when their content moved onto My Agent.
  • Both routes still resolve, so clients were silently dropped at the top of My
  • Agent with no indication of why they had landed there.
June 2026
v1.8.579 Feature
  • New on-page listing content — a compliant, factual market paragraph (median price, days on market, months of supply) for the listing's city, plus dynamic links to the community page and housing-market report.
  • Adds unique, indexable content to every listing page without touching the MLS remarks.
  • Drop-in shortcodes with theme-native markup and class hooks, documented in the Listing Tools tab.
v1.8.568 Feature
  • Listings now render a complete social preview card (OpenGraph + Twitter image) when shared on Facebook or X.
  • A new Default Social Sharing Image covers pages without their own photo, like city and area pages — listings still use their own photo first.
  • Duplicate social tags emitted by the theme are removed, leaving one clean set per page.
v1.8.566 Feature
  • Intelligent Meta — SEO titles and descriptions adapt to each listing: optional bracketed sections appear only when the data exists, and zero values (0 beds/baths/sqft) are hidden.
  • Listing price renders as formatted currency, and Terms Manager renames (e.g. House) flow through to titles and descriptions while schema stays standards-valid.
  • One template now reads correctly across houses, land, boat slips, and everything else.
v1.8.562 Feature
  • Listing structured data now carries the full photo gallery (up to 12 images) instead of a single image.
  • Corrected price specification, Google-valid availability status, and a brand added — richer, standards-valid listing markup.
v1.8.558 Feature
  • Active listing updates (price, status, days on market, photos) now appear within about 15 minutes of reaching the MLS feed instead of potentially taking hours.
  • The nightly full sync remains as a safety net, and property-history timelines refresh on the next view rather than waiting out the cache.
v1.8.555 Major
  • Your brokerage now publishes a connected business graph — organization data with the cities you serve, per-office map links, geo coordinates, and hours of operation.
  • Your team members appear as agent structured data on the homepage, and when one of your agents is the listing agent on a property they are credited in that listing's structured data.
  • A Featured Service Areas control publishes your cities automatically or by selection; third-party listings are unaffected.
v1.8.536 Feature
  • Unified lead attribution across every intake path — Form Bridge, native Genie forms, and AI Chat now resolve through one canonical engine.
  • Source shows the real channel (Google, Social, Direct…) while Lead Action carries the form type (Valuation Request, Buyer Inquiry).
  • AI Chat leads attribute through the same path and read "AI Assistant" as the lead action.
v1.8.530 Major
  • New Communication Manager sends branded lead and inquiry confirmation emails automatically on every intake path.
  • Settings → Notifications tab inside GenieCRM™ — control the confirmation copy and per-event notifications without leaving the CRM.
  • Default confirmation copy is a single source of truth, shown as the live placeholder so you see exactly what sends.
v1.8.517 Feature
  • Listings that arrive without photos now show a clean map image instead of a blank placeholder.
  • Applies everywhere — the property hero, listing cards, theme widgets, and GenieCMA™ comp cards.
  • Handled entirely in the import layer, with no theme edits required.
v1.8.514 Feature
  • Mobile pull-to-refresh — pull down at the top of any CRM page to refresh, with a spinning refresh indicator.
  • Closed and sold transactions can now surface as a dated event on the property history timeline.
v1.8.505 Fix
  • Performance hardening — faster public property pages and search via postmeta indexing, batched backfills, and removal of slow per-request queries.
  • Resolves the elevated-CPU regression some sites experienced, and a GeoGenie™ quarantine check that was slowing property search.
v1.8.494 Feature
  • Global CINC on/off toggle — pause CINC lead forwarding site-wide with one switch, without losing the configured forwarding address.
  • Houzez 4.3 form-hook compatibility so lead capture keeps flowing into GenieCRM™.
v1.8.484 Feature
  • Team management moved into the CRM — Team Members, Team Chat settings, and the Settings navigation are now all inside GenieCRM™, no wp-admin trips.
  • Manage Teams stays gated to the Brokerage tier.
v1.8.466 Feature
  • Market Data Library — a precomputed store so market-data KPI shortcodes render inline and instantly.
  • Smooth dim-then-brighten seeding for every market-data shortcode.
v1.8.444 Major
  • Address-correction engine — parcel-verified displayed addresses, corrected and title-cased from authoritative parcel data.
  • Drives the correct city taxonomy and listing slug, applied theme-agnostically through the Scout writer, with a per-AOR toggle.
v1.8.421 Feature
  • GenieScout Engine Live Search draw tools rebuilt — polygon and circle draw-to-search on the map.
  • Draggable shapes, a reliable finish anchor, and re-search by dragging a completed shape.
v1.8.391 Feature
  • Persistent, sortable Lead Score engine with a learning scaffold and priority-framed labels.
v1.8.377 Feature
  • Ask Genie upgraded — web research, a broader help mandate, and real usage metering.
  • Property Lookup by APN as well as address, and Search MLS auto-routing by county.
May 2026
v1.8.256 Major
  • Search Intent on lead profile — paid keyword (utm_term), organic referrer query (DuckDuckGo, Bing, Yahoo, Brave, Ecosia + 7 more), or inferred from landing-page slug.
  • Assigned-agent pill becomes an inline dropdown — reassign a lead in one tap without leaving the profile.
  • Auto-log every reassignment to Notes & Activity with the previous and new agent names.
v1.8.255 Feature
  • Server-side first-touch capture — reads HTTP referrer, Sec-Fetch-Site, and User-Agent directly from the request. Invisible to ad blockers, Brave/Safari/Firefox privacy modes, and visitors with JavaScript disabled.
  • Honest source labels for "Direct" traffic — "Facebook App", "Instagram App", "TikTok App", "Gmail App", "Direct (typed or bookmark)", "Cross-site (referrer hidden)" — no more vague fallback.
  • Hover tooltip on every Source value explaining exactly how the label was derived and how much to trust it.
v1.8.254 Feature
  • Hero row refinements on Lead Detail — assigned agent surfaced as a pill alongside the type badge, no scrolling required.
  • Pipeline stage pill now colored to match the stage (New = slate, Contacted = blue, Nurturing = amber, Hot = red, Under Contract = violet, Closed = green).
  • Tighter visual rhythm — consistent padding across stage, type, and agent pills.
v1.8.252 Feature
  • Inline pipeline-stage dropdown on the Lead Detail page — change a stage in one tap without navigating to the board.
  • Auto-logged stage transitions in Notes & Activity — *"Stage changed: New Lead → Contacted"* with timestamp + agent name on every move.
  • Same code path as drag-drop on the Pipeline board — identical permissions, history-table writes, and notification hooks.
v1.8.251 Major
  • Tracked Pages — pick non-property pages (Free Home Valuation, Schedule Tour, Contact, etc.) to surface on lead profiles.
  • Two tiers: Conversion (gold-star highlight + optional real-time email alerts to the assigned agent) and Engagement (subtle eye icon, contextual logging only).
  • Works for visitors who block Google Analytics — first-party tracker runs on your own domain, not subject to ad-blocker lists.
  • Conversion hits add a new "Conversions" stat to the Site Activity card and appear in the chronological Visitor Journey timeline.
v1.8.250 Feature
  • Privacy-Conscious Visitor indicator — surfaced when a visitor's browser blocked Google Analytics (≈30–40% of real traffic today).
  • Framed as a known, normal scenario rather than a data gap — hover tooltip educates the agent that contact details were still captured normally.
  • Honest framing of attribution depth, not a "data missing" warning.
v1.8.248 Feature
  • Verified phone numbers now show a green checkmark next to the number on the Lead Detail page.
  • Visual confirmation that the carrier check cleared the number — no more hovering to read the tooltip.
  • VoIP and unverified numbers keep their existing amber and red indicators.
v1.8.247 Fix
  • Form name now displays correctly on Forminator-sourced leads instead of the generic "Contact Form" placeholder.
  • Switched to the documented Forminator_API for form lookup with a CPT-title fallback for resilience.
v1.8.244 Fix
  • GenieScout MLS Rules registry — self-healing install + backfill so the registry populates automatically on first load.
  • Detection of multiple feeds (CRMLS + BBAOR + future additions) now correctly tags each listing's originating MLS.
v1.8.243 Fix
  • Improved MLS detection for multi-feed brokerages so each listing is correctly tagged with its originating MLS.
v1.8.215 Feature
  • First-touch attribution beacon now fires for every visitor on first landing, not just visitors arriving with UTM parameters.
  • Captures the referrer header server-side so anyone who later submits a form has full attribution context, even days later.
v1.8.203 Feature
  • GA4 async enrichment pipeline — automatically queries Google Analytics for source, medium, campaign, device, and session count on every new lead.
  • Retry schedule handles GA4's 24–48 hour processing delay; verified leads earn a green "Verified via GA" pill in their profile.
v1.8.201 Feature
  • GA4 Client ID captured at form-submit time from the `_ga` cookie — stored alongside every lead for cross-referencing GA sessions and audience export.
v1.8.169 Feature
  • Lead Action field — captures the form name (Forminator title, Houzez "Property Inquiry" / "Contact Agent" / "Schedule Tour", CF7 / WPForms / Elementor form name) on every submission.
  • Campaign field — pulls first-touch utm_campaign for every lead and resolves it through your campaign mappings.
v1.8.168 Feature
  • Guaranteed-non-empty Source contract — every lead now lands with a human-readable source, no exceptions.
  • Five-tier resolution: explicit upstream value → derived from UTM / cookie / referrer → form-name fallback → default-source floor → audit token stamped on the row.
v1.8.157 Major
  • Sitewide visitor cookie and UTM capture — visitor identity persists across the entire site, not just property pages.
  • A visitor who arrives via a Google Ads UTM, browses /about/, leaves, and returns days later still has full attribution when they submit a form on any page.
  • Dual-column timestamps (local + GMT) across the activity table — eliminates a whole class of DST and timezone bugs.
v1.8.139 Feature
  • Role-based access system — `mlsg_agent`, `mlsg_manager`, `mlsg_team_admin`, `mlsg_team_lead` roles with the custom `mlsg_manage` capability gating every admin page.
  • WordPress administrators automatically inherit `mlsg_manage` — no double-permission setup.
April 2026
v1.7.557 Feature
  • GenieScout cron architecture hardened — MLSG_Cron_Manager always-loaded, schedules registered at every page load.
  • Nightly imports trigger at 1am local time; refresh runs cursor-paginated batches of 50; jobs page run every 30 seconds with a 2-minute stagger to keep the host happy.
v1.7.300 Major
  • Genie CRM — full standalone shell at /genie-crm/, no WordPress chrome, hardcoded asset injection so no theme dependency.
  • Commission Manager, Lead Tags, CINC integration, and the Form Bridge module all ship inside the shell.
v1.7.294 Major
  • GeoGenie™: Extracted all quarantine logic into new shared MLSG_GeoGenie class — single source of truth across all entry points.
  • GeoGenie™: Phase 2 area string now built from listing's own MLSAreaMajor → City → PostalCode — works for every property regardless of import origin.
  • GeoGenie™ batch: Added geocoded area centroid as third check; area_major and state now collected per listing.
  • GeoGenie™ single: run_geogenie_single() now delegates to MLSG_GeoGenie::evaluate_single().
v1.7.293 Feature
  • GeoGenie™: Reimport from MLS now re-evaluates single-listing geo-validation.
  • Phase 1: median centroid of sibling listings from same import job (50km threshold).
  • Phase 2: Google-geocoded job area centroid (25km threshold, cached 30 days).
  • Self-healing: listings that pass after coordinate correction are automatically un-quarantined.
v1.7.292 Feature
  • ListingGenie™ v1.0 — 6-step pre-listing package wizard.
  • CMA packet with Include/Exclude toggles on comp cards.
  • Pricing fields with Conservative/Recommended/Optimistic auto-compute (25th/50th/75th percentile $/sqft).
  • Net Proceeds table and Comparable Sales Analysis on share page.
  • DB schema v1.1: subject_address, subject_data_json, agent_notes, pricing_json columns added.
v1.7.291 Fix
  • Fixed Python string splice boundary error in content parser (content[end+4:] → content[end:]).
  • Node.js PHP syntax scanner now runs on every modified file before zip assembly.
  • Property data lookup caching improved to 24h transient.
v1.7.290 Feature
  • GenieLayers™ boundary packs (.mlsgpack format) — domain-locked HMAC-SHA256 license keys.
  • Settings UI upload/remove for boundary packs.
  • Big Bear AOR pack v1.0.2 — Moonridge, Sugarloaf, Big Bear City.
  • BoundaryLabel now uses google.maps.OverlayView (no close buttons or tails).
v1.7.289 Fix
  • Google OAuth migration to the MLS Genie™ project.
  • Root cause fix: nonce mismatch on Analytics connection.
  • Houzez CRM reactivation confirmed non-conflicting with GenieCRM.
v1.7.288 Feature
  • Genie Social: migrated to new social publishing backend.
  • All user-facing surfaces continue to display "Genie Social" — vendor never exposed.
  • Fixed CSS/JS loading in genie-crm-shell.php (direct link/script tags, no wp_head dependency).
March 2026
  • Version 1.0 released and the platform built out fast — GenieCRM, automated MLS import, area pages, and the schema engine — across rapid daily iteration from v1.0.0 through the v1.6 series.
February 2026
  • Early development and architecture groundwork.
December 2025
  • MLS Genie project created — the first working build.

My team recently switched from CINC Pro to MLS Genie and I absolutely love it! MLS Genie is so much easier to use and less confusing!

DR
Destiney Roxburgh Local Lake Arrowhead REALTOR® at KW Lake Arrowhead · Team Rahill Real Estate

Turning Chaos into Clarity

Ready to replace your
entire tool stack?

Book a 30-minute live demo. We'll show you the full platform running live — leads, MLS sync, pipeline, and more. No slides, no fluff.

No commitment required · Responds within one business day · Optional setup · Monthly subscription