Normale weergave

v0.8.2

30 Augustus 2026 om 14:26

What's Changed

  • fix(camera): read WhiteBalance, not ColorEnable, on Windows by @yuzi-co in #662
  • refactor(hid): name the divert intents instead of passing flag bools by @AprilNEA in #1071
  • refactor(linux): make the hidraw probe outcome an explicit enum by @AprilNEA in #1073
  • feat(macos): let launchd own the agent lifecycle via SMAppService by @AprilNEA in #1031
  • docs: character stand-in icon rule + crate-homed agent guides by @AprilNEA in #1026
  • Map SLOT_NAME_DPI_BUTTON to DpiToggle and add verification tests by @ediaz2 in #703
  • fix(agent): harden capture sessions, arming, and observe staleness by @AprilNEA in #1077
  • refactor(hid): fold the one-shot retry state into a OneShotScan type by @AprilNEA in #1070
  • refactor(gui): name the scrolling card's facts instead of a five-tuple by @AprilNEA in #1072
  • feat(agent): localize the menu-bar tray by @AprilNEA in #1038
  • refactor: make the audited implicit state machines typed by @AprilNEA in #1080
  • fix: resolve remaining state-machine audit findings by @AprilNEA in #1083
  • feat(gui): add per-app Actions Ring editor by @AprilNEA in #1085
  • feat(i18n): add Belarusian (be) locale by @aliaksandr-trush in #912
  • fix(macos): capture side-button gestures over HID++ by @juan-apa in #722
  • perf(agent): replace capture polling with events by @AprilNEA in #1136
  • perf(agent): replace lifecycle polling with native events by @AprilNEA in #1137
  • fix(macos): prevent HID activity from promoting DarkWake by @AprilNEA in #1142
  • fix(hid): normalize thumbwheel direction per device by @AprilNEA in #1158
  • chore: release v0.8.2 by @AprilNEA[bot] in #1056

New Contributors

Full Changelog: v0.8.1...v0.8.2

  •  

v0.8.1

26 Augustus 2026 om 15:36

What's Changed

Full Changelog: v0.8.0...v0.8.1

  •  

v0.8.0

26 Augustus 2026 om 04:27

