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

Release v0.112.0

Sep 11, 2026

The Windows agent installer works on Windows 10 and 11 again — fresh MSI installs had been refused since v0.110.0. Around that fix: a security wave that replaces implicit access with explicit permissions for PAM approvals, accounting, Workspace, and connected apps, pauses recurring scans and PAM auto-approve rules until someone with current authority re-approves them, and hardens remote desktop, sign-in, and the installer trust chain. Bare-metal recovery now restores the machine's system state, file backups keep symlinks and ownership, and Lenovo warranty lookup works for the first time.

Windows Installer

  • The Windows MSI installs on Windows 10, Windows 11, and Windows Server 2016 or later again. From v0.110.0 through v0.111.1 every fresh MSI install was refused with 'Breeze Agent requires Windows 10 or Windows Server 2016 or later' — Windows Installer reports an outdated version number to installers by design, and the check trusted it. The installer now reads the real Windows version. Devices that already had the agent were never affected; only new enrollments through the MSI were blocked.
  • Repair, upgrade, and uninstall can never be blocked by the version check, and genuinely unsupported versions of Windows still get the same clear message.

Security & Access — Action Required After Upgrade

  • PAM auto-approve rules are paused. Every rule that auto-approved elevation requests now waits for a human until an admin re-approves it from the PAM rules page (Re-approve action, MFA required). The rule keeps its original setting so re-approving is one click, not a rebuild.
  • Recurring sensitive-data scans and recurring network-baseline scans are paused. Scheduled scans used to keep running under the authority of whoever set them up, even after that person lost access. Each policy now needs to be re-approved by a user with current authority before it recurs again; the baseline page shows 'Recurring scan paused: re-approval required', and saving the schedule arms it. 'Scan Now' is unaffected. Newly auto-created baselines start with recurrence off.
  • New dedicated permissions replace access that used to come for free: PAM approve and PAM manage policy, Accounting read and manage (every QuickBooks screen), Workspace read/write/credentials/execute, and Connected apps read/manage. Partner Admin and the built-in Org Admin have them automatically. Every other built-in role and every custom role does not — grant the new keys in Settings → Roles or those technicians get a permission error where they used to get in.
  • Office add-in technician sign-ins are reset. Technicians using the Excel, Word, Outlook, or PowerPoint add-ins re-run the sign-in once, and the add-in now requires the technician to be on TOTP.
  • Installer links generated before the upgrade stop working. Regenerate any installer link or bootstrap token you handed out before upgrading.
  • Remote desktop needs an updated agent and sessions are capped at 12 hours. Agents update themselves within about a minute; until then a device shows 'Remote desktop needs an agent update on this device' rather than 'offline'. If you pin an agent version, desktop sessions are unavailable until you move the pin. A session limit of 0 no longer means unlimited. Terminal, Files, and VNC are unaffected.
  • Removing a technician's membership, changing their role, narrowing their site scope, or turning on forced MFA now ends any remote desktop session they have open within about 25 seconds, instead of letting it run until they disconnect.
  • Site-restricted technicians can no longer create or edit organization-wide settings — webhooks, notification channels, software and peripheral policies, configuration policies, PAM configuration, backup destinations and profiles, PSA and DNS-security connections — from the web app or through the AI assistant. They can still assign an existing policy to their own site.

Security Hardening

  • The agent stages scripts and restore files in private, unpredictable locations on Windows, macOS, and Linux, closing a path where a less-privileged local user could trick the agent into writing files elsewhere on the machine. Promote the new agent to any host with untrusted local accounts.
  • Every sign-in path — password, single sign-on, Cloudflare Access, MFA, passkeys, recovery codes, invitations, and refresh — goes through the same guarded session issuer, with no configuration switch to bypass it. Mobile app sign-ins are tied to the device that started them, and MFA changes are applied all-or-nothing.
  • Remote access sessions are bound to the agent's live credentials and re-checked before any traffic is relayed; a denied session stays denied.
  • Software deployments pin the exact package and version approved for each dependency and refuse to install anything else.
  • Customer portal users provisioned through Microsoft Entra can no longer sign in with an old local password or be sent through the local password-reset flow.
  • An invitation that left out a site scope no longer quietly widens to the whole organization.
  • Installer downloads and enrollment refuse redirects to another host or from HTTPS to plain HTTP, and every installer verifies the release signature before running anything privileged. Self-hosted fresh installs now use signed, digest-pinned images.
  • Approving, denying, or revoking an elevation, deciding a quarantine, and revoking an elevation through the AI assistant all require the right permission and MFA.
  • A queued webhook, software policy, or backup job checks that its configuration was not edited or disabled after it was queued before it runs.

