Product
Properties, rooms, tenancies, applications, maintenance and viewings — a complete HMO toolkit that runs on any theme and plugs straight into CoreBox.
Changelog v1.7.9
HMO Manager Pro — Changelog
All notable changes to HMO Manager Pro are documented here. Dates use DD/MM/YYYY.
Recent releases (1.6.x) are described in detail; earlier work is summarised as milestones.
Detailed release history (1.6.x)
1.7.9
Bulk email on the manager dashboard. The front-end tenant list now has the same tick-boxes as the admin list: select tenants (or use select-all, which respects the live search), hit Send Email, and a composer sends your message to everyone chosen. Managers can only email tenants in their own properties.
Deposit Reference field. The tenant editor now has a Deposit Reference box (e.g. the DPS Deposit ID). It shows to the tenant in their portal under Deposit Protection — the portal already displayed it, it just couldn't be entered before.
Undo on the onboarding pipeline. Each pipeline card now has a ↩ Back button that steps the tenant back one stage (with a confirmation), so an accidental click can be reversed. It appears on both the manager board and the wp-admin dashboard board, and is hidden on the first stage.
1.7.8
Every automated email the plugin sends is now editable. The onboarding pipeline was sending three emails with the text hard-coded in PHP, so they appeared nowhere in Settings → Email Templates. They now have proper templates — Onboarding: Form Invitation, Onboarding: Portal Activation / Login Link, and Onboarding: Access Details & Welcome (the "welcome aboard" message) — with new {onboarding_form_url}, {activation_link} and {keybox_code} variables. Templates added by an update now appear and send correctly on existing sites too, instead of being silently skipped.
Managers can no longer reach wp-admin. They were explicitly allowed to stay, so they could open the WordPress dashboard and the rest of the backend; they're now sent to the front-end manager dashboard. Administrators are unaffected, and everyone keeps access to their own profile page.
Viewings can be added by hand. A new + Add Viewing button records enquiries that arrive by phone, email or another listing site. Tick "Skip the viewing — send the onboarding form now" to create the tenant and email the onboarding form immediately, so the pipeline can start without a viewing.
1.7.7
The Feature Toggles now actually do something. They were saved but never read, so switching a module off changed nothing (only Show Deposit on Listings worked). Turning off Online Applications, Viewing Requests or Maintenance Reporting now hides that screen from the plugin's menu and stops the matching form submissions being processed; Tenant Portal, Digital Signatures and Schema.org Markup are honoured too. Anything never explicitly saved stays on, so existing sites are unaffected.
Added a Viewing Requests toggle, which was missing from the list.
Added the Onboarding Pipeline to the wp-admin dashboard, with the same cards and controls as the manager's frontend board — advance a stage or resend the onboarding form directly from there and you come straight back to the dashboard. Managers only see tenants in their own properties.
1.7.6
The deposit Protection Scheme field is now always a dropdown. The UK's approved schemes (DPS, mydeposits, TDS, plus the Scottish and Northern Irish schemes) ship with the plugin, so the dropdown works immediately without configuring anything first; Settings → Integrations now arrives pre-filled with them for editing rather than blank.
Fixed the schemes being wiped by saving the Integrations tab for an unrelated reason (e.g. setting the e-signature provider), which left the tenant editor showing a plain text box.
1.7.5
Deposit protection schemes are now set up once and chosen from a dropdown. Configure your schemes (name + link) under Settings → Integrations → Deposit Protection Schemes and optionally flag a default; the tenant editor then offers them as a dropdown instead of retyping the name and website for every tenant. A single configured scheme becomes the default automatically, and the link still shows on the tenants list exactly as before.
Fixed the tenant editor's content being narrower than its header (it was capped at 900px under a full-width header), and stopped wide tables stretching a panel past the header above it.
Header buttons are readable again — "Send Email" and "Applications" were dark-on-dark against the navy header.
1.7.4
Fixed the Room ID being lost between the onboarding form and the application. The invitation email links with ?room-id=… but the script only ever read ?room_id=…, so the hidden field was never filled and applications saved with no room or property. The script now accepts either spelling, and adds the hidden field itself if the form doesn't have one.
Added a server-side safety net: if an onboarding application still arrives without a room, the room is recovered from the tenant record created when the viewing moved to On-Boarding, or failing that from the applicant's most recent viewing request. The pipeline now keeps the room from viewing → onboarding → application without any per-tenant setup.
1.7.3
Check-in form document. Upload a tenant's completed check-in / inventory form in the tenant editor; the tenant can download it from their portal, and staff can open it from Actions → View Check-in Form.
Contract and check-in form added to the Actions menus (admin and manager), greyed out when nothing is uploaded — matching the RTR document.
All tenant paperwork is now stored privately. Contracts, check-in forms and RTR evidence go to the protected uploads/hmo-private folder and are served through the capability-checked endpoint: tenants can open their own contract and check-in form, staff can open everything, and RTR evidence stays staff-only.
Menu order: Managers now sits directly after Dashboard, and Settings is always forced to the bottom — including for any future menu items.
Room ID everywhere in staff views. The tenant editor's room dropdown, the manager's assign-room dropdown, the user profile and users list, the property editor's room list, and the applications screens now all show the Room ID instead of the room title. Tenant-facing views (the portal and email variables) still show the room name, which is what tenants recognise.
1.7.2
Right to Rent check document. Upload a tenant's RTR evidence (PDF, JPG or PNG) in the tenant editor, next to the tenancy contract. It is never shown in the tenant's portal — only administrators and the tenant's own property manager can open it, via Actions → View RTR Document in both the admin and manager tenant lists.
Restricted documents are stored in a protected uploads/hmo-private folder and served through a capability-checked endpoint rather than a public media URL.
"View Portal" now works. It previously opened the portal as you, which showed nothing useful. It now opens a read-only staff preview of that tenant's portal exactly as the tenant sees it, with a banner and all controls disabled. Available from both the admin and manager Actions menus; managers can only preview tenants in their own properties.
1.7.1
New "Property Managers" admin screen (HMO Manager → Managers) to assign every property to a manager in one place, plus a prompt that appears when more than one manager exists and some properties are still unassigned.
Minor wording tidy-up in the UK compliance notice.
1.7.0
Assign properties to managers (admin only). Each property now has a Managed by dropdown that picks a manager user; their contact details are pulled from the user profile instead of being retyped. With a single manager every property is theirs automatically; once there is more than one, a manager must be chosen, and each manager only sees the properties — and the rooms and tenants inside them — assigned to them. Administrators continue to see everything.
UK compliance notice after install. A one-time, dismissible admin notice summarises the key UK obligations: ICO data-protection registration (the annual data-protection fee under the Data Protection Act 2018 / UK GDPR), HMO licensing across England, Wales, Scotland and Northern Ireland (mandatory / additional / selective, with council-by-council variation), penalties, and links to gov.uk and the ICO. General information, not legal advice.
1.6.15
Full Actions menu on the manager (front-end) tenant list, matching the admin: Change Room, Release Room, Edit Tenant, Send Email, View Portal, Send Login Link — and Delete Tenant for administrators only.
Added front-end handlers for Release Room and Send Login Link (the latter reuses the tenant activation email), both restricted to users who can manage tenants.
1.6.14
Manager view reaches parity with the admin tenants list. On the front-end manager dashboard, each tenant card now shows a click-to-call phone button beside the name and email, the deposit next to the rent, and a single Actions dropdown in place of the separate Edit/Delete buttons.
Delete is capability-aware: administrators see Delete inside the Actions menu; managers (who can't delete tenants, rooms or properties) do not.
1.6.13
Front-end manager tenants list now uses the same boxed card layout as the admin on mobile, instead of a cramped horizontal-scrolling table.
Two-column compact cards: short fields sit side by side — Room | Move-in and Rent | Deposit — roughly halving each card's height.
Fixed the admin tenants search, which never actually filtered (the search term was never read from the request).
Live, as-you-type filtering added to both the admin and manager tenant lists — the list narrows by name/email instantly with no page reload.
1.6.12
Tenants admin page redesigned for mobile as a scrollable stack of full-width cards carrying all the desktop information and controls.
Click-to-call phone shown for each tenant.
Room ID now appears in the Assign Room dropdown (previously it showed the room title even when a Room ID was set).
Move-in and Right-to-Rent dates are shown as plain text with small edit and clear buttons, instead of always-open date inputs.
1.6.11
Fixed HMO licences always displaying "Expired." UK DD/MM/YYYY dates were being parsed as US MM/DD/YYYY, so valid future dates failed to parse.
Added a robust date parser now used by the All Properties list column and the dashboard licence-expiry alerts.
1.6.10
Manager notification emails now respect the configured Company Email. New-application and maintenance-issue notifications previously went to the WordPress admin email.
The outgoing From address also uses the Company Email. All routed through a single source of truth so it can't drift again.
1.6.9
Public Rooms page pagination fixed — page numbers now actually move between pages (rebuilt as AJAX, consistent with the filters and sort).
Status filter defaults to "All Statuses", with the full set of statuses selectable; all / any / blank all mean "show everything."
New "Available First" sort, applied at query level so it holds across pages.
1.6.8
Import reliability overhaul. Fixed a critical error / "nothing imported" caused by the property publish-gate reverting imported properties to draft, and by memory exhaustion on image-heavy exports.
Raised memory limits before parsing, freed memory progressively, and hardened thumbnail generation so one bad image can't abort the whole import.
1.6.7
Room ID shown consistently across admin views (viewing requests, maintenance, applications, tenants) via a shared helper, instead of the room title.
Rooms shortcode gained the full set of status filter options; the tenants table was widened for breathing room.
1.6.6
Export/import fixes: resolved ERR_INVALID_RESPONSE on export (a gzip / Content-Length mismatch) and 504 gateway timeouts when importing embedded images.
1.6.5
Integrations settings rebuilt as a folded accordion with per-provider e-signature panels: Signable, SignWell, Dropbox Sign, DocuSign and PandaDoc.
1.6.4
Provider-agnostic manual e-signature mode for the onboarding contract step — mark a contract signed without requiring a paid API.
1.6.3
Fixed a fatal crash introduced by a stray duplicate PHP tag.
Stabilised the AJAX certificate-confirmation and room-rating flows.
1.6.2
Converted certificate confirmation and room ratings to in-place AJAX (no more silent failures under page caching).
Added the Integrations settings tab and an On-Boarding status to viewing requests. (Superseded quickly by 1.6.3.)
1.6.1
Onboarding pipeline rebuilt around the viewing-request trigger. Moving a viewing to On-Boarding creates the tenant and starts a staged, manually-gated flow: invited → applied → approved → contract → deposit → rent → active.
Earlier milestones (pre-1.6)
These summarise the major capabilities built before the 1.6 series.
Core HMO management — custom property, room and tenant records with HMO licence tracking, room statuses, rent/deposit figures and certificate management.
Public-facing Rooms — room listings and single-room pages with search and filtering, plus viewing-request forms.
Applications workflow — capture, review, approve/reject and convert applicants into tenant accounts.
Tenant Portal — a self-service area with a tenancy checklist, certificate confirmation and room ratings.
Maintenance — issue reporting and tracking with priorities and statuses.
Email system — branded templates with per-tenant variables and a composer for ad-hoc messages.
Import / Export — full data migration between sites.
Right to Rent — status tracking with expiry reminders.
Editions — Free/Basic (for evaluation) alongside the full Pro edition.