Highlights

  • One device, however you connect it. The same mouse now keeps one device card and one set of settings across receiver and USB connections. Existing configurations migrate automatically and are backed up before the first save. (#876)
  • A redesigned device workspace makes larger setups easier to manage. A responsive grid, compact cards, clearer battery status, custom device names, scalable interface presets, and a dedicated action menu make devices faster to scan and configure.
  • Per-app profiles are now editable in the GUI. Pick an installed application from the new catalog, see which profile is active, and customize its button bindings without editing TOML. (#976)
  • Scrolling is smoother and more configurable. Built-in smooth scrolling, vertical sensitivity controls, preserved fractional motion, rebindable wheel tilt, and fixes for diverted high-resolution wheels deliver more consistent scrolling across main and thumb wheels. (#902, #925, #992)
  • Buttons can now distinguish a tap from a hold. TOML bindings can assign independent short- and long-press actions with a 500 ms threshold, while held shortcuts remain active until the button is released. (#961)

What's Changed

  • chore(gui): bump gpui-component to da4f9369 by @AprilNEA in #655
  • refactor(hid): centralize device identities by @AprilNEA in #831
  • docs(agents): scale local gate to affected packages by @AprilNEA in #696
  • feat(core,gui): make the main wheel's tilt rebindable (MX anywhere 2s,...) by @6lv1-blr in #902
  • fix(linux): install the app icon at every indexed hicolor size by @4ni1ak in #837
  • fix(gui): recognize mx ergo wheel tilt metadata by @AprilNEA in #905
  • ci: automate typo checks and consolidate configs by @AprilNEA in #906
  • refactor(gui): convert app state to entity events by @AprilNEA in #904
  • fix(mouse): compose thumb-wheel preset labels from translated action names by @NatsUIJM in #910
  • fix(linux): restore glibc 2.35 package baseline by @AprilNEA in #911
  • fix(gui): restore full-phrase thumb-wheel preset labels by @AprilNEA in #913
  • refactor(gui): componentize free-function builders by @AprilNEA in #914
  • fix(macos): honor XDG state dir in permission diagnostics by @AprilNEA in #915
  • fix(hid): improve Unifying receiver discovery reliability by @v14 in #853
  • feat(gui): add per-app profiles and redesign device workspace by @AprilNEA in #907
  • fix(macos): use reliable async-hid report writes by @sh3ll3x3c in #889
  • fix(hid): preserve usage pairs in native handle cache by @sh3ll3x3c in #882
  • fix: show Windows MSI completion and failure state by @mvanhorn in #819
  • feat(gui): make custom controls keyboard-operable by @AprilNEA in #916
  • style(gui): refine profile toolbar layout by @AprilNEA in #921
  • refactor(gui): clean up render paths and element ids by @AprilNEA in #926
  • fix(hidpp): read Unifying link encryption from bit 5, not the software-present bit by @AprilNEA in #924
  • refactor(gui): tighten typed rendering and async ownership by @AprilNEA in #931
  • refactor(gui): move device reads onto swr by @AprilNEA in #929
  • feat(gui): add scalable interface presets by @AprilNEA in #934
  • feat(agent): unify button Down/Up/Cancel lifecycle by @AprilNEA in #933
  • feat(i18n): add Turkish (tr) interface locale by @4ni1ak in #835
  • feat(gui): add switchable device gallery views by @AprilNEA in #927
  • refactor(gui): improve shared component quality by @AprilNEA in #966
  • feat(agent): hold shortcut output until button release by @AprilNEA in #960
  • fix(thumbwheel): scale remapped vertical scrolling by @hsearcy in #925
  • refactor(gui): structure app state by domain by @AprilNEA in #974
  • feat(gui): add installed application catalog picker by @AprilNEA in #976
  • feat(gui): add polished battery indicator by @AprilNEA in #983
  • feat(scroll): preserve precise scroll distances by @AprilNEA in #973
  • ci: replace target caches with sccache by @AprilNEA in #984
  • feat(scroll): add finite smooth scroll runtime by @AprilNEA in #975
  • feat(scroll): smooth diverted thumbwheel input by @AprilNEA in #977
  • feat(gui): polish the app catalog picker and device cards by @AprilNEA in #986
  • feat(scroll): add vertical scroll sensitivity by @AprilNEA in #978
  • feat(scroll): expose smooth scrolling setting by @AprilNEA in #979
  • refactor(gui): strengthen typed render boundaries by @AprilNEA in #981
  • fix(core,gui,agent): key device settings by identity, not by transport by @yuzi-co in #876
  • feat(agent): dispatch independent long-press actions by @AprilNEA in #961
  • refactor(agent): complete thumbwheel state machine by @AprilNEA in #968
  • fix(hid): preserve diverted wheel reporting by @AprilNEA in #992
  • chore: release v0.8.0 by @AprilNEA[bot] in #991

New Contributors

Full Changelog: v0.7.10...v0.8.0

  •  

v0.7.10

23 Augustus 2026 om 17:48

What's Changed

  • fix(gui): check the open helper's exit status when launching the agent by @AprilNEA in #820
  • fix(nix): provide git to the sandboxed test phase by @AprilNEA in #833
  • feat(ipc): surface HID open failures in agent status by @AprilNEA in #822
  • fix(agent): follow the picked app icon in the menu bar by @AprilNEA in #846
  • feat(cli): read the running agent's inventory in openlogi list by @AprilNEA in #823
  • fix(thumbwheel): stop the tap firing App Exposé, and scroll by the wheel's native amount by @AprilNEA in #857
  • chore: release v0.7.8 by @AprilNEA[bot] in #834
  • fix(gui): stop discarding correctly rebuilt device records by @AprilNEA in #868
  • fix(overlay,agent): stop the anonymous overlay tenant from wedging the Actions Ring by @AprilNEA in #848
  • refactor(gui): put the asset tier on an swr cache by @AprilNEA in #869
  • chore: release v0.7.9 by @AprilNEA[bot] in #870
  • chore: release v0.7.10 by @AprilNEA in #874

Full Changelog: v0.7.7...v0.7.10

  •  

v0.7.7

23 Augustus 2026 om 09:41

v0.7.5 and v0.7.6 were tagged but never published — their macOS packaging failed before a single artifact was uploaded, so no release exists for either. Everything both of them contained ships here, and the changes below cover everything since v0.7.4.

What's Changed

  • docs(ci): map every CI job to a local command by @davidbudnick in #732
  • feat(i18n): add Ukrainian (uk) locale by @dima-karpenko in #715
  • ci(shell): gate every shell script with shellcheck and shfmt by @AprilNEA in #745
  • docs(core): correct the model_ids transport ordering, and fix the MX Keys mock by @yuzi-co in #668
  • refactor(xtask): move ci-local.sh and write-changelog.sh into xtask by @AprilNEA in #746
  • refactor(xtask): split bundle.rs along what it actually does by @AprilNEA in #753
  • feat(cli): report feature flags and firmware entities in diag features by @yuzi-co in #690
  • refactor(cli): render diagnostics with display adapters by @AprilNEA in #758
  • refactor: stream display-only formatting by @AprilNEA in #768
  • feat(camera): add anti-flicker and low-light controls by @awesamarth in #793
  • refactor(hid): split the HID++ device layer from the host backend by @AprilNEA in #772
  • chore: cut manifest comments that describe instead of constrain by @AprilNEA in #809
  • fix(hook): stop trusting AXIsProcessTrusted as a revocation signal by @AprilNEA in #801
  • fix(hook): keep macOS tap lifecycle instance-owned by @AprilNEA in #808
  • feat(gui): pick the app icon in Settings by @AprilNEA in #812
  • build(macos): name the helper bundles after their display names by @AprilNEA in #814
  • docs(agents): add a macOS permissions task skill by @AprilNEA in #813
  • fix(agent): shut down when the app is uninstalled by @AprilNEA in #810
  • fix(ipc,agent,desktop): surface Input Monitoring via agent status and fix registry bincode by @rekcilyssup in #760
  • fix(hid): take async-hid 0.5.3 so a denied HID open stops leaking by @AprilNEA in #804
  • fix(hid): park the Windows HID read on a permanently dead handle by @yuzi-co in #779
  • chore: release v0.7.5 by @AprilNEA[bot] in #750
  • fix(release): use changelog as release PR body by @AprilNEA in #821
  • refactor(agent): split the binary watcher from how it relaunches by @AprilNEA in #816
  • refactor(agent-core): give the polling watchers one loop by @AprilNEA in #818
  • feat(hid): recognise Lightspeed receiver 046d:c54d (PRO X SUPERLIGHT 2 DEX) by @v14 in #811
  • chore: release v0.7.6 by @AprilNEA[bot] in #824
  • fix(agent): make macOS permission failures diagnosable by @AprilNEA in #817
  • fix(ci): build both macOS legs with an Icon Composer-capable Xcode by @AprilNEA in #815
  • chore: release v0.7.7 by @AprilNEA[bot] in #830

New Contributors

Full Changelog: v0.7.4...v0.7.7

  •  

v0.7.2

20 Augustus 2026 om 18:26

What's Changed

  • fix(agent): reapply volatile settings after Windows resume by @davidbudnick in #639
  • build(nix): make Linux packaging first-class by @AprilNEA in #632
  • chore(infra): add CODEOWNERS by @AprilNEA in #646
  • fix: bind the Actions Ring overlay to one agent run by @AprilNEA in #645
  • chore: converge the repository top level by @AprilNEA in #647
  • refactor(gui): split the GPUI side into app, ui, and overlay crates by @AprilNEA in #672
  • refactor(ipc): replace the GUI's poll loop with a level-triggered state channel by @AprilNEA in #675
  • build(windows): ship the openlogi CLI in the zip and MSI by @yuzi-co in #659
  • build(infra): drop dependency debuginfo in dev builds by @AprilNEA in #695
  • refactor(core): extract openlogi-permissions and give shared constants one definition by @AprilNEA in #697
  • fix(gui): use the GPUI executor timer, not tokio::time::interval, for camera scans by @charliecai01 in #686
  • fix(overlay): prevent GPUI from exiting on window close by @clifinger in #700
  • fix(agent): relaunch after granting Input Monitoring by @AprilNEA in #713
  • chore: release v0.7.2 by @AprilNEA[bot] in #642

New Contributors

Full Changelog: v0.7.1...v0.7.2

  •  

NVIDIA Driver 616.56

26 Augustus 2026 om 00:00
Release Highlights:
Although GeForce Game Ready Drivers and NVIDIA Studio Drivers can be installed on supported notebook GPUs, the original equipment manufacturer (OEM) provides certified drivers for your specific notebook on their website. NVIDIA recommends that you check with your notebook OEM for recommended software updates for your notebook.

Game Ready for STAR WARS Zero Company™
This new Game Ready Driver provides the best gaming experience for the latest new games supporting DLSS and RTX technologies including STAR WARS Zero Company™, Resonance: A Plague Tale Legacy, and Hell Let Loose: Vietnam.

Fixed Gaming Bugs
  • DOOM: The Dark Ages & Indiana Jones and the Great Circle: Frame rate may exceed V-SYNC when DLSS Frame Generation 3x or higher is used [6061475]
  • Outer Worlds: Texture flicker may be observed while playing after updating to R595 and R610 drivers [6238668]

Fixed General Bugs
  • ASUS Armory Crate: GameVisual color profiles are not getting applied when using R590 drivers [5860581]
  • Chief Architect: 610.47 driver crash on Geforce RTX 4000 series cards [6226227]
  • Claude Desktop: Driver incorrectly detects application as a 3D app [6468260]
  • Resolves issue that some instances can cause a driver crash with 32-bit DirectX 12 apps [5725350]
  • Tycho Tracker: Unable to create individual OpenCL buffers greater than 2GB [6538978]

Learn more in our Game Ready Driver article here.

Game Ready Driver

  •  

Anonymous and open to all: The Home Assistant survey dataset

26 Augustus 2026 om 02:00

Our why as an organization is clear: to fight for privacy, choice, and sustainability for smart homes, and for every person who lives in one. But who does live in them?

In December 2024, we launched the first Home Assistant survey to find out. Our goal was simple: to make Home Assistant more inclusive and approachable by listening directly to the diverse community of people who use it.

In the spirit of building in the open, today we’re thrilled to announce the anonymized results of that survey are now freely available. In this post, we’ll run you through what the survey covered, why and how we’re publishing this data, what the data is not (read: identifiable), how we’re using this information to improve what we do, and opportunities for further understanding and research.

  •  

2026.8: Approachable by design

5 Augustus 2026 om 02:00

Tip

Don’t forget to join our release party live stream on YouTube on August 5, 2026, at 20:00 GMT / 12:00 PT / 21:00 CET!

Tip

ESPHome Starter Kit launch party livestream on August 12 There’s more to look forward to next week: the ESPHome Starter Kit is launching, and you’re invited to the official launch party! 🚀 Join the ESPHome team and their partners at Apollo Automation on the ESPHome YouTube channel on August 12 at 21:00 CEST. Familiar faces are dropping by to celebrate lift-off, too: Reed from Smart Home Solver, Simon from Simon Says Home Assistant, and Gavin from HomeTech.fm.

Home Assistant 2026.8! 🎉

Hi, I’m Ashley, the Technical Program Manager at the Open Home Foundation. With Frenck taking a well-deserved break, Bram and I are teaming up to handle things this time around.

We have been working on a lot over the past few weeks, and I’m excited to share some of what we have done for this release!

If there’s one thread tying this release together, it’s a direction we care about: making Home Assistant something you don’t need to be technical to use. This release is another step along that path.

Enjoy the release!

- Ashley

A huge thank you to all the contributors who made this release possible! And a special shout-out to @frenck and @bramkragten who helped write the release notes this release. Also, @piitaya, @RaHehl, and @farmio for putting effort into tweaking its contents. Thanks to them, these release notes are in great shape. ❤️

Making Home Assistant more approachable

One of the directions we care about most for Home Assistant is making it simpler to pick up and use, without compromising on capability. It’s something we have been working toward for a long time, and it runs through our roadmap and goals for this year. We cannot do it overnight though, so we keep listening to your feedback to make sure we are fixing the things that actually get in your way. If there is something you would like to see, we would love for you to weigh in. Every comment helps shape what comes next.

This release brings together some of that work. It may never be truly finished, and that is fine, but it is something we hold close: the more people who can use Home Assistant, whatever their technical ability, the better.

The same Home Assistant, minus the magic number

Ever wondered why the address for your own home has a random number stuck on the end? So did we. For years, reaching Home Assistant meant remembering to add :8123 to the address, a little piece of technical trivia that everyone simply had to learn. This release starts to put that right.

New installations of “Home Assistant OS”Home Assistant OS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Home Assistant ecosystem on single board computers (like the Raspberry Pi) or Virtual Machines. It includes Home Assistant Core, the Home Assistant Supervisor, and supports apps. Home Assistant Supervisor keeps it up to date, removing the need for you to manage an operating system. Home Assistant Operating System is the recommended installation type for most users. now use a normal web address by default, with no number to add on the end. You reach your home the same way you reach any website. Nothing extra to remember, nothing extra to type.

Your current setup keeps working

If you are already running Home Assistant, nothing changes and there is nothing you need to do. This only affects new installations of Home Assistant OS. Your existing installation is completely unchanged, keeps the exact port it has always used, and keeps working just as before. If everything works today, the simplest thing is to leave it exactly as it is.

Want to change the port? We’ve got you covered

You do not have to change anything, but if you would like the cleaner address, or need to change the port for another reason, you can now do it yourself from the interface. The same screen also holds a few more options, like choosing which network connection Home Assistant listens on and setting trusted proxies, for the setups that need them.

Screenshot of the web server settings in the Home Assistant interface, showing options for the port, the network connection to listen on, and trusted proxies.

Changing something as fundamental as the port your home lives on can feel nerve-wracking, so we made it hard to get stuck. When you change the web server settings, Home Assistant applies the new configuration and then waits for you to confirm everything still works. If you do not confirm within five minutes, it assumes something went wrong, puts your previous settings back, and restarts. And if the new settings cannot be applied at all, it falls back right away. So if you ever lock yourself out with the wrong setting, you do not have to do anything: wait a few minutes, and Home Assistant returns you to where you were.

Note

One thing to keep in mind: anything that reaches Home Assistant using the old address may need updating to match the new port, such as your bookmarks or other services and tools you have connected, including the mobile app. If your setup works today, that is a good reason to leave it as it is.

Screenshot of the confirmation prompt shown after changing the web server settings, asking you to confirm everything still works before the new settings are kept.

What this means for YAML

If you currently set up the web server in YAMLYAML is a human-readable data serialization language. It is used to store and transmit data in a structured format. In Home Assistant, YAML is used for configuration, for example in the configuration.yaml or automations.yaml files. [Learn more], you do not need to change anything. The first time you start Home Assistant after updating, your settings move into the interface for you, and you manage them there from then on. You might also see a repair appear, just to let you know your settings were imported; it can point you to tidying up the old YAML if you like, but nothing breaks either way.

Less “advanced”, more approachable

A word comes up around Home Assistant a lot: advanced. But what does it actually mean, and who gets to decide what counts as advanced and what does not? Too often it is a label that quietly tells people a feature is not for them. We want Home Assistant to be approachable for everyone, so this release removes some of that language.

Describing the feature, not the user

The clearest place to start is the words themselves. Labels like advanced and expert were dotted around Home Assistant. Words like these can be discouraging: they suggest a feature is not for you and steer you away from trying it, even when it is perfectly approachable. This release removes that wording in around 43 places, across the app, its documentation, and the companion apps. None of these features changed. Instead of rating your skill, the wording now simply describes what each one does.

A big thank you to everyone who helped comb through and clean this up! 👏

Just Tools, no developer required

In the same spirit, Developer Tools is now simply Tools. It has always been a useful spot for everyone, whether you are checking the stateThe state holds the information of interest of an entity, for example, if a light is on or off. Each entity has exactly one state and the state only holds one value at a time. However, entities can store attributes related to that state such as brightness, color, or a unit of measurement. [Learn more] of your “devices”A device is a model representing a physical or logical unit that contains entities., testing a templateA template is an automation definition that can include variables for the action or data from the trigger values. This allows automations to generate dynamic actions. [Learn more], or reloading part of your setup, and you never needed to be a developer to use it. The shorter name matches how people actually use it, and feels a little friendlier to open.

Home Assistant Cloud, now easier to explore

Home Assistant Cloud by Nabu Casa is how many people add remote access, fast and private voice, encrypted backupsHome Assistant has built-in functionality to create files containing a copy of your configuration. This can be used to restore your Home Assistant as well as migrate to a new system. The backup feature is available for all installation types. [Learn more], and more to their home, all while supporting the project at the same time. Until now, everything it offers lived on a single long page of switches and settings. This release gives that page a proper redesign.

The main page is now a clean overview. Each feature (remote access, backups, voice assistants, the companion app, and more) has its own space, so you can see what you have turned on at a glance. The settings for each one move onto their own page, which keeps the overview tidy and makes every feature easier to understand on its own.

The bigger change is for anyone just getting started. There is now a guided setup that walks you through Home Assistant Cloud step by step, instead of leaving you to find your way around a wall of options. If it is not a good moment, you can put it off and pick it up again later.

Screenshot of the top of the redesigned Home Assistant Cloud page, showing the overview with each cloud feature in its own space. Screenshot of the lower part of the redesigned Home Assistant Cloud page, showing more cloud features and their settings.

A big thank you to @klejejs for this redesign!

Your entity IDs, your choice

Behind every deviceA device is a model representing a physical or logical unit that contains entities. and sensorSensors return information about a thing, for instance the level of water in a tank. [Learn more] sits an entity ID, a short name such as light.kitchen_ceiling that your automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more], scriptsScripts are components that allow you to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more], and dashboards use to refer to it. Most of the time they look after themselves. But when you do want them neat and consistent, you should be the one deciding how they read.

Some earlier work looked at building entity IDs automatically from the areaAn area in Home Assistant is a logical grouping of devices and entities that represents a room or space in your home, such as the living room, kitchen, or garage. [Learn more] a device belongs to. Your feedback told us this suited some people but not everyone. So this release takes a more flexible route and puts you in charge: you can rename an entity ID yourself, and control how it is ordered, so your entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] follow whatever naming pattern makes sense to you.

Screen recording showing how to rename an entity ID and change how it is ordered in the Home Assistant interface.

Thanks to @arturpragacz and @piitaya for this work.

A cleaner way to handle your devices

Home Assistant is changing how it keeps track of your devices behind the scenes. Until now, if one physical deviceA device is a model representing a physical or logical unit that contains entities. was set up through two different integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more], Home Assistant merged them into a single device. Details that can only hold one value, such as the model or serial number, could then clash. From this release, each integration keeps its own device entry, so nothing gets collapsed together.

