Skip to content
← Back to release notes
v0.87.0 stable major release

Release v0.87.0

Jun 29, 2026

A UniFi network integration, downloadable client-facing reports with a branded Security & Compliance Posture deliverable, Microsoft 365 shared-mailbox email-to-ticket, distributor and QuickBooks imports with cost-and-margin tracking, and a daily vulnerability correlation job — plus a round of billing polish and reliability fixes.

Network & Visibility

  • UniFi network integration. Connect a partner's UniFi (Ubiquiti) Site Manager cloud account with an encrypted API key to map UniFi sites to Breeze sites and pull UniFi devices into Network Discovery on an automatic schedule. Where the Breeze agent is installed, it can also poll the local UniFi Network controller read-only for deeper, richer device telemetry. Everything is multi-tenant isolated, with connect, sync, mapping, and sync-history views in the integration panel.

Reporting & Compliance

  • Downloadable, persisted report runs. Reports you generate are now saved and can be downloaded after the fact, so you can re-share a deliverable without regenerating it.
  • Client-facing Security & Compliance Posture report. A new report built for insurance reviews and client vetting scores a customer's posture (STRONG / GOOD / FAIR / AT RISK) on a 0–100 scale, explains in plain language what drives the number, and breaks it down per control and per device.
  • Genuinely branded PDF exports. Exported reports are redesigned to read as a real, client-facing MSP deliverable rather than a raw table dump — your partner logo on every page, a posture scorecard, a self-explaining control grid with target hints, and a humanized per-device table with a fleet totals row.
  • Vulnerability scanning, now actually running. The vulnerability correlation that turns the CVE catalog into per-device findings now runs as a daily job, so the Vulnerabilities dashboard populates instead of staying empty. It's gated behind a new Vulnerability Scanning toggle in configuration policy and ships off by default, so you can roll it out organization by organization as a managed offering.

Ticketing & Email

  • Microsoft 365 shared-mailbox email-to-ticket. Connect a Microsoft 365 shared mailbox so customer email becomes tickets and ticket replies are sent back from that mailbox — no MX records or mail forwarding to change. Inbound mail is ingested continuously, and customer-facing replies thread correctly from the connected address.
  • Editable inbound email address. The customer-facing ticket address (tickets@…) is no longer locked to your auto-generated partner slug — partner admins can set a custom local-part themselves from settings, with a live preview and a built-in uniqueness check. The old address keeps working forever, so nothing in flight breaks.
  • Inbound email and Stripe webhooks reach their handlers again. A routing issue could cause inbound email-to-ticket and Stripe webhooks to be rejected with an authorization error before their own signature checks ran — most visibly breaking inbound email-to-ticket on self-hosted installs. Each webhook path is now authorized correctly, so signed public webhooks get through.

Billing, Quoting & Catalog

  • Distributor catalog import with cost and margin. Import hardware and subscriptions from TD SYNNEX and Pax8 directly into your catalog — with optional AI clean-up of raw distributor product titles — then quote them with internal cost, markup, and margin tracked per line. Cost and SKU are snapshotted onto the quote but kept off the customer-facing document.
  • Import QuickBooks customers as organizations. Browse your QuickBooks customer list and import selected customers into Breeze as organizations, each with a default site carrying their contact and address details. Re-imports are safe — already-imported customers are skipped.
  • Internal margin panel on invoices. Invoices now show an at-a-glance internal profit summary in the editor and detail views, computed from the same shared math as quotes so an invoice's margin can never diverge from the quote it came from. It's gated on invoice-read permission and never appears on the customer's copy.
  • Invoice polish. Payments are hidden on a draft (with a hint to issue it first), redundant document headers are cleaned up on unnumbered drafts, and operator hints call out missing tax rates or billing contacts with links to fix them.
  • Safer contract cancellation and a contracts-UX pass. Cancelling a contract — a terminal action that stops all future invoicing — now requires a confirmation, matching the bulk action and closing a one-misclick gap that could silently end a customer's recurring revenue. The contracts list and detail views also get a hierarchy and clarity cleanup, with the bulk bar no longer covering selected rows and clearer first-run versus filtered-empty states.

Console & Usability

  • Editable organization type. Whether an organization is a Customer or Internal can now be changed from Settings → Organization → General after creation, instead of being locked in at creation time — handy for fixing a misclassified bootstrap organization.
  • Reset device-list columns. A 'Reset to defaults' button in the device list's Columns dropdown restores both column visibility and order in one click.
  • Collapse-all in the sidebar. A new button collapses every navigation section except the one you're currently in, so you can tidy the sidebar without losing your place.
  • One-click alert suppression now works. Muting a single alert previously failed with 'Failed to suppress alert' because there was no way to set a duration. A duration picker (1h / 8h / 24h / 7d / custom) now lets you suppress an alert and surfaces the specific reason if it can't be done.

Platform & Fixes

  • MSI bootstrap enrollment fixed. The Windows MSI installer could report success while the agent never enrolled, logging 'no bootstrap token present' and sitting idle — affecting every filename-based bootstrap install, including managed deploys through tools like NinjaRMM. The enrollment token is now delivered correctly. (Takes effect in the next signed installer build.)
  • MCP for org-scoped API keys. AI tool calls over the MCP endpoint using an organization-scoped API key could fail with 'no role assigned'; the owning partner's role is now resolved correctly. The MCP connection endpoint also advertises the correct public HTTPS address when running behind a reverse proxy.

Version 0.87.0 is a broad feature release that pushes on networks, reporting, ticketing, and billing all at once.

On the network side, Breeze gains a UniFi integration: connect a partner’s UniFi Site Manager cloud account to map sites and pull devices into Network Discovery, with the agent able to poll the local UniFi controller for deeper telemetry where it’s installed. Reporting grows up too — report runs are now saved and downloadable, there’s a new client-facing Security & Compliance Posture report for insurance and vetting reviews, and exported PDFs are redesigned to look like a genuine, partner-branded MSP deliverable rather than a table dump. And vulnerability scanning finally runs end to end: a new daily correlation job populates the Vulnerabilities dashboard, gated behind a configuration-policy toggle that’s off by default so you can roll it out as a managed offering.

Ticketing gets two long-requested pieces: Microsoft 365 shared-mailbox email-to-ticket (no MX or forwarding changes needed) and an editable inbound email address so you’re no longer stuck with an awkward auto-generated one. On the billing front, you can now import distributor catalogs from TD SYNNEX and Pax8 and quote them with per-line cost and margin, import QuickBooks customers as organizations, and see an internal margin panel on invoices — alongside a safer contract-cancel confirmation and a polish pass across invoices and contracts.

Rounding it out are the quiet quality-of-life wins and fixes: editable organization type, a device-list column reset, a collapse-all sidebar button, and a working one-click alert-suppress duration picker — plus fixes that get inbound email and Stripe webhooks to their handlers, MSI bootstrap enrollment delivering its token, and MCP org-scoped API keys resolving the right role. It’s a recommended upgrade.