Backup & Recovery

  • Bare-metal recovery on Linux now restores the machine's system state — installed packages, services, firewall rules, scheduled jobs, and system configuration — and verifies every artifact by checksum before applying it. Previously a recovery could report 'completed' having restored files but none of the system state.
  • Every whole-machine backup records the disk layout and a plain verdict on whether the machine can be rebuilt bare-metal, shown in the snapshot browser, with the reason named at backup time when it cannot (LVM, LUKS, RAID, BIOS/MBR, multi-disk, btrfs, ZFS). Two 'Whole machine' profile templates ship for Linux and Windows.
  • File backups now capture and restore symlinks, empty directories, file ownership, and special permission bits, so a restored tree behaves like the original.
  • Public recovery links rejected every valid token as 'Invalid recovery token' — fixed.
  • Two silent data-loss bugs closed: two files that differed only by a compression suffix collapsed into one stored object, and an incremental backup could reference another device's base snapshot.
  • Windows selective restore and browse work again: VSS-backed backups were being indexed under the shadow-copy path, so files landed in the wrong place on restore and the browser could not find them.
  • Retention cleanup no longer stops for the whole deployment on the first expired snapshot that had ever been restored, verified, or shared by link.
  • SQL Server and Hyper-V on-demand backups no longer fail on the queued acknowledgement; SQL Server 2022 and 2025 self-signed certificates are accepted; Express editions skip compression automatically; policy-managed devices no longer answer 'backup not configured'.
  • Running a file backup and a whole-machine backup on the same device at the same time no longer collides, the watchdog no longer restarts the agent mid-backup, restores match exact paths instead of any path that starts the same way, and Windows read-only files are restored.
  • The agent never deletes another snapshot's stored objects, and the server chooses the base for incremental backups. Bare-metal recovery media builds no longer run out of space on the container's temporary filesystem.
  • Backup exclude patterns beginning with '/' are now anchored to the selection root (the same way .gitignore works) instead of matching at any depth.

Warranty & Devices

  • Lenovo warranty lookup works for the first time. It had never returned a result — every Lenovo device showed Unknown. Two providers are available: the official Lenovo Warranty API with a key, or a credential-free lookup that self-hosters enable with one setting.
  • The devices list has a refresh button that reloads devices, assets, and filters in place, and switching organization context no longer reloads the whole page.
  • Webhook delivery is honest about permanent failures: a bad URL, a blocked destination, or an ordinary 4xx is dead-lettered immediately instead of retrying for the full budget, and retries are capped at two.

Mobile

  • Findings are on the Systems tab with a list and detail view; acknowledge, dismiss (with a required note), or reopen from the phone, gated exactly like the web app.
  • Stop on the timer bar opens the ticket with the note composer focused, so the time entry gets a description instead of landing as 'No description'.
  • Set a requester contact when creating a ticket from the phone, with a searchable contact picker; reply mail uses the contact's details.
  • The Home fleet strip counts open findings and uses the same colours as the rest of the app — it no longer says 'no issues' while Systems shows three.
  • One toast position for the whole app, anchored at the top, so notifications stop covering the composer, the Ask Breeze input, or the row they are about.

AI Assistant

  • Approval requests name the device by display name or hostname on every path — general chats, per-step approvals, and MCP — instead of showing a device ID.
  • The 'Show fleet status' shortcut no longer answers with invite counts; the underlying tool was renamed so the assistant reaches for the right data.

Self-hosting on Windows fleets? Take this release now. Every fresh Windows MSI install on Windows 10, Windows 11, and Windows Server 2016 or later has been refused since v0.110.0 with a message claiming the OS was too old. The cause was Windows Installer itself, which reports an outdated version number to installers by design, and our check trusted it. v0.112.0 reads the real version. Devices that already had the agent kept working the whole time — self-update never goes through the MSI — so this only blocked new enrollments. Repair, upgrade, and uninstall can never be caught by the check again.

The rest of the release is a security wave, and it changes who can do what, so read the “Action Required” section above before you upgrade. The short version: a handful of things that used to be implied by broad permissions now have their own — approving PAM elevations, managing PAM policy, working with QuickBooks, Workspace, and connected apps. Partner Admins and the built-in Org Admin get them automatically; every other role, including your custom ones, needs them granted in Settings → Roles. Three kinds of standing authority are paused until a human with current access re-approves them: PAM auto-approve rules, recurring sensitive-data scans, and recurring network-baseline scans. Each is one click to re-arm, and none of them lose their configuration. Office add-in users sign in again, installer links from before the upgrade need regenerating, and remote desktop now needs the updated agent (which arrives on its own within about a minute) and caps sessions at 12 hours. Underneath, sign-in, remote access, the installer trust chain, software deployment, the customer portal, and invitations all got tighter.

Backup and recovery went through two campaigns against real Windows, Linux, and macOS hosts, and 26 defects came out of it — including two that could lose data silently, a Windows selective restore that put files in the wrong place, and a recovery link flow that rejected every valid token. Bare-metal recovery on Linux now actually restores the machine’s system state rather than just its files, every whole-machine backup tells you up front whether the machine can be rebuilt from it, and file backups keep symlinks and ownership. Lenovo warranty lookup works for the first time, the mobile app picks up findings and a requester picker, and self-hosters get 20 automatic migrations with no new required settings — full operator detail, including the migrations one at a time, is in the GitHub Release notes.