When you update, any devices that were merged this way are separated automatically, and their entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] move to the right device for you. Most people will not notice a thing. In the rarer cases where a device was set up through more than one integration, you might see it appear twice, once per integration, and Home Assistant may raise a repair to let you know.

There is nothing you need to do. Your automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] and scriptsScripts are components that allow you to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more] keep working, because Home Assistant still sends actions to the right devices after the split. The only things that might need a second look are automations that point to a device by its ID directly, or the occasional unusual setup. If a repair appears, just follow it.

This is groundwork for more flexible device handling we are building toward over the coming months, so think of it as a step along the way rather than the finished picture.

If you build a custom integrationA custom integration is an integration that has been created by someone from the Home Assistant community and has been published for others to use at their own risk. Custom integrations are not supported by the Home Assistant project. They are not reviewed or tested by the Home Assistant development team and thus may negatively impact the stability of your Home Assistant instance. An example of a custom integration is the Spook integration., most need no changes at all. If yours works with device details directly, the developer blog walks through what changed. There is no rush: the previous approach keeps working for now, so you have plenty of time.

Thanks to @emontnemery for this work.

We can’t stop adding triggers and conditions

Last release, purpose-specific triggers and conditions became the friendlier way to build automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]: you describe the moment you care about, like when the front door opens, instead of piecing it together from the technical parts underneath. This release adds two more of them.

Vibration now has conditions to match its triggers. On top of reacting the moment vibration starts or stops, you can check whether something is vibrating (or not) as part of a bigger automation, for example, only sending a “laundry is done” message once the washing machine has actually stopped shaking.

Moon gains a trigger and matching conditions. You can start an automation the moment the moon enters a new phase, or check the current phase as part of a bigger automation. Point it at the full moon, the new moon, or any change of phase, and let your home take it from there, whether that is mood lighting, a reminder, or just a bit of fun. 🌙

Thanks, @nielsrowinbik!

Integrations

Thanks to our community for keeping pace with the new integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] and improvements to existing ones! You’re all awesome 🥰

New integrations

We welcome the following new integrations in this release:

  • Dyson Infrared, added by @elax46
    Control your Dyson fans through any infrared transmitter you already have set up in Home Assistant. Because the connection only goes one way, Home Assistant shows the last command you sent rather than the fan’s live state.

  • Fuelprices.dk, added by @MTrab
    Track current fuel prices from Danish fuel companies in Home Assistant. The integration pulls prices from the Fuelprices.dk service and creates a sensor for each product you select at a station, so you can watch prices and build automations around them.

  • Gatus, added by @TN-1, launching at 🥈 silver quality
    Bring the health of your services into Home Assistant from your Gatus monitoring instance. Each monitored endpoint shows up as a binary sensorA binary sensor is an entity that reports one of two mutually exclusive states, on or off. The device class determines how those states are labeled in the UI. For example, open/closed for a door or detected/clear for motion. [Learn more], so you can put service status on a dashboard or trigger automations when something goes down or comes back up.

  • GeoSphere Austria Warnings, added by @tklecka
    Bring official weather warnings for Austria into Home Assistant from GeoSphere Austria (formerly ZAMG), the national weather service. Warnings are issued per municipality and cover events like storms, heavy rain, snow, black ice, thunderstorms, heat, and cold, so you can get notified or trigger automations when the warning level rises.

  • Google Health, added by @allenporter
    Bring your health and fitness data into Home Assistant from Google Health and the Fitbit Web API. After you connect your Google account, you get sensors such as steps, distance, weight, and resting heart rate, and it can run alongside the existing Fitbit integration.

  • Harbor Sleep, added by @Lash-L
    Keep an eye on your Harbor Sleep baby monitor from Home Assistant. The integration connects to the device on your local network and exposes sensors like temperature, Wi-Fi strength, and stream quality.

  • Harman Luxury Audio, added by @sbesh91
    Control network streamers built on the Harman Luxury Audio platform, such as the Arcam Radia ST5 and ST60, and equivalent JBL and Mark Levinson streamers. The integration talks to the device directly on your local network, so no cloud account is required.

  • Karakeep, added by @sli-cka
    Connect your self-hosted Karakeep bookmarking service to Home Assistant and keep track of your bookmark statistics. Karakeep helps you save, organize, and tag links, notes, and images, and this integration surfaces those numbers as sensors.

  • LED Infrared, added by @tr4nt0r
    Control LED lights through any infrared emitter you already have set up in Home Assistant. It supports many branded and unbranded bulbs and strip controllers that use generic infrared remotes. Communication is one-way, so the integration uses assumed states.

  • LiteLLM, added by @luismalves
    Use a LiteLLM proxy as a conversation agent in Home Assistant. LiteLLM puts a single OpenAI-compatible API in front of many model providers, so you can reach almost any model through one endpoint, hosted or self-hosted. Home Assistant creates a conversation agent for each model you configure.

  • llama.cpp, added by @allenporter
    Use a local llama.cpp server, or any OpenAI-compatible endpoint, as a conversation agent in Home Assistant. You can set up several agents, each with its own model and instructions, and keep everything running on your own hardware.

  • Lyngdorf, added by @fishloa, launching at 🥈 silver quality
    Control Lyngdorf audio processors and amplifiers from Home Assistant, including power, volume, source selection, and sound modes. The integration keeps in sync with the device over your local network.

  • Midea, added by @chemelli74
    Bring devices that use the Midea protocol, such as air conditioners and air purifiers, into Home Assistant. The integration provides information on the connected devices and lets you control their main features.

  • NeoPool, added by @svasek, launching at 🥈 silver quality
    Monitor and manage pool controllers built on the NeoPool system, originally from Sugar Valley and sold under many brands like Hidrolife, Aquarite, and Oxilife. It talks to your controller locally over Modbus TCP, exposing water chemistry, filtration, and hydrolysis data with no cloud needed.

  • ScorpionTrack, added by @Herbertmt978, launching at 🥈 silver quality
    Follow vehicles shared through a public ScorpionTrack location-share link on your Home Assistant map. The integration reads the shared vehicle feed and creates a device trackerDevice trackers are used to track the presence, or location, of a device. [Learn more] for each vehicle, without needing your private account credentials.

Noteworthy improvements to existing integrations

It is not just new integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that have been added; existing ones keep getting better too. Here are some of the noteworthy improvements this release:

  • Shelly now supports Enhanced Security, the HTTPS-only mode on firmware 2.0 for gen2 and newer devices, and added support for Shelly circuit breakers, with on/off control plus output-state and safety-switch sensors. Thanks, @bieniu and @thecode!
  • Reolink gained pre-siren entities and a motion device class on its AI-detection binary sensors. Thanks, @starkillerOG and @abmantis!
  • Overkiz added window and tilt binary sensors for contact sensors, boost and drying-duration numbers for the Atlantic electrical towel dryer, and support for the Somfy Thermostat PRO. Thanks, @iMicknl!
  • SwitchBot added support for the Candle Warmer Lamp and the RGBIC Neon Rope Light, plus fan and select controls for the Standing Fan. Thanks, @Onero-testdev!
  • Roborock got plenty of love for the Q10, with a do-not-disturb switch, switch entities, a map image, and a volume control. Thanks, @lboue and @tubededentifrice!
  • Whirlpool added an oven light, an oven cook-mode select, and an oven target-temperature number. Thanks, @matthewdias and @bdlcalvin!
  • MQTT gained an infrared platform, so you can send infrared commands over MQTT. Thanks, @jbouwh!
  • KNX got a whole set of improvements. Button and notify entities can now be configured from the interface, the KNX panel gained a Send telegram dialog (keyboard shortcut s), plus a datapoint type (DPT) reference and a device view for your project data. On top of that, all KNX entities now restore their state after a reload or restart. Thanks, @farmio!
  • Enphase Envoy added ACB battery sensors, along with sleep and wake controls. Thanks, @genestealer!
  • MELCloud gained on/off control, an operation-mode select, and a flow-temperature number for air-to-water heat pump zones. Thanks, @imilchev!
  • MELCloud Home added energy-consumption reporting and a number platform. Thanks, @erwindouna!
  • Portainer added an update platform and container health status. Thanks, @erwindouna!
  • Mikrotik gained sensor, button, and update platforms. Thanks, @chemelli74!
  • Imou added switch and sensor platforms. Thanks, @Imou-OpenPlatform!
  • Fronius added a binary sensor for backup mode. Thanks, @farmio!
  • OpenAI Conversation now supports GPT-5.6. Thanks, @Shulyaka!
  • WiiM added multi-room grouping and metadata synchronization. Thanks, @Linkplay2020!
  • SMLIGHT added Bluetooth proxy support and an infrared receiver for SMLIGHT Ultima devices. Thanks, @tl-sl!
  • Vizio added command aliases for its remote. Thanks, @raman325!
  • Tesla Wall Connector added an option to switch total power calculation between single-phase / split-phase and three-phase electrical service, along with vehicle current and Wi-Fi signal sensors. Thanks, @sarabveer!
  • Teslemetry added control for seat coolers. Thanks, @Bre77!
  • Tessie added a navigation-destination text entity. Thanks, @Mattheinrichs!
  • Gardena Bluetooth added tank pressure and water temperature sensors. Thanks, @icereed!
  • Duco added ventilation temperature sensors. Thanks, @ronaldvdmeer!
  • Victron BLE added support for Orion XS and inverter devices. Thanks, @rajlaud!
  • OMIE added an action to get prices for a specific date. Thanks, @abmantis!
  • Ecowitt added soil conductivity sensor support. Thanks, @GSzabados!
  • Steam added an image platform, plus new Last online, Level, and Now playing sensors. Thanks, @tr4nt0r!
  • LG Infrared added support for LG air conditioners. Thanks, @Dr-Blank!
  • UniFi Protect now supports the USL smart sensors (USL Entry, USL Environmental, and USL GlassBreak) on UniFi Protect 7.2 and newer, and cameras gained Motion detection, Smart detection, and Sound detection event entities that fire for any detection the camera reports, such as a person, a package, or barking, with the detected type as an attribute. Thanks, @RaHehl!

Integration quality scale achievements

One thing we are incredibly proud of in Home Assistant is our integration quality scale. This scale helps us and our contributors to ensure integrations are of high quality, maintainable, and provide the best possible user experience.

This release, we celebrate several integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that have improved their quality scale:

This is a huge achievement for these integrations and their maintainers. The effort and dedication required to reach these quality levels is significant, as it involves extensive testing, documentation, error handling, and often complete rewrites of parts of the integration.

A big thank you to all the contributors involved! 👏

Now available to set up from the UI

While most integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] can be set up directly from the Home Assistant user interface, some were only available using YAML configuration. We keep moving more integrations to the UI, making them more accessible for everyone to set up and use.

The following integrations are now available via the Home Assistant UI:

Farewell to the following

Time for a little cleaning, and no, we did not wait for spring! The following “integrations”Integrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] are no longer available as of this release:

  • Permobil has been removed. Permobil deprecated the API it relied on, so the integration could no longer retrieve any data, and there is no replacement available.
  • Volvo On Call has been removed. If you have a supported Volvo, set up the newer Volvo integration instead.

Other noteworthy changes

There are many more improvements in this release; here are some of the other noteworthy changes:

Tell us how setup went

If you have set up Home Assistant recently, you might notice a short, optional survey asking how your first experience went. It is entirely up to you, and every response helps us make getting started smoother for the next person. Thank you to everyone who shares their thoughts! 💛

A roomier template editor

The template tool in Tools is where you try out “templates”A template is an automation definition that can include variables for the action or data from the trigger values. This allows automations to generate dynamic actions. [Learn more] and watch the result update as you type. This release gives it a more comfortable layout: the editor and the result now sit in a split view you can drag to resize, and you can switch between side by side and stacked, whichever suits what you are working on. Your choice is remembered for next time.

Thanks, @maartenla!

Taps that land where you mean them

On the picture elements card, a tap could trigger the element next to the one you meant, or hit nothing at all, and some elements could not be tapped. Taps now go to the nearest icon or label, so every element can be reached, and tapping a label’s text always triggers that label. Thanks, @RaHehl!

A combined battery level you can trust

If you track more than one battery in the energy dashboard, you can now give each one a capacity. The combined state of charge is then weighted by size, so a small full battery and a large empty one no longer average out to a misleading number. Batteries without a capacity set keep using the plain average, so nothing changes unless you want it to. Thanks, @MindFreeze!

Search your media

Browsing for the right song, photo, or film used to mean clicking through folder after folder. Now, integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that provide media can offer search right in the media browser, so you type what you are looking for and jump straight to it.

What you can search depends on the media source. Immich, for example, gained a smart search that finds photos by what is actually in them rather than by their filename, and Overseerr lets you search for and request movies and shows without leaving Home Assistant.

Thanks, @zweckj, @mib1185, and @felixschndr!

Find your favorite cards faster

Your most-used cards are now easier to find. In the card picker’s “By Card” tab, you can now mark the cards you use most as favorites using the icon in the corner of each card. Favorited cards float to the top of the section, so if you reach for the same card again and again while building similar dashboards, it’s always right there waiting for you. Tap the icon again to remove a card from your favorites.

Screenshot of the card picker's By Card tab, with the Tile, Area, and Entities cards marked as favorites with a star icon.

Thanks, @piitaya, @laupalombi, and everyone who suggested this at a Release Party!

Z-Wave lock credentials, properly managed

Managing who can unlock your Z-Wave lock just got a lot more capable. Powered by Z-Wave JS’s new Access Control API, the Z-Wave JS app 1.6.0 brings a heavily revised interface: every supported lock now gets a dedicated Access Control tab. For now, this lives in Z-Wave JS UI rather than in the Z-Wave panel in Home Assistant.

The new Access Control tab in Z-Wave JS UI, showing users and their credentials Users, their credentials, and a full audit trail, all in one place.

Depending on what your lock supports, you can now give each user several credentials of more than one type, so the same person can have a PIN and a fingerprint, or multiple of both. New credentials can be learned on the lock itself: start the enrollment from the interface, then present the finger or type the PIN. There is also an audit log of every change, admin code management for locks that use one, and the ability to move credentials between users or delete them in bulk.

Update the Z-Wave JS app to 1.6.0 or later, then open Z-Wave JS UI to find the new tab. Thanks, @AlCalzone!

And a few more

There is even more packed into this release. Here are some of the other changes worth a mention:

  • Templates keep getting faster. Another round of “templates”A template is an automation definition that can include variables for the action or data from the trigger values. This allows automations to generate dynamic actions. [Learn more] performance work landed: templates with a numeric result are up to 40% faster, and templates used on dashboards can now be cached. Thanks, @frenck!
  • Template entities remember their state. Fan, coverCovers are devices such as blinds, garage doors, etc that can be opened and closed and optionally set to a specific position. [Learn more], and device trackerDevice trackers are used to track the presence, or location, of a device. [Learn more] template entities now restore their previous state after a restart, so they pick up right where they left off. Thanks, @Petro31!
  • Search finds more of what is connected. When you search or open a device or entity, Home Assistant now digs deeper into what is related, so scenes, scripts, groups, the people behind a person entity, and anything sharing a label or area all show up where you would expect them. It is a small change that makes it much easier to see how your setup fits together. Thanks, @frenck!
  • A reboot heads-up on Home Assistant OS. The system updateAn update entity is an entity that indicates if an update is available for a device or service. [Learn more] entity now lets you know when an update needs a reboot to finish. Thanks, @mdegat01!
  • A new radon device class. Sensors and numbers can now be classified as radon, so radon measurements get the right units and display. Thanks, @abmantis!
  • Filter entities by manufacturer and model. The entity filter can now narrow entities by manufacturer, model, and model ID. Thanks, @Skaronator!
  • Ask Assist from quick search. You can now start an Assist command straight from quick search. Thanks, @timmo001!
  • A date on the clock card. The clock card can now show the date alongside the time. Thanks, @timmo001!
  • More from the Activity panel. The Activity panel gained a CSV download and a clear-and-reset action. Thanks, @karwosts and @timmo001!

Patch releases

We will also release patch releases for Home Assistant 2026.8 in August. These patch releases only contain bug fixes. Our goal is to release a patch release once a week, aiming for Friday.

2026.8.1 - August 7

2026.8.2 - August 14

2026.8.3 - August 21

Need help? Join the community

Home Assistant has a great community of users who are all more than willing to help each other out. So, join us!

Our very active Discord chat server is an excellent place to be, and don’t forget to join our amazing forums.

Found a bug or issue? Please report it in our issue tracker to get it fixed! Or check our help page for guidance on more places you can go.

Are you more into email? Sign up for the Open Home Foundation Newsletter to get the latest news about features, things happening in our community, and other projects that support the Open Home straight into your inbox.

If you would like to wear your support: the Open Home Foundation store just added new T-shirts featuring ESPHome, Music Assistant, and a fresh Home Assistant design, all in classic black (or Dark Mode, if you prefer!). They are versatile, built to last, and best of all, every purchase helps fund the foundation’s work. Grab yours from the store.

Three black T-shirts from the Open Home Foundation store, featuring the ESPHome, Music Assistant, and Home Assistant designs.

Backward-incompatible changes

We do our best to avoid making changes to existing functionality that might unexpectedly impact your Home Assistant installation. Unfortunately, sometimes it is inevitable.

We always make sure to document these changes to make the transition as easy as possible for you. This release has the following backward-incompatible changes:

AirNow

The station radius option has been removed. The 2026 AirNow API no longer uses a distance parameter, so the radius had no effect on which reporting station was used. Existing entries are updated automatically, and any radius you had set is discarded. No action is needed.

(@derekcentrico - #176740) (AirNow documentation)

Gardena Bluetooth

The valve’s activation_reason sensor now reports a fixed set of values instead of free-form text. If you have automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more], scriptsScripts are components that allow you to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more], or “templates”A template is an automation definition that can include variables for the action or data from the trigger values. This allows automations to generate dynamic actions. [Learn more] that match on the old text values, update them to match the new ones.

(@elupus - #177187)

Edifier Infrared

If you set up the Edifier Infrared integration for the R2000DB or R2730DB speakers, some buttons were mapped to the wrong infrared codes (on the R2730DB, power and mute were swapped). The mappings are now corrected and migrated automatically. If you built automationsAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] or scriptsScripts are components that allow you to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more] around the old, incorrect buttons, update them to match.

(@abmantis - #177472) (Edifier Infrared documentation)

Ohme

The Ohme energy sensor has been removed. It reported an estimate of the energy stored in the car’s battery rather than the energy delivered by the charger, which caused confusing jumps in the energy dashboard, and the vendor’s API no longer provides a useful value.

If you tracked this sensor, use an Integration - Riemann sum helperA helper is a virtual entity you create inside Home Assistant. It is not backed by a physical device. Helpers store values, track state, or do calculations that your automations and dashboards need. [Learn more] on a power sensor to estimate the energy instead.

(@dan-r - #174664) (Ohme documentation)

Paperless-ngx

Paperless-ngx now requires a newer version of your Paperless-ngx server. The minimum supported server version is raised to 2.19, which also restores compatibility with Paperless-ngx 3.0. If your Paperless-ngx server is on version 2.18 or older, update it before you update Home Assistant.

(@IngmarStein - #176889) (Paperless-ngx documentation)

Robot vacuums

The deprecated battery_level property has been removed from the vacuum entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] of several integrations. If you use a robot vacuum’s battery level in an automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more], scriptScripts are components that allow you to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more], or on a dashboard, use the vacuum’s battery sensor instead.

This affects the following integrations:

(@gjohansson-ST - #175681, #175684, #175685, #175686, #175687, #175688, #175691, #175764)

ScreenLogic

The option to configure the pollingData polling is the process of querying a device or service at regular intervals to check for updates or retrieve data. By defining a custom polling interval, you can control how frequently your system checks for new data, which can help optimize performance and reduce unnecessary network traffic. [Learn more] interval has been removed from ScreenLogic. Home Assistant now polls the integration at a fixed interval. If you need a different update frequency, you can set your own polling interval or trigger an update with the homeassistant.update_entity action.

(@Pinball3D - #175576) (ScreenLogic documentation)

UniFi Protect

Support for UniFi Protect AI Port devices has been removed. These devices only ever exposed diagnostic sensors, all disabled by default, and are not part of the UniFi Protect public API the integration is moving to. The AI Port device and its sensors are removed automatically when you update. You can still configure the AI Port directly in UniFi Protect.

(@RaHehl - #174378) (UniFi Protect documentation)

Detection scores are no longer available. The detection binary sensors (motion, person, vehicle, animal, and the smart-audio alarm sensors) now take their state from the UniFi Protect public API, which carries no per-event score, so their event_score attribute is gone and automations that filter on it need another condition. The event id and the detected types moved to the new Motion detection, Smart detection, and Sound detection event entities.

(@RaHehl - #174948) (UniFi Protect documentation)

UniFi Protect 7.1 or newer is now required. On an older console the integration reports that the version is too old instead of setting up. Update UniFi Protect to 7.1 or newer to keep using it.

(@RaHehl - #177620) (UniFi Protect documentation)

Volvo On Call

The Volvo On Call integration has been removed. If you have a supported Volvo, set up the newer Volvo integration instead.

(@gjohansson-ST - #175677)

If you are a custom integration developer and want to learn about changes and new features available for your integration: Be sure to follow our developer blog. The following changes are the most notable for this release:

All changes

Of course, there is a lot more in this release. You can find a list of all changes made here: Full changelog for Home Assistant Core 2026.8.

  •  

A big win for Android interoperability

31 Juli 2026 om 02:00

Something big just happened. As the Open Home Foundation’s Android developer for Home Assistant, I was invited by the European Commission to consult on Android interoperability. On July 16, 2026, the Commission adopted a decision requiring Alphabet to open up eleven Android features — including always-on wake word detection, ambient sensor access, and screen automation — to all assistants, on equal terms.

  •  

Making our web analytics open source with Plausible

29 Juli 2026 om 02:00

The Open Home Foundation fights for privacy, choice, and sustainability. These principles are at the heart of everything we do, including how we handle website analytics. Our position is clear: we reject tools that track individuals across the web to monetize their data. Instead, we want aggregated, anonymized analytics that show how our websites are performing overall — without identifying who our visitors are, or compromising their privacy.

  •  

NVIDIA Driver 610.88

28 Juli 2026 om 00:00
Release Highlights:
Although GeForce Game Ready Drivers and NVIDIA Studio Drivers can be installed on supported notebook GPUs, the original equipment manufacturer (OEM) provides certified drivers for your specific notebook on their website. NVIDIA recommends that you check with your notebook OEM for recommended software updates for your notebook.

Game Ready for Halo: Campaign Evolved & Gears of War: E-Day Beta
This new Game Ready Driver provides the best gaming experience for the latest new games supporting DLSS and RTX technologies including Halo: Campaign Evolved, Gears of War: E-Day Multiplayer Beta, and Mistfall Hunter.

Fixed Gaming Bugs
  • [Halo: Campaign Evolved]: Resolved game crashes observed on RTX 50 Series GPUs with R610 drivers. [6259837]
  • Path of Exile 2: Fixed intermittent long pauses that could occur after extended gameplay sessions in DX12 mode [5090018]
  • Silent Hill F: Gaming stability improvements [6432954]
  • [Strange Brigade/Zombie Army 4:Dead War]: Game may crash when exiting if NVIDIA App In-Game Overlay is enabled [6392324]
  • Improves frame pacing in certain DX11 games when Smooth Motion is used while G-SYNC is enabled [6300603]

Fixed General Bugs
  • RTX Dynamic Vibrance is incorrectly applied to Wallpaper Engine [6244021]
  • Paint.NET may crash during launch when NVIDIA Surround is enabled [5366537]

Learn more in our Game Ready Driver article here.

Game Ready Driver

  •  

FireAvert joins Works with Home Assistant

28 Juli 2026 om 02:00
FireAvert joins Works with Home Assistant

Sound the alarm, because Works with Home Assistant just welcomed our newest partner to the program: FireAvert! 🎉 Specialists in fire safety, FireAvert are on a mission to keep you and your home out of harm’s way. They bring the very first gas and electric appliance shutoff devices to the program, and with them, a whole lot of peace of mind.

Where there’s smoke, there’s FireAvert

As ex-firefighter Peter Thorpe knows too well, a moment of forgetfulness is all it takes for a kitchen to end up in flames. And after close to twenty years of service witnessing the same devastating scenario repeat itself, he knew something had to be done. So he founded FireAvert, launching with the Auto Stove Shutoff for electric stovetops.

The device was already gaining momentum before FireAvert’s pitch caught the attention of Shark Tank, and for good reason. They say there’s no smoke without fire, but years on the job taught Thorpe that in the kitchen, that isn’t always the case. Smoke can build well before a flame takes hold – and that’s the window FireAvert’s shutoff works in. By listening for your standard smoke alarm, the device automatically shuts off your stove when the alarm sounds – cutting the heat at the source before a fire can catch.

“Excited to see FireAvert join the Home Assistant community. Smart homes shouldn’t just be convenient – they should help keep families safer too. This is exactly the kind of innovation the ecosystem needs.”

- Chasen Tolbert, FireAvert

Since their launch, FireAvert’s range has expanded to include gas stove and small appliance shutoffs (think microwaves, air fryers, hot plates), so whatever’s most likely to be left on in your kitchen, there’s a shutoff for it. And with Z-Wave units now among them, it’s easier than ever to bring that protection straight into your Home Assistant setup.

On the same frequency

The FireAvert shutoffs joining the program run on Z-Wave. For anyone unfamiliar, here’s a quick rundown: Z-Wave is an open smart home protocol that allows your devices to talk to each other regardless of the brand, without locking you into one ecosystem. It’s also a mesh network, where each device relays signals for the others to extend coverage across your home, reinforcing your connection.

While Z-Wave wasn’t a part of FireAvert’s initial product line, since then we’ve been pleased to see the company prioritize local control by producing shutoff devices with the open standard, and certifying them with the Z-Wave Alliance. We first met the FireAvert team at a San Diego alliance meeting back in 2025, and it was clear from the get-go that we were on the same wavelength: driven to build open, interoperable smart home tech that doesn’t require a cloud to keep your home protected.

FireAvert automatic shutoffs for electric and gas stoves FireAvert automatic shutoffs for electric and gas stoves

Safe as houses

It’s important to note that FireAvert’s shutoffs don’t rely purely on Z-Wave to do their job, and they’ll keep protecting your kitchen even if your network drops out entirely. That kind of safety net is reassuring for anyone, but even more so for those with caring responsibilities or aging relatives to worry about.

Likewise, FireAvert’s shutoffs don’t depend on a battery to function: just plug your stove or small appliance into the shutoff device, and the device into your wall socket – and you’re all set. As long as your appliance has power, the shutoff is on duty. And FireAvert back up that dependability where it counts: all four devices come with a lifetime warranty, and are independently tested to CSA and UL standards – confirming the hardware meets strict, recognized electrical safety requirements.

Devices

Just like every device certified by the Works with Home Assistant program, FireAvert’s shutoffs have also been rigorously tested by our in-house team to ensure they are up to code with our core requirements of local control and privacy.

Check out the devices that made the grade:

But it’s not just about adding devices to a list – our community is the engine of everything we do, and by joining it FireAvert commits to providing long-term support to make certain their devices continue to work smoothly within your setup.

Building the brigade

While there are already certified water shutoff devices in the program, stove shutoffs are a first, bringing a brand-new category of safety tech to Home Assistant users. It’s exactly the kind of innovation we love to see: more ways for our community to manage their smart homes, on their own terms.

That expansion is core to what the Open Home Foundation – which operates the Works with Home Assistant program – is about: keeping smart homes local, private, and safe. If you’d like to see more safety-focused partners like FireAvert join the program, consider subscribing to Home Assistant Cloud or buying official hardware like the Home Assistant Connect ZWA-2. Every bit of support helps us expand and maintain the program for all ⚒️.

Geared up and ready to respond

Forged to protect the community, FireAvert are a natural match for ours. We’re thrilled to have them join the ranks, and excited for Home Assistant users to be able to add another line of defense for their smart homes, and the people and pets who live in them. Head to our certified device list to discover the full range of devices to safeguard your home.

FAQs

Q: If I have a device that is not listed under Works with Home Assistant does this mean it’s not supported?

A: No! It just means that it hasn’t gone through a testing schedule with our team or doesn’t fit the requirements of the program. It might function perfectly well but be added to the testing schedule later down the road, or it might work under a different connectivity type that we don’t currently test under the program.

Q: OK, so what’s the point of the Works with program?

A: It highlights the devices we know work well with Home Assistant and the brands that make a long-term commitment to keeping support for these devices going. The certification agreement specifies that the devices must have the functionality you would expect within Home Assistant, operate locally without the need for the cloud, and that they will continue to do so long term.

Q: How were these devices tested?

A: All devices in this list were tested using a standard Home Assistant Green Hub with the Home Assistant Connect ZWA-2 as the Z-Wave adapter and with our Z-Wave integration. If you have another hub/adapter/integration that’s not a problem but we test against these as they are the most effective way for our team to certify within our ecosystem.

Q: Will you be adding more FireAvert devices to the program?

A: Why not! We’re thrilled to foster a close relationship with the team at FireAvert to work together on any upcoming releases or add in further products that are not yet listed here.

  •  

v24.10.8

26 Juli 2026 om 20:06

Hi,

The OpenWrt community is proud to announce the newest stable release of the OpenWrt 24.10 stable series.

This release fixes many security issues, several of them remotely triggerable in network services that are enabled by default. We strongly recommend everyone to upgrade.

The OpenWrt 24.10 series is in security maintenance (only security problems are fixed), with end of life (EoL) projected for September 2026. We recommend migrating to OpenWrt 25.12 before then.

Download firmware images using the OpenWrt Firmware Selector:

Download firmware images directly from our download servers:

Main changes between OpenWrt 24.10.7 and OpenWrt 24.10.8

Only the main changes are listed below. See changelog-24.10.8 for the full changelog.

Security fixes

This release fixes several remotely triggerable vulnerabilities in core network
services that are enabled by default. Updating is strongly recommended.

  • odhcpd (DHCPv6/DHCPv4/RA server, enabled by default): multiple vulnerabilities reachable by a network-adjacent, unauthenticated attacker were fixed:
  • odhcpd / LuCI stored XSS: CVE-2026-62948 (Critical): an unauthenticated DHCPv6 client could inject lease-file lines through a crafted FQDN hostname, resulting in stored cross-site scripting on the LuCI DHCPv6 leases status page. Fixed by escaping client hostnames in the lease state file.
    GHSA-hhmc-92hw-535f
  • uhttpd (web server, serves LuCI): three HTTP request smuggling issues on keep-alive connections were fixed:
    • CVE-2026-55614 (High): case-sensitive Transfer-Encoding matching.
      GHSA-mcfg-c4r7-pjpf
    • CVE-2026-55612 (High): invalid chunk-length state reset.
      GHSA-p55c-rmhc-qfm5
    • CVE-2026-55613 (Moderate): ubus POST body parse-error desync.
      GHSA-wgwp-64hh-f52p
    • In addition uhttpd received hardening without an assigned CVE: a one-byte overflow in uh_urldecode(), an off-by-one out-of-bounds read in uh_b64decode(), constant-time password comparison and stricter handling of $p$ crypt-hash entries in the authentication realm.
  • rpcd: ACL bypass through symlinks (High): the file plugin matched ACL grants against the textual path but then followed symlinks unchecked, so a symlink inside an ACL-covered directory let a limited account read or write arbitrary root-owned files. The path is now re-resolved and re-authorized for every operation that dereferences the final component.
    https://github.com/openwrt/openwrt/security/advisories/GHSA-q5gr-86pq-vvwr
  • cgi-io (file upload/download helper used by LuCI, installed by default with LuCI):
    • CVE-2026-62947 (Moderate): ACL bypass and arbitrary root file read — the download and exec paths were checked against the ACL before being canonicalized, so path traversal let an authenticated user with wildcard read permission read any root-readable file (e.g. /etc/shadow).
      GHSA-jw5r-xhf5-2xcq
    • Use-after-free (Moderate, no CVE assigned): decoding malformed percent-encoded POST field data could use freed memory.
      https://github.com/openwrt/openwrt/security/advisories/GHSA-wvhq-qmwj-grj2
  • LuCI (web interface): several issues in LuCI modules and applications were fixed. The privilege-escalation issues only apply if the affected app is installed and a limited (delegated) account with the relevant ACL exists:
    • luci-app-ddns (High): the ucode status backend passed DDNS UCI values such as lookup_host, dns_server and the section name to system() as an unquoted shell string, so anyone able to write DDNS configuration could execute commands as root. The invocations now use the array form of system().
      https://github.com/openwrt/openwrt/security/advisories/GHSA-32r4-3wh2-qvq3
    • luci-app-samba4 (High): the read ACL granted exec permission for smbd in general rather than only smbd -V, allowing read-only accounts to run arbitrary commands as root.
      GHSA-vx64-mmp7-h36c
    • luci-app-upnp (High): stored XSS — an unauthenticated LAN client can inject JavaScript through a UPnP port-mapping description, which the underlying daemon does not sanitize. The description is now HTML-escaped.
      GHSA-8v49-6387-7f89
    • luci-mod-status (High): stored XSS via a DHCP/DHCPv6 lease hostname shown in the lease status tables. Together with the odhcpd fix above this closes the injection path from an unauthenticated DHCP client into the LuCI admin UI.
      GHSA-686p-p8p9-x6fh
    • luci-base: the dispatcher now escapes the URL path and user name when logging, so crafted login requests can no longer pollute the system log.
    • The LuCI rpcd ACL files were adjusted for the symlink-aware rpcd ACL check mentioned above, so that /proc paths that are symlinks (such as /proc/mounts) keep working.
  • umdns (mDNS responder): CVE-2026-55492 (Moderate, CVSS 6.5): an unauthenticated attacker on the local network segment could flood the daemon with unique mDNS records; the unbounded cache exhausted the heap and took the whole device into out-of-memory. Fixed by bounding the cache size and clamping hostile TTLs.
    GHSA-jg8f-fhfw-jg46
  • ead (Emergency Access Daemon): CVE-2026-55490 (Moderate): an integer underflow in handle_send_a() allowed an unauthenticated attacker on the local segment to crash the daemon with a single crafted packet.
    GHSA-9558-77jp-g3fw
  • hostapd / wpa_supplicant: the fixes from upstream hostap security advisory 2026-1 were applied. Missing validation of multi-link (MLO / IEEE 802.11be) information in received Management frames could terminate the process or corrupt a small amount of memory; the frames need neither authentication nor user interaction.
    https://w1.fi/security/2026-1/missing-ml-parsing-validation.txt
    https://github.com/openwrt/openwrt/security/advisories/GHSA-3hj7-gj5w-h68m
  • dropbear (SSH): security fixes from upstream 2026.90 were backported:
    • CVE-2019-6111: a malicious server could make the scp client overwrite unexpected local files (missing OpenSSH patch). Note the accompanying upstream behaviour change: scp -r is now rejected when the target directory already exists.
    • CVE-2026-35385: scp did not clear setuid/setgid bits on received files.
    • An authenticated user could bypass an authorized_keys forced_command option when dropbear runs with -t; authorized_keys is now opened non-blocking (local denial of service via special files); and a close() on a file descriptor obtained from an out-of-bounds read was fixed.
  • musl libc: backport of the upstream fixes for CVE-2026-6042 (algorithmic-complexity denial of service in iconv) and CVE-2026-40200 (stack corruption in qsort with sufficiently large inputs).
  • OpenSSL: update to 3.0.21, fixing multiple security vulnerabilities (CVE-2026-45447, CVE-2026-34182, CVE-2026-45445, CVE-2026-7383, CVE-2026-9076, CVE-2026-34180, CVE-2026-42766, CVE-2026-42770, CVE-2026-45446).
  • Linux kernel: update to 6.6.144, pulling in the upstream 6.6.142, 6.6.143 and 6.6.144 stable releases, which fix multiple security vulnerabilities.
  • dnsmasq: update to 2.93, which carries the security fixes that were backported into 2.90 in the previous release (CVE-2026-2291, CVE-2026-4890, CVE-2026-4891, CVE-2026-4892, CVE-2026-4893 and CVE-2026-5172) plus further upstream fixes.

In addition, the packages feed shipped with this release moved a number of
optional packages to newer upstream versions that contain security fixes, among
them curl (8.12.1 to 8.19.0), expat (2.7.4 to 2.8.2), BIND (9.20.23 to 9.20.26),
PHP 8 (8.3.29 to 8.3.32), Tor (0.4.8.22 to 0.4.9.10), unbound (1.24.2 to 1.25.1),
lighttpd (1.4.82 to 1.4.85), haproxy (3.0.19 to 3.0.25) and rsync (3.4.2 to 3.4.3).
collectd also received a fix for a use-after-free in the ping plugin. These
packages are not part of the default images — you have to update the installed
packages on your device to receive them.

Beyond the issues listed above, this release fixes a number of further security
and robustness problems in odhcpd, odhcp6c, rpcd and uhttpd for which no CVE
number or dedicated advisory was assigned. We strongly recommend upgrading to
the latest OpenWrt release and installing all available package updates.

Device support

No new devices were added in this security maintenance release.

Device fixes:

  • airoha: update the PCS driver to a newer proposed upstream version (EN7581 Ethernet SerDes)
  • ipq806x: Extreme Networks AP3935 - disable PHY hibernation on LAN1, which otherwise stayed dead when no cable was connected at power-on

WiFi fixes and improvements

  • mac80211: update the backported wireless stack and drivers from 6.12.61 to 6.12.96, containing many upstream fixes for ath10k, ath11k, rtw88, rtlwifi and iwlwifi, among them:
    • ath10k: skip WMI and beacon transmission when the device is wedged
    • ath11k: fix a warning on unbind and fix peer resolution on the RX path
    • rtw88: fix memory leaks on USB write failures
    • mac80211/nl80211: reject oversized EMA RNR lists and fix multi-link element defragmentation
  • hostapd / wpa_supplicant: multi-link (MLO) parsing validation fixes, see the security section above
  • wireless-regdb: update to 2026.05.30

Network and service improvements

  • odhcpd received many DHCPv6/DHCPv4 correctness and robustness fixes on top of the security fixes listed above, among them bounded nested relay recursion, correct handling of DHCPv4 Pad/End option encoding, fixed reallocation error handling and a memory leak on reload
  • odhcp6c: several fixes to DHCPv6 option parsing, RFC 6603 prefix-exclude handling, Reconfigure message validation and script invocation
  • rpcd: fixes for a use-after-free in the async exec reply path, a double close of exec pipe descriptors, an integer overflow in the UCI apply timeout and several memory leaks
  • umdns: update to a current version with the cache limits mentioned above

Other changes

  • busybox: the shell command history is now saved again. To avoid flash wear, it is written only when a shell session exits and it is stored in /tmp, so it is lost on reboot. The location can be changed in /etc/profile.d/busybox-history-file.sh.

Core components update

  • Linux kernel: update from 6.6.141 to 6.6.144
  • OpenSSL: update from 3.0.20 to 3.0.21 (multiple security fixes, see above)
  • dnsmasq: update from 2.90 to 2.93
  • mac80211: update from 6.12.61 to 6.12.96
  • wireless-regdb: update from 2026.03.18 to 2026.05.30
  • ca-certificates: update from 20260223 to 20260601 (refreshed root CA bundle)

Upgrading to 24.10

Sysupgrade can be used to upgrade a device from 23.05 to 24.10, and configuration will be preserved in most cases.

For for upgrades inside the OpenWrt 24.10 stable series for example from a OpenWrt 24.10 release candidate Attended Sysupgrade is supported in addition which allows preserving the installed packages too.

  • Sysupgrade from 22.03 to 24.10 is not officially supported.

  • There is no configuration migration path for users of the ipq806x target for Qualcomm Atheros IPQ806X SoCs because it switched to DSA. You have to upgrade without saving the configuration.
    ''Image version mismatch. image 1.1 device 1.0 Please wipe config during upgrade (force required) or reinstall. Config cannot be migrated from swconfig to DSA Image check failed''

  • User of the Linksys E8450 aka. Belkin RT3200 running OpenWrt 23.05 or earlier will need to run installer version v1.1.3 or later in order to reorganize the UBI layout for the 24.10 release. A detailed description is in the OpenWrt wiki. Updating without using the installer will break the device. Sysupgrade will show a warning before doing an incompatible upgrade.

  • Users of the Xiaomi AX3200 aka. Redmi AX6S running OpenWrt 23.05 or earlier have to follow a special upgrade procedure described in the wiki. This will increase the flash memory available for OpenWrt. Updating without following the guide in the wiki break the device. Sysupgrade will show a warning before doing an incompatible upgrade.

  • Users of Zyxel GS1900 series switches running OpenWrt 23.05 or earlier have to perform a new factory install with the initramfs image due to a changed partition layout. Sysupgrade will show a warning before doing an incompatible upgrade and is not possible. After upgrading, the config file /etc/config/system should not be restored from a backup, as this will overwrite the new compat_version value.

  • Users of scp from the dropbear package: recursive copies (scp -r) into an already existing target directory are now rejected. This is an intentional upstream change that comes with the fix for CVE-2019-6111. Use rsync or copy into a non-existing directory instead.

Known issues

  • LEDs for Airoha AN8855 are not yet supported. Devices like the Xiaomi AX3000T with an Airoha switch will have their switch LEDs powered off. This will not be addressed in the OpenWrt 24.10 series any more, it is fixed in OpenWrt 25.12.
  • 5GHz WiFi is non-functional on certain devices with ath10k chipsets. Affected models include the Phicomm K2T, TP-Link Archer C60 v3 and possibly others. For details, see issue #14541.

Full release notes and upgrade instructions are available at
https://openwrt.org/releases/24.10/notes-24.10.8

In particular, make sure to read the regressions and known issues before upgrading:
https://openwrt.org/releases/24.10/notes-24.10.8#known_issues

For a detailed list of all changes since 24.10.7, refer to
https://openwrt.org/releases/24.10/changelog-24.10.8

To download the 24.10.8 images, navigate to:
https://downloads.openwrt.org/releases/24.10.8/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=24.10.8

As always, a big thank you goes to all our active package maintainers, testers, documenters and supporters.

Have fun!

The OpenWrt Community


To stay informed of new OpenWrt releases and security advisories, there
are new channels available:

  •  
❌