Lees weergave
2026.5: We're on the same frequency now 📡
Home Assistant 2026.5! 🎉
What a few weeks it has been! Earlier this month, we hosted State of the Open Home 2026 live in Utrecht, the Netherlands. A big chunk of that day was dedicated to something we deeply care about: building in the open, and how we’re going to take that even further from here on out. 💙
Building in the open isn’t just about source code on GitHub. It’s about doing the planning, the decision-making, and the prioritizing out where everyone can see it, follow along, and join in. And “joining in” doesn’t mean you have to write a single line of code or even consider yourself technical. Sharing how you use Home Assistant, telling us what frustrates you, what you wish existed, voting on ideas, helping a fellow user on the forums or Discord, translating, writing documentation, or simply leaving a thoughtful comment on a roadmap item: it all counts, and it all shapes where this project goes next. 🤝
A great first step in that direction also went live this month: our roadmap is now public. You can go browse it, see what we’re working on, what’s next, and (most importantly) comment on it, share your thoughts, and help shape it. We talked about all of this, and a lot more, on stage. So if you weren’t able to join us live, please go watch the recording. It is genuinely worth your time, and it’s the best invitation I can give you to come build the Open Home with us. 🗺️
Now, on to this release. My personal favorite this month is maybe a bit unexpected, considering it sits all the way at the end of this post: the completely reworked templating documentation. I know, I know, “documentation” doesn’t exactly scream headline feature. But hear me out: making Home Assistant more approachable is one of our biggest missions this year, and darn good documentation is a big part of that. We’ve expanded our documentation team and are investing heavily in this, and the new templating docs are the very first taste of what’s to come. I’m really proud of where this is heading. 📚
That said, I’d be lying if I said I wasn’t also super stoked about radio frequency (RF) support landing this release. Just like last month’s infrared (IR) release, this brings a massive category of devices into Home Assistant natively: blinds, garage doors, ceiling fans, RF outlets, doorbells… you name it. Sure, there have always been clever workarounds and custom integrations to bridge some of these, but having it built right into the platform changes the game completely. There is so much cool stuff going on around this, and we’re only getting started. 📡
And there’s plenty more: a new Maintenance dashboard for your batteries, serial ports proxied over the network with ESPHome, new tile card features for media players, durations for purpose-specific automation triggers and conditions, redesigned more-info dialogs for vacuums and lawn mowers, autocomplete in the code editors, and 12 new integrations! 🚀
Enjoy the release!
../Frenck
- Radio frequency joins infrared as a first-class citizen
- Serial ports over the network with ESPHome
- More from your built-in dashboards
- More for the dashboards you build yourself
- Purpose-specific automation triggers & conditions
- Integrations
- Other noteworthy changes
- Need help? Join the community
- Backward-incompatible changes
- Patch releases
- All changes
A huge thank you to all the contributors who made this release possible! And a special shout-out to @piitaya who helped write the release notes this release. Also, @RaHehl, @balloob, @Tommatheussen, and @mib1185 for putting effort into improving its contents. Thanks to them, these release notes are in great shape. ❤️
Radio frequency joins infrared as a first-class citizen
Last release, we welcomed infrared as a first-class citizen of Home Assistant, opening the door to all those TVs, air conditioners, and other appliances still controlled by their little IR remote. This release continues that story with another old-school protocol: radio frequency (RF). 📡
Think about all the RF-controlled devices already living in your home: motorized blinds and curtains, garage door openers, ceiling fans, wireless wall switches, RF outlets, doorbells, and yes, those holiday string lights. Most of them haven’t had a great way into your smart home, because they don’t speak Wi-Fi, Bluetooth, Zigbee, Z-Wave, or Matter. They speak RF, and only RF. There have always been workarounds and custom integrations to bridge some of them, but with this release, Home Assistant speaks RF natively.
Meet the Radio frequency platform
The new Radio frequency integration follows the exact same pattern as last release’s infrared platform. It’s an entity type that represents an RF transmitter, like an ESPHome-powered device with a sub-GHz transmitter attached. You don’t set it up directly. Instead, other integrations use it to send RF commands on your behalf, and you simply pick which transmitter they should use.
Two transmitter integrations support this from day one:
- ESPHome, so any ESPHome device with a compatible sub-GHz transmitter can act as your home’s RF bridge. Most modules cover all common sub-GHz bands (315, 433, 868, and 915 MHz), so a single transmitter can talk to a wide range of devices. For DIY, we recommend the inexpensive CC1101 module (around $10), which you wire up to an ESP32 yourself. There’s a step-by-step guide on how to build one in the ESPHome documentation.
- Broadlink, so any Broadlink RM4 Pro you may already own can be reused as an RF transmitter for the new integrations. The RM4 Pro is the only model in the RM4 line with RF support, and it’s limited to the 433 MHz band.
On the other side, device-specific integrations use the platform to actually do something useful. Two are shipping in this release:
- Honeywell String Lights, to turn your RF remote-controlled Honeywell string lights on and off from Home Assistant, with all the automation magic that brings. 🎄
- Novy Cooker Hood, to control the light and the extractor fan on your Novy cooker hood. These are typically ceiling-mounted, so an RF remote (and now Home Assistant) is the only practical way to reach them. 💨
Why this is a big deal
Like infrared, this is about more than a single new feature. A large chunk of perfectly good RF-controlled hardware out there has no smart home story at all. By giving Home Assistant a standard way to talk to RF devices, every new consumer integration built on top instantly works with every transmitter integration. Add a new ESPHome RF proxy somewhere in the house, and your blinds, your fan, and your string lights all just work. ✨
This is a great fit with the values of the Open Home Foundation, and especially sustainability. 🌱 Instead of throwing out a working motorized blind because it’s “dumb”, you can integrate it. Instead of replacing your RF outlets with new Wi-Fi ones, you can keep using them. It’s another way to extend the life of devices you already own, and to reduce electronic waste. ♻️
A sneak peek at what’s coming
You may have caught a glimpse of where this is heading at the State of the Open Home 2026. Nabu Casa is a commercial partner of the Open Home Foundation, running Home Assistant Cloud and producing devices like the Home Assistant Green and the Home Assistant Voice Preview Edition. They’ve been working on a new device, currently going by the codename Project Blast, that brings infrared and radio frequency capabilities together in a single, polished package. The new Radio frequency platform in this release is part of the foundation that makes products like that possible. Stay tuned. 👀
If this tickles your interest, watch Carl from Nabu Casa explain what’s coming in this segment of the State of the Open Home 2026. 📺
We’re excited to see where the community takes this. The Radio frequency platform is designed to grow: more transmitter integrations, more device integrations, and more protocols over time.
This work is part of an Open Home Foundation roadmap opportunity to make radio frequency a first-class citizen of Home Assistant. Mission accomplished. 🎉
Serial ports over the network with ESPHome
We have a bit of a theme going on. Last release, infrared became a first-class citizen of Home Assistant. This release, radio frequency joined the party. And now, there’s another way you can put an ESPHome device somewhere in your home and let Home Assistant talk to things through it: serial ports. 🔌
If you’ve ever set up a Bluetooth proxy, the idea will feel familiar. Plenty of smart home gear talks over a serial connection, like energy meters with a P1 port, or that classic Denon receiver with the new Denon RS-232 integration shipping in this release. Until now, the device producing those serial signals had to be physically plugged into the same machine running Home Assistant, or wired up over a long, unwieldy cable. Not anymore. ✨
With the new serial proxy support in ESPHome, any serial port plugged into (or built into) an ESPHome device can now be exposed over your network and used by Home Assistant as if it were sitting right next to it. Drop an ESP somewhere convenient, plug your serial device into it, and Home Assistant takes care of the rest. 🪄
Where this comes in handy
This is great news if you’ve ever struggled to put a serial-connected device exactly where you wanted it. A few practical examples:
- Connect to receivers, projectors, or other AV gear over RS-232 from anywhere on your network.
- Read your smart meter’s P1 port from the meter cabinet, even if your Home Assistant server lives upstairs in a closet. ⚡
Like our existing Bluetooth, infrared, and radio frequency proxies, this is also a sustainability win. ♻️ Instead of replacing perfectly good serial-only equipment with newer Wi-Fi versions, you can keep using what you already have. That energy meter, that older AV receiver, that industrial sensor: they all just work, over the network. 🌱
Under the hood
Behind the scenes, this release rewires Home Assistant’s serial-port handling top to bottom to make serial proxies a natural part of the system. Some highlights for the curious:
- All of Home Assistant has been migrated to a modern, async-first serial driver called serialx, replacing the older
pyseriallibrary that Home Assistant has used for years. It’s designed for the way Home Assistant works today and adds support for new connection types, including ESPHome serial proxies, transparently. - Integrations that need a serial port now get a new, polished serial port selector in the UI. It lists local USB serial ports and remote ESPHome serial proxies side by side, with friendly names. The list even updates live, so a USB device you plug in while the dropdown is open shows up right away.
- Common integrations that talk over serial pick up serial proxies for free. The new Denon RS-232 integration uses it from day one, and the existing Russound RIO integration has been migrated to serialx as well, so it can now talk to your multi-room audio gear over an ESPHome serial proxy too.
If you’re an integration developer (or maintain a custom component) talking over serial, head over to the migrating from pyserial to serialx developer blog post to read all about how to take advantage of this. 🛠️
A first step, not the finish line
Let’s be upfront about one thing: getting a serial proxy up and running today is not a one-tap experience yet. To use this in your home, you’ll need to build your own ESPHome device with the serial_proxy component configured for the UART your serial device is wired to. That means writing an ESPHome YAML configuration, flashing the firmware, and connecting the hardware. It’s very doable, but it is on the technical side. 🤓
We think that’s okay, because this release is the foundational milestone that makes everything else possible. The plumbing is now in place across Home Assistant, ESPHome, and the integrations that need it. From here, we (and the broader community) can build on top of this with friendlier setup flows, ready-made hardware, and pre-built ESPHome configurations. Just like Bluetooth and infrared proxies before it, the experience will get more approachable release after release. 🚀
This work is part of an Open Home Foundation roadmap opportunity to make serial proxying a first-class citizen of Home Assistant. Another roadmap milestone, checked off the list. ✅
More from your built-in dashboards
Over the past few releases, Home Assistant has been quietly growing a family of built-in dashboards that you don’t have to build yourself. It started with the Home dashboard back in 2025.9, and grew with dedicated Lights, Climate, and Security dashboards in 2025.11. This release adds a new one and upgrades an existing one. 🏠
Stay on top of your batteries with the new Maintenance dashboard
Keeping your smart home running smoothly is a side of home automation that doesn’t always get the spotlight. We’ve all been there: that motion sensor in the hallway that suddenly stops triggering the lights one evening, only to discover days later that its battery had died. 🪫 Wouldn’t it be nice to spot that before it becomes a problem? The new built-in Maintenance dashboard gives questions like that a home of their own. 🧰
The dashboard focuses on what is probably the most-requested view of all: your batteries. It automatically discovers every battery entityAn 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] in your home and lays them out grouped by area, with low ones highlighted so you can spot the ones that need swapping at a glance. No more digging through entity lists or building your own dashboard for it. 🔋
This is a community contribution from @Brookke, who built it from the ground up. Big thanks for adding such a useful new dashboard to Home Assistant! 👏
Tip
Are you a developer? Each one of these built-in dashboards is powered by a dashboard strategy: a piece of code that generates a complete dashboard on the fly, tailored to your home. Starting with this release, you can register your own custom dashboard strategies from a custom integration or frontend module, and share them with the community.
Imagine a strategy that builds the perfect dashboard for your plants, your 3D printers, your home lab, or your aquarium, automatically, for anyone who installs it. We can’t wait to see what you create. 🌱
Activity log on the Security dashboard
The built-in Security dashboard also gets a nice upgrade this release: a new Activity sidebar that shows you a live, 24-hour log of everything happening with your security-related entities. Cameras, locks, alarm panels, motorized covers, door and window sensors, and the comings and goings of the people in your home, all in one place. 🔓
It’s a quiet upgrade you’ll feel every day: at a glance, you can see if a door was opened, if someone arrived home, or if the front camera spotted motion, without having to dig through the logbook or build a dashboard for it yourself. The sidebar appears automatically on wider screens whenever the Logbook integration is enabled (it is, by default).
More for the dashboards you build yourself
Building your own dashboard is one of the most rewarding parts of Home Assistant. The best part: you can build the entire thing right in the UI, by dragging and dropping cards into place. You don’t need to be technical, you don’t need to know YAML, and you don’t need to touch a single line of code to make something that looks great and works exactly the way you want.
Of course, the dashboards you craft yourself get plenty of love this release too. A new card for one-tap shortcuts and fresh tile card features for your media players. 🎨
Introducing the shortcut card
Dashboards are the front door to your smart home, and sometimes the most useful thing you can put on them isn’t an entity, but a quick way to get somewhere. Jump to your energy dashboard. Open the camera view. Launch Assist. Open the manual in a new tab. The new shortcut card makes building those one-tap launchers a breeze. ⚡
It looks and feels like a tile card, but instead of representing an entity, it triggers an action when you select it. You can pick from:
- Navigate to another dashboard, view, area, or device page.
- Open a URL in a new tab, perfect for linking out to your router, NAS, or documentation.
- Launch Assist, so your voice assistant is always one tap away.
- Perform an action, like turning off all the lights when you head out the door. 🌙
The card is smart about defaults: pick a navigation target and it picks up the title, icon, and color of that destination automatically. Pick Launch Assist and it suggests a microphone icon. You can override any of it, of course; set your own label, description, icon, and color, and pick between a horizontal or vertical layout.
The shortcut also comes as a badge, so you can drop the same one-tap actions into the badge row at the top of any view. Same options, same smart defaults, just in a more compact form.
New tile card features for media players
The tile card is one of the most flexible building blocks in Home Assistant dashboards, and this release expands what it can do for media players. Two new card features and a more flexible playback feature give you a lot more choice in how your media player tiles look and behave. 🎶
The first new feature is select source: a dropdown right on the tile that lets you switch the input or source on your media player. HDMI 1, the Spotify input on your receiver, that one obscure radio station you actually like; it’s all one tap away. The second is select sound mode, with the same dropdown experience for picking modes like Movie, Music, or Night on receivers and AV gear that support it.
And the existing playback card feature got a long-requested upgrade: you can now pick exactly which buttons appear and in what order. Mix and match from on/off, play, pause, play/pause, stop, previous track, and next track to build a remote that fits your media player perfectly. No more turn-on button on a TV that doesn’t need one, no more missing the next-track button on your speaker. 🎚️
Purpose-specific automation triggers & conditions
The journey to make automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] building feel natural continues. Ever since Home Assistant 2025.12 introduced purpose-specific triggers and conditions, every release has chipped away at the gap between how you describe your home in your head (“when a light turns on”, “if the climate is heating”) and what you actually had to type into an automation. Last release added a whole batch of cross-domain triggers and conditions. This release adds something the entire community has been asking for: time. ⏱️
Automations that finally understand “for a while”
Reading back the feedback we’ve received in the months this has been in Home Assistant Labs, one request stood out above all others: durations. Almost every “when motion is detected” automation in the wild secretly wishes it could say “when motion has not been detected for the last 5 minutes”. And almost every “if a door is open” condition really wants to be “if a door has been open for at least 10 minutes”. 🚪
Now they can. On the trigger side, a new for field has landed across a wide range of state-based purpose-specific triggers, from motion and occupancy to doors, windows, lights, switches, climate, covers, and many more. Pick a trigger, set how long the situation has to hold, and you’re done. No more wrestling with template helpers or YAML for: keys hidden in code views to express something this fundamental.
On the condition side, duration is now available across the entire family of entity conditions in Labs. Whether you’re checking on motion, a door, a light, a switch, a climate, a media player, or anything else, you can now ask for the state to have held for a given amount of time before the condition is considered true. Same story: no template helpers, no YAML detour.
A few examples of what this unlocks:
- “When the front door has been open for more than 2 minutes” → close-the-door reminder. 🔔
- “When motion has not been detected in the office for 15 minutes” → turn off the lights. 💡
- “If the bedroom window has been closed for at least an hour” → only then start the air purifier. 🌬️
- “When a garage door has been open for more than 30 minutes after sunset” → send a notification. 🌙
It’s a small-looking addition with an outsized impact: a whole category of “almost possible” automations just became easy to put together.
A few more triggers and conditions to play with
Beyond the new sense of time, this release sprinkles a few more handy purpose-specific building blocks across your house.
If you keep an eye on updates waiting to be installed, two new conditionsConditions are an optional part of an automation that will prevent an action from firing if they are not met. [Learn more], is available and is not available, let an automation branch on whether something is pending, without templating the answer yourself.
Your media players got chatty: triggers fire when something starts playing, pauses, turns on, or turns off, and now also when a player is muted or unmuted, when its volume changes, or when the volume crosses a threshold you set. Conditions follow the same beat with is muted, is unmuted, and a numeric volume check. Perfect fuel for “dim the lights when the movie starts”, “pause the music when the doorbell rings”, or “only send the loud TTSTTS (text-to-speech) allows Home Assistant to talk to you. [Learn more] announcement if the speaker is below 30%”. 🎬🔇
Your remotes picked up matching is on and is off conditions, finishing what last release’s triggers started. And your to-do lists can now answer two questions an automation might have: are all items completed, or are there still incomplete items on the list? Great for end-of-day check-ins or those “did I forget to feed the cat” moments. 🐱
Your timers got a whole lifecycle of new triggersA trigger is a set of values or conditions of a platform that are defined to cause an automation to run. [Learn more]: started, paused, restarted, cancelled, and finished. So that 20-minute “tea is ready” timer can now actually tell your kitchen lights to flash, and your “kids screen time” timer can announce when it’s running, paused, or up. There’s also a new time remaining trigger that fires when a running timer reaches a remaining duration you pick: think a gentle “five minutes left” warning before the screen time timer runs out. ⏲️
And finally, a new doorbell rang trigger. Doorbell event entities now speak a shared language, so a single trigger lights up regardless of which brand sits at your front door. 🔔
Changes to existing triggers and conditions
As some of the very first, we’ve added purpose-specific triggers and conditions for Person entities and Device Tracker entities separately. More recently, we’ve decided we want to go for a more ergonomic cross-domain approach. Those the triggers entered_home and left_home as also the conditions is_home and is_not_home got removed from the Person and Device Tracker. They will get successor in one of the upcoming releases.
Try it out!
Purpose-specific triggers and conditions are still a preview feature in Home Assistant Labs, but with each release the rough edges get smoother, and we’re closing in on having it feature complete. If you haven’t given it a spin yet, head over to Settings > System > Labs, switch it on, and let us know what you think. Your feedback is genuinely shaping where this lands; building in the open at work. 💚
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:
-
Denon RS-232, added by @balloob
Control your Denon receiver locally over its RS-232 serial port. Connect your receiver using a serial cable or a USB-to-serial adapter for push-based state updates, without depending on the network or the cloud. -
Duco, added by @ronaldvdmeer — launching at 🏆 platinum quality
Monitor and control your Duco demand-controlled ventilation system locally from Home Assistant. Track CO₂, humidity, and other sensor data, and adjust ventilation, all over your local network. -
EARN-E P1 Meter, added by @Miggets7
Connect your EARN-E energy monitor to Home Assistant for real-time insights into your smart meter’s energy and gas data. The device pushes its readings over your local network, so no cloud or polling is involved. -
Eurotronic Comet Blue, added by @rikroe
Integrate your Eurotronic Comet Blue (and similar) Bluetooth radiator thermostats with Home Assistant. Read thermostat status and adjust temperatures locally, without a hub or cloud connection. Compatible thermostats include Sygonix HT100 BT, Xavax Hama, and Lidl Silvercrest RT2000BT. -
Fumis, added by @frenck — launching at 🏆 platinum quality
Bring your Fumis-based pellet stove into Home Assistant through the Fumis online service. Monitor your room temperature, set a comfortable target temperature, and turn your stove on or off. Pellet stoves, pellet boilers, and hybrid wood and pellet stoves equipped with a Fumis WiRCU Wi-Fi module are sold under many different brands, including Austroflamm, Eco Spar, HAAS+SOHN, and Heta. -
Honeywell String Lights, added by @balloob
Control your Honeywell radio frequency (RF) remote-controlled string lights from Home Assistant. Uses the new Radio frequency entity platform, so you’ll need a compatible sub-GHz RF transmitter (for example, an ESPHome device) to send commands. -
Kiosker, added by @Claeysson
Monitor your Kiosker web kiosks running on iPad or iPhone from Home Assistant. Kiosker turns your iOS device into a powerful, easy-to-use web kiosk, perfect for dashboards on the wall. -
Novy Cooker Hood, added by @piitaya
Control the light and the extractor fan on your Novy cooker hood from Home Assistant. Novy hoods are typically ceiling-mounted, with no buttons within reach, so an RF remote (and now Home Assistant) is the only practical way to control them. Uses the new Radio frequency entity platform, so you’ll need a compatible sub-GHz RF transmitter (for example, a Broadlink RM4 Pro or an ESPHome device) to send commands. -
OMIE, added by @luuuis — launching at 🥈 silver quality
Bring Iberian Peninsula day-ahead electricity spot prices from OMIE into Home Assistant. Sensors expose the current and next-hour prices for both Spain and Portugal, perfect for smarter automations around when to run your dishwasher, charge your EV, or heat your water. -
Radio frequency, added by @balloob
A new entity type that represents a sub-GHz radio frequency (RF) transmitter, like an ESPHome device with a CC1101 module attached. You don’t set this integration up directly; instead, other integrations use it to send RF commands to devices such as remote outlets, garage doors, and string lights. The new Honeywell String Lights and Novy Cooker Hood integrations are the first to make use of it. Read more about it in the Radio frequency joins infrared as a first-class citizen section above. -
Teleinfo, added by @esciara — launching at 🥈 silver quality
Read electricity consumption data from French Linky smart meters and older electronic meters using the Télé-Information Client (TIC) protocol. Connect a Teleinfo USB adapter to your meter’s TIC output to monitor real-time energy indexes, apparent power, instantaneous current, and tariff information, all locally. -
Victron GX, added by @tomer-w — launching at 🏆 platinum quality
Connect your Victron Energy GX devices, like the Cerbo GX, Venus GX, and Color Control GX, to Home Assistant over MQTT. Get real-time monitoring and control of your Victron system, including inverters, solar chargers, battery systems, grid meters, and EV chargers.
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 are also being constantly improved. Here are some of the noteworthy changes to existing integrations:
- MQTT picked up three new platforms this release: time, datetime, and date entities, giving you even more building blocks for your MQTT-based devices and automations. Thanks, @jbouwh!
- Matter added support for Matter radon sensors, so radon-monitoring devices that speak Matter now show up natively in Home Assistant. Thanks, @dnicoara!
- ESPHome water heater entities now support away mode, matching what physical and smart water heaters in your home offer. Thanks, @tronikos!
- Shelly added tilt and rotation binary sensors for the Shelly Cury, and the Shelly Wall Display now exposes a media player entity for built-in audio playback. Thanks, @bieniu!
- Sonos got two new switches for TV Autoplay and Ungroup on Autoplay, giving you fine-grained control over how home theater speakers behave when the TV turns on. Thanks, @arsenicks!
- Apple TV now supports keyboard text input services, so you can send text to your Apple TV right from Home Assistant. No more hunting for letters on the on-screen keyboard. Thanks, @kroehre!
- Music Assistant received a big batch of player options: number, text, switch, and select entities are now exposed for everything Music Assistant players make configurable. On top of that, sound mode support has landed too. Thanks, @fmunkes!
- Roborock owners with a Q10 S5+ now get dedicated sensor and select entities for their vacuum, and Q7 vacuums gained cleaning route control. Thanks, @lboue and @Lash-L!
- WLED now supports per-segment freezing, letting you pause effects on individual LED segments. Thanks, @tgechev!
- Broadlink can now act as an infrared emitter on the new infrared platform that landed last release, so your Broadlink RM-series devices can be reused as native IR transmitters for other integrations. Thanks, @YuvalWS!
- Home Connect added microwaves to the related appliance types for several sensors, expanding coverage of supported devices. Thanks, @Diegorro98!
- OpenAI Conversation added support for OpenAI’s new GPT-5.5 conversation model and the gpt-image-2 image generation model, which is now the recommended default for image generation. Thanks, @Shulyaka!
- SMLIGHT SLZB devices now expose an infrared platform, so they can be used as IR transmitters with the new infrared entity platform. Thanks, @tl-sl!
- SwitchBot Air Purifier devices gained fan speed percentage control and a button to toggle the built-in light sensor. Thanks, @zerzhang!
- Tado now uses a dynamic update interval, automatically adjusting how often it polls based on activity to give you fresher data when something is happening. Thanks, @erwindouna!
- SolarEdge got a whole set of new battery storage sensors. There are aggregate sensors for the total daily charge and discharge energy across your batteries, and per-battery sensors for daily charge and discharge energy, state of charge, and current power. All new sensors are disabled by default, so you can enable just the ones you need. Thanks, @it-rec!
- HTML5 Push Notifications got a major upgrade: a new event platform, a new
html5.send_messageentity action, and the integration is now correctly classified as a notification service. Thanks, @tr4nt0r! - Anthropic added support for Anthropic’s new Claude Opus 4.7 model. Thanks, @Shulyaka!
- Immich media source now exposes your favorite collection, making it easy to pull starred photos straight into your dashboards. Thanks, @mib1185!
- Transmission gained an event entity for torrent events, perfect for triggering automations when downloads finish. Thanks, @andrew-codechimp!
- Portainer continues its rapid expansion: new buttons for pruning volumes, killing containers, recreating containers, and full volume management. Thanks, @erwindouna!
- LG Netcast got a new action to send remote control commands, letting you script TV navigation and input. Thanks, @mithomas!
- Subaru vehicles that support remote start now have a dedicated start/stop button entity. Thanks, @masterkoppa!
- London Underground expanded beyond the tube: it now reports status for the Trams and the IFS Cloud Cable Car as well. Thanks, @prpr19xx!
- UniFi Access picked up several improvements: a select entity for temporary door lock rules, UA-HUB-Door support, entry/exit direction on access events, automatic console discovery via UniFi Discovery, and a warning when a UniFi Protect API key is used during setup. Thanks, @imhotep and @RaHehl!
- UniFi Protect is turning into your alarm hub: it gains an alarm control panel, UniFi PoE Siren / UniFi SuperLink Siren sirens, and switches for the new UniFi SuperLink Relay — a device that reaches up to 2 km over LoRa. All of these new features require UniFi Protect 7.1 or later. Thanks to Ubiquiti for the public API improvements, and to @RaHehl for bringing it all to Home Assistant!
- WaterFurnace geothermal systems now expose a climate entity, alongside new energy statistics so you can track your system’s energy use over time. Thanks, @masterkoppa!
- OpenDisplay Flex e-paper devices now expose new diagnostic sensors driven by passive Bluetooth Low Energy advertisements: a battery percentage and battery voltage sensor for battery- and solar-powered devices, and a chip temperature sensor. Thanks, @g4bri3lDev!
- Satel Integra now supports encrypted connections, keeping your alarm panel communications secure over the network. Thanks, @Tommatheussen!
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:
-
6 integrations reached platinum 🏆
- Elgato, thanks to @frenck
- freshR, thanks to @SierraNL
- Google Weather, thanks to @tronikos
- Liebherr, thanks to @mettolen
- Twente Milieu, thanks to @frenck
- UniFi Access, thanks to @imhotep and @RaHehl
-
2 integrations reached gold 🥇
- FRITZ!Box Tools, thanks to @AaronDavidSchneider, @chemelli74, and @mib1185
- Samsung Smart TV, thanks to @chemelli74 and @epenet
-
3 integrations reached silver 🥈
- Anthropic, thanks to @Shulyaka
- Huum, thanks to @frwickst and @vincentwolsink
- UniFi Network, thanks to @RaHehl and @Kane610
-
2 integrations reached bronze 🥉
- iAquaLink, thanks to @flz
- WaterFurnace, thanks to @sdague and @masterkoppa
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:
- PJLink, done by @jtjart
- Pico TTS, done by @rrooggiieerr
Farewell to the following
The following integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] is also no longer available as of this release:
- LANnouncer has been removed. The companion Android app is no longer available, which made the integration impossible to install or use. It was deprecated in Home Assistant 2025.10 and is now removed. If you were still using it, you’ll need to look for an alternative notification integration.
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes:
- Mobile app notifications are now entities. The Mobile app integration now exposes a notificationYou can use notifications to send messages, pictures, and more, to devices. [Learn more] entity for each of your devices, on top of the existing notify actions. That means you can group your phones and tablets together using the regular group helper right from the user interface, and send a single notification to all of them at once. No YAML, no scripting, no scrolling through a list of targets. Thanks, @tr4nt0r! 📱
- A search bar on the integration detail page. Integrations with a lot of devices and entries (think Z-Wave, Zigbee, or your sprawling pile of ESPHome devices) now have a search bar at the top, matching across entry titles, device names, manufacturers, models, and areas. 🔍
- Dashboard visibility conditions can now refer to the card’s own entity. State and numeric state visibility conditions get a new Current entity option that automatically follows whichever entity the card is bound to. No more re-typing entity IDs, and your card stays reusable.
- Dashboard visibility conditions now support attributes. State and numeric state visibility conditions on cards can now check an entity attribute instead of just the state, catching up with their automation counterparts.
- Reload your shell commands without restarting. A new reload action lets you re-read your Shell command YAML configuration on the fly. One less reason to restart Home Assistant. Thanks, @potelux!
- Template vacuums learned about rooms. Vacuums you build with the Template integration can now expose their segments (rooms) and a
clean_segmentaction, plugging straight into the new Clean by area view. 🧹 Thanks, @gustavakerstrom! - More unit love for sensors. Frequency sensors now support millihertz (mHz) through gigahertz (GHz) with automatic conversion between them, and electric current sensors gained microamperes (µA). Thanks, @32u-nd, @Lamarqe, and @Phunkafizer!
A modern more-info dialog for vacuums and lawn mowers
When you tap on an entity in your dashboard, the more-info dialog that pops up is one of the most-used surfaces in Home Assistant. This release, two of them get a fresh new look: vacuums and lawn mowers. 🧹🌱
The redesigned vacuum dialog leads with a friendly new illustration of your vacuum that comes to life with state-driven animations: it spins while cleaning, glides home while returning, sits quietly when docked, and shakes when something’s wrong. Battery moved up into the header where you can spot it at a glance, and the action buttons (start, pause, return to dock) are now lined up in a single, consistent row.
The biggest functional addition is a brand new Clean by area view. Many modern robot vacuums let you ask them to clean a specific room, but until now, there was no built-in way to do that from the dialog. You can now map your Home Assistant areasAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room. [Learn more] to the rooms your vacuum knows about, and start a cleaning job for one or more areas right from the dialog. If you haven’t set up a mapping yet, the dialog walks you through it with a friendly empty state.
Lawn mowers got the same love. The redesigned lawn mower dialog brings the same fresh illustration with state-driven animations (mowing, returning, docked, error), the same battery-in-the-header layout, and the same unified action button row. Whether your robot is busy on the carpet or busy on the lawn, the experience now feels the same.
This work delivers on two Open Home Foundation roadmap opportunities: refined more info screen for vacuum cleaners and refining the more info screen for lawn mowers. Two roadmap items, one redesign. ✅
New styling for toggles
Toggles across Home Assistant got a small but lovely makeover this release. Every toggle in the app has been updated with a fresh new design. 🎨
The refreshed toggles on an entities card.
It’s not just a fresh coat of paint either: the new toggle is fully keyboard-friendly. Tab to it, then use the arrow keys to flip it on or off without ever touching the mouse. Small change, big quality-of-life upgrade. ⌨️
The templating documentation you’ve always wanted
First, the most important thing to say up front: you do not need to write code or touch a single template to use Home Assistant. Everything from setting up your devices, to building automations and crafting beautiful dashboards, can be done entirely through the user interface, and it gets better every release. If the interface does what you need, you’re done. 💚
That said, templating is one of the most powerful corners of Home Assistant for the people who do want to go a step further: dynamic notifications that read the actual temperature, automations that decide based on a calculation across several entities, template entities whose value is computed from other entities. And it has long been one of the most intimidating corners too. So we shipped a top-to-bottom rework of the templating documentation, with one goal: if you have ever felt that templates were “not for you”, we want to change that. 📚✨
If you decide to learn templating, we are now confident we have everything in place to take you all the way:
- 14 brand new learning pages walk you through templating step by step, from what is a template? and where to use templates, through syntax, loops and conditions, working with states, types and conversion, dates and times, common patterns, and debugging, all the way to writing your own custom templates and macros.
- Two full tutorials build something real you can use: a daily low-battery notification, and an average home temperature sensor you can drop straight onto your dashboard.
- Every one of the 200+ “template functions”A template function is called by name with parentheses, like states(“sensor.temperature”) or now(). It takes input values as arguments and returns a result. [Learn more], “filters”A template filter transforms a value using the pipe (|) operator. It takes the value on the left and returns a modified result. For example, states(“sensor.temperature”) | float converts the state to a number. [Learn more], and “tests”A template test checks a condition using the “is” keyword and returns true or false. For example, value is number checks if a value is a number. [Learn more] has its own page, with a plain-language intro, parameters, examples that show the exact output they produce, common gotchas, and links to related functions. All searchable through a single template functions reference that lists them all.
- A dedicated error messages page lists common template errors verbatim, so when something breaks late at night you can paste the error into a search engine and land somewhere that actually helps.
There’s a quality-of-life upgrade across the entire website too: templates in code blocks are now interactive. Hover over a function name to see its description, select it to jump to the reference page, hover over a parameter for a quick reminder of what it does. Examples render with the input on top and the actual output right below, so you never have to guess what a template will produce.
Skip it, skim it, or master it. Either way, we’ve got your back. And this is just the beginning: we’ve expanded our documentation team and are investing heavily in making all of our documentation more approachable. So expect more reworks, more tutorials, and more friendly-but-thorough guides in releases to come. 💪
Smarter code editors with autocomplete
The rework didn’t stop at the documentation. While building it, it became painfully clear that even with great docs, writing a template still meant flipping back and forth between tabs. So the code editors you find throughout Home Assistant, the ones you use to write a template or fine-tune an automation, got a serious upgrade this release too. They now offer rich, context-aware autocomplete for both YAML and Jinja2 templates. ✨
Start typing inside a {{ ... }} or {% ... %} block, and the editor now suggests Home Assistant’s template functions, filters, tests, and globals. Each suggestion comes with a short signature, a description, and tab-stops for the arguments, so you can fly through writing a template without keeping the template documentation open in another tab.
It gets even better inside the string arguments of those functions. The editor knows what kind of ID a function expects and offers matching suggestions:
- Entity IDs for functions like
states(),is_state(), andstate_attr(), including thestates["..."]shorthand. - Device IDs for
device_entities(),device_name(), anddevice_attr(), showing the device’s friendly name with the raw ID as the inserted value. - Area IDs for
area_entities(),area_devices(), andarea_name(). - Floor IDs for
floor_areas(),floor_entities(), andfloor_name(). - Label IDs for
label_areas(),label_devices(), andlabel_entities().
No more copy-pasting entity IDs from the developer tools, and no more typos sneaking into your templates. Less friction, fewer mistakes. 🎯
And it’s not just autocomplete. Hover over anything in your template and the editor has something useful to say. Functions, filters, and tests get a small tooltip with their signature, what they do, and a direct link to the full documentation page. Entity IDs and attributes show their current value right where you’re typing, so you instantly see whether your template is reading what you think it is. 🔍
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.
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:
Purpose-specific triggers and conditions
When we first introduced purpose-specific triggers and conditions, we added separate ones for Person entities and Device Tracker entities. Since then, we’ve decided to take a more ergonomic, cross-domain approach instead.
As a result, the entered home and left home triggers, and the is home and is not home conditions, have been removed from Person and Device Tracker. Replacements that work across both will land in an upcoming release.
If you have automations that use these triggers or conditions on a person or device tracker, switch them back to a regular state trigger or state condition (for example, state changed to home) until the cross-domain replacements arrive.
(@emontnemery - #168406)
Gardena Bluetooth
The “finish watering” value in the Gardena Bluetooth integration has been moved from a binary sensor to a regular sensor that exposes the timestamp of when watering is expected to finish. This makes the value far more useful in dashboards and automations.
If you have automations, scripts, or dashboards that reference the previous binary sensor entity, update them to use the new sensor entity instead.
pilight
The pilight integration has been disabled because the underlying pilight library relies on setuptools.pkg_resources, which is no longer available in setuptools 82.0.0 and later.
If the library is updated to remove the setuptools.pkg_resources dependency, or replaced with a maintained alternative that does so, the integration can be activated again. Community contributions to make this happen are very welcome.
Ring
The Ring doorbell event entity now emits the standardized ring event type instead of the legacy ding. This change aligns Ring with the new doorbell event standard, so the entity can be used seamlessly with the new purpose-specific automation triggers and conditions.
If you have automations that listen for the ding event type from your Ring doorbell, update them to use ring instead.
Supervisor
Previously, all actions registered by the Supervisor integration (such as hassio.addon_start, hassio.backup_partial, and hassio.host_reboot) only logged an error on failure, and your script or automation would continue running regardless of whether the action succeeded.
These actions now properly raise on failure, which means your automation or script will stop unless continue_on_error is set to true. If you rely on the previous behavior, add continue_on_error: true to those action steps.
Webhook
The local_only option on webhooks must now be a proper boolean (true or false). Previously, other truthy values like 1 or "yes" were silently accepted. This brings the option in line with the rest of Home Assistant.
If you have webhooks configured in YAML with non-boolean local_only values, update them to use true or false.
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:
- Deprecation of legacy device tracker platform API
- Entity IDs with mismatched domains are deprecated
- Frontend component updates in 2026.5
- Frontend context groups, new context decorators and deprecated contexts
- Migrating app builds to Docker BuildKit
- New radio frequency entity platform for RF device integrations
- Registering custom dashboard strategies
- Serious about serial: migrating from pyserial to serialx
- Standard event type for doorbell event entities
Patch releases
We will also release patch releases for Home Assistant 2026.5 in May. These patch releases only contain bug fixes. Our goal is to release a patch release once a week, aiming for Friday.
2026.5.1 - May 8
- Added wfsens as a occupancy source in wiz (@th3spis - #166799)
- Fix WiZ Light config flow timeout by properly closing UDP connections (@robwasripped - #168456)
- Fix IntelliFire setup recovery (@jeeftor - #169739)
- Fix hassio auth IndexError on Supervisor Unix socket requests (@agners - #169911)
- Update gardena ble to 2.8.1 (@elupus - #169914)
- Bump serialx to 1.7.1 (@puddly - #169928)
- Bump holidays to 0.96 (@gjohansson-ST - #169939)
- Add support for options to todo triggers (@emontnemery - #169947)
- Bump pyTibber to 0.37.5 (@Danielhiversen - #169981)
- Bump python-duco-client to 0.4.0 (@ronaldvdmeer - #169776)
- Bump python-duco-client to 0.4.1 (@ronaldvdmeer - #169991)
- Proper handling of malformed data during FRITZ!Box Tools setup (@mib1185 - #170030)
- Fix websocket certificate verification Bump axis to v70 (@Kane610 - #170038)
- Fix
is_closedstate for DynamicGarageDoor in Overkiz (@iMicknl - #170052) - Fix tilt controls for TiltOnlyVenetianBlind in Overkiz (@iMicknl - #170055)
- Fix cover controls for UpDownBioclimaticPergola in Overkiz (@iMicknl - #170058)
- Bump pyOverkiz to 1.20.3 (@iMicknl - #170060)
- Bump deebot-client to 18.3.0 (@edenhaus - #170066)
- Set
is_closedstate toNonewhen a cover state returns “unknown” in Overkiz (@iMicknl - #170081) - Fix sensors getting wrong unit from MeasuredValueType attribute in Overkiz (@iMicknl - #170088)
- Fix Z-Wave discovery crash with unknown node firmware version (@TheJulianJES - #170090)
- Bump ZHA to 1.3.1 (@TheJulianJES - #170095)
- Bump python-bsblan to 5.2.1 (@liudger - #170100)
- Bump blebox_uniapi to v2.5.3 (@bkobus-bbx - #170115)
- Fix is_closed state for DynamicGate covers in Overkiz (@iMicknl - #170130)
- Fix tilt support for UpDownVenetianBlind (rts:VenetianBlindRTSComponent) in Overkiz (@iMicknl - #170047)
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.5.
Synology® introduceert officieel AI Advisor voor nauwkeurige, betrouwbare informatieontdekking
BEGA joins Works with Home Assistant
How do you more or less double the number of Works with Home Assistant-certified devices available to our community? Have BEGA join the program! This German firm has spent more than 75 years designing a wide range of architectural lighting that sets the industry standard: and now they’re bringing that expertise to your smart home.
Bright BEGA-nnings
If you haven’t heard of BEGA before, you may have admired their work without realizing it. That’s because they produce the kind of beautifully engineered fixtures you see gracing the facades of fancy hotels, elegant public buildings, and stylish modern homes worldwide. They’re probably better known for this kind of work than for smart home tech, which is precisely what makes their joining the Works with Home Assistant program so exciting.
Because BEGA aren’t just dipping a toe in: they’re bringing what’s almost certainly the largest single addition of certified devices we’ve ever had in one go: enough to very nearly double the number of certified products in the program! And it’s not just the volume that impresses. BEGA Smart – their Zigbee-powered smart lighting system – is flexible, expandable, and designed to work entirely offline, with no internet connection required.
BEGA: putting the smart into smart home lighting.
"With BEGA Smart, we aim to combine high-quality architectural lighting with intelligent control. Integrating with Home Assistant allows us to bring our lighting solutions into an open and flexible smart home ecosystem that many of our customers already value. By doing so, we enhance comfort, safety, and energy efficiency while enabling new ways to experience light. We're excited to support the community and be part of this ecosystem."
- Heinrich Gantenbrink, Managing Partner at BEGABeyond beautiful design
BEGA’s premium positioning isn’t only about aesthetics. Their commitment to repairability also aligns well with the Open Home Foundation’s sustainability principles. Rather than treating a luminaire as a disposable unit, BEGA designs the majority of their components to be replaceable. Crack a glass panel? You can order that specific spare via their website’s search function and replace it, rather than throwing out the whole fixture.
This also makes BEGA an interesting choice if you’re thinking about illuminating your outdoor spaces. We have relatively few outdoor lighting options in the program, and BEGA fills that gap in style – just in time if you’re looking to get your garden or terrace ready for summer 😎.
Let there (Zig)bee light
We mentioned BEGA Smart runs on Zigbee, but if that’s new to you, here’s what it means. Zigbee is basically a short-range wireless communication standard: like Wi-Fi, but designed specifically for smart home devices. Unlike Wi-Fi however, it’s an open standard, so isn’t run by one specific company, and connects directly to Home Assistant without needing a router or internet connection. It’s also a mesh protocol, which means the more devices you add to your network, the stronger and more reliable it gets – handy for lighting that’s spread across your home and garden.
And on that subject, if you want to dim the patio lights from your sofa, or check they’re off while you’re away, Home Assistant Cloud can help – providing secure remote access wherever you are (your subscription helps fund the Works with Home Assistant program too!).
The path to enlightenment, with BEGA devices.
Devices
As with every Works with Home Assistant partner, our in-house team has thoroughly tested BEGA’s devices to make sure they meet our core requirements: local control, privacy, and long-term sustainability.
Because the list of certified BEGA devices is so long, we’ve included a condensed list below (there’s not enough room for them all here without subjecting you to a loooonnnnnng scroll! 😄). Bear in mind, when you browse BEGA’s website, look for devices marked as BEGA Smart. This tells you the item is Zigbee enabled and Works with Home Assistant certified. Worth knowing, since each luminaire also comes in other variants, such as DALI or non-smart versions, which are not certified under the program.
BEGA Smart covers a swathe of indoor and outdoor luminaires, with wall or ceiling mounted options, as well as freestanding garden path lighting to illuminate those balmy summer evenings.
- BEGA Smart Outdoor Ceiling luminaire (two variants)
- BEGA Smart Indoor Ceiling luminaire (nine variants)
- BEGA Smart Wall Outdoor Luminaire (10 variants)
- BEGA Smart Outdoor Garden and pathway luminaire (79 variants)
- BEGA Smart Indoor Ceiling and wall luminaire (two variants)
- BEGA Smart Indoor table lamp (three variants)
- BEGA Smart Outdoor Ceiling and wall luminaire (35 variants)
- BEGA Smart Outdoor PRIMA wall luminaire (eight variants)
- BEGA Smart Outdoor PRIMA ceiling and wall luminaire (eight variants)
- BEGA Smart Outdoor PRIMA ceiling mounted downlight (eight variants)
For the full list of certified BEGA devices, see our filtered device list.
Dazzled by choice
With BEGA on board, Home Assistant users have more choice than ever when it comes to quality lighting, inside and out. Ready to explore the full range? Head over to our certified device list to be illuminated about everything that’s been approved from BEGA and beyond. The future of your smart home is looking bright 💡.
FAQs
If I have a device that is not listed under “Works with Home Assistant” does this mean it’s not supported?
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.
OK, so what’s the point of the Works with program?
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 cloud and that they will continue to do so long-term.
How were these devices tested?
All devices in this list were tested using a standard Home Assistant Green Hub with the Home Assistant Connect ZBT-2 and with our Zigbee integration (ZHA). If you have another hub/antenna setup/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.
Will you be adding more BEGA devices to the program?
Why not! We’re thrilled to foster a close relationship with the team at BEGA to work together on any upcoming releases or add in further products that are not yet listed here.
v25.12.3
Hi,
The OpenWrt community is proud to announce the third service release of the OpenWrt 25.12 stable series.
Download firmware images using the OpenWrt Firmware Selector:
Download firmware images directly from our download servers:
Main changes between OpenWrt 25.12.2 and OpenWrt 25.12.3
Only the main changes are listed below. See the full changelog for details.
Security fixes
- Linux kernel: fixes CVE-2026-31431 ("Copy Fail"). In earlier releases this only affected users on the starfive target and users who had installed kmod-crypto-user.
- mbedtls: update to 3.6.6 (multiple CVE fixes)
- OpenSSL: update to 3.5.6 (multiple CVE fixes)
- wolfSSL: update to 5.9.1 (multiple CVE fixes)
Device support
New devices supported in 25.12.3:
- mediatek: filogic: ASUS RT-AX52 PRO
- mediatek: filogic: D-Link AQUILA PRO AI E30
- mediatek: filogic: Huasifei WH3000 Pro (NAND variant)
- mediatek: filogic: Keenetic KAP-630 / Netcraze NAP-630
- mediatek: filogic: Zbtlink ZBT-Z8106AX-T
- mediatek: filogic: Zyxel WX5600-T0
- ramips: mt7621: EDUP EP-RT2983
- ramips: mt76x8: Cudy LT300 v3
- x86: DFI ADN553
- x86: DFI ASL553
Device fixes:
- ath79: Netgear WNDAP360: multiple fixes restoring proper operation (sysupgrade, kernel loader, ethernet, LED, serial baud rate and U-Boot environment)
- ath79: Extreme Networks WS-AP3805i: fix U-Boot environment configuration
- ath79: Mikrotik: fix included device packages
- ipq50xx: Linksys MX5500: add label MAC device assignment
- lantiq: Netgear DGN3500: fix U-Boot environment size — device was broken on 25.12 (#22692)
- mediatek: filogic: Bananapi BPI-R4: add device tree overlay for the BE14 WiFi 7 module — fixes very low WiFi TX power on this module (#17489)
- mediatek: filogic: Keenetic KN-1812: various Ethernet PHY device tree fixes (PHY reset, interrupt support, MDIO drive strength, partition naming, xsphy node)
- mediatek: filogic: Netgear EAX17: fix rootfs hash in FIT node for per-device rootfs builds
- mediatek: filogic: CMCC RAX3000M: add Airoha AN8855 switch support (#21230)
- mediatek: filogic: Zbtlink ZBT-Z8103AX-D: enable NMBM on the SPI-NAND flash
- mvebu: ClearFog Base/Pro: fix switch kernel module
- qualcommax: ipq50xx: Xiaomi AX6000: enable PCIe1 for QCA9887
- qualcommax: ipq807x: Linksys MX5300: add label MAC assignment
- ramips: Yuncore CPE200: fix EEPROM size
- ramips: mt7621: fix reset hang
- ramips: Wavlink WL-WN575A3: fix EEPROM size for 5 GHz WiFi
- ramips: Xiaomi Mi Router 4C: fix WAN LED GPIO (#18578)
WiFi fixes and improvements
- wifi-scripts: fix incorrect
erp_domainandfils_cache_idvalues generated by the ucode-based config script (#21768) - wifi-scripts: add missing
bridge_isolateandnetwork_vlanfields to the ucode schema (#22620) - wifi-scripts: add missing
ifaceand other fields to the ucode station/vlan schema (#22165) - wifi-scripts: add EHT (WiFi 7) rates to
set_fixed_freq
Networking and system fixes
- mbedtls: backport upstream patches to fix TLS 1.2 client issues — fixes a regression that broke DDNS updates and other TLS 1.2 client connections; the regression was introduced in mbedtls package updates shipped after the 25.12.2 release (#22874)
- base-files: sysupgrade: fix
-uoption (skip default configuration) which was broken with apk - base-files: sysupgrade: fix
-f(custom backup) when the path contains spaces - base-files: sysupgrade: update backup exclusion list
- base-files: use
DISKSEQinstead of MAJOR/MINOR for stable disk identification (MAJOR/MINOR are not sequential) - lantiq: fix mtdparsers refcount and memory leak
- uqmi / umbim: introduce
devpathoption for selecting cellular modems by USB device path - kernel: add
kmod-vsockandkmod-vsock-virtiofor VM guests (vsock communication)
Core component updates
- Linux kernel: update from 6.12.74 to 6.12.85
- ca-certificates: update from 20250419 to 20260223
- linux-firmware: update from 20251125 to 20260221
- mbedtls: update from 3.6.5 to 3.6.6 (security fixes)
- OpenSSL: update from 3.5.5 to 3.5.6 (security fixes)
- wireless-regdb: update from 2026.02.04 to 2026.03.18
- wolfSSL: update from 5.8.4 to 5.9.1 (security fixes)
- xdp-tools: update from 1.4.3 to 1.6.3
Upgrading to 25.12.3
Upgrading from 24.10 to 25.12 should be transparent on most devices, as most configuration data has either remained the same or will be translated correctly on first boot by the package init scripts.
For upgrades within the OpenWrt 25.12 stable series, Attended Sysupgrade is also supported, which allows preserving the installed packages.
-
Sysupgrade from 23.05 or earlier to 25.12 is not officially supported.
-
Cron log level was fixed in busybox.
system.@system[0].cronloglevelshould be set to7for normal logging.7is the default now. If this option is not set, the default is used and no manual action is needed. fc0c518 -
Bananapi BPI-R4: Interface
eth1was renamed tosfp-lanorlan4, and interfaceeth2was renamed tosfp-wanto match the labels. You have to upgrade without saving the configuration. cd8dcfe -
TP-Link RE355 v1, RE450 v1 and RE450 v2: The partition layout and block size changed in this release to fix configuration loss on sysupgrade. Users upgrading from OpenWrt 25.12.0 or earlier must use
sysupgrade -Fto force the upgrade. The image must not exceed 5.875 MB (6016 KiB). -
Meraki MX60: Direct sysupgrade to 25.12.3 is not possible without manual preparation —
meraki_loadaddrmust be changed before upgrading, as the default value is insufficient to boot OpenWrt 25.12+. See the device wiki page for instructions.
Known issues
- Zyxel EX5601-T0: the WAN interface was renamed from
eth1towan— check and update your network configuration after upgrading. - Pixel 10 phones have problems connecting to WPA3-protected WiFi 6 APs. #21486
- 802.11r Fast Transition (FT) causes connection problems with some WiFi clients when WPA3 is used. #22200
- SQM CAKE MQ (
cake_mq): throughput may be unexpectedly low on some configurations after the scheduler fixes in this release. #22344
Full release notes and upgrade instructions are available at
https://openwrt.org/releases/25.12/notes-25.12.3
In particular, make sure to read the known issues before upgrading:
https://openwrt.org/releases/25.12/notes-25.12.3#known_issues
For a detailed list of all changes, refer to
https://openwrt.org/releases/25.12/changelog-25.12.3
To download the 25.12.3 images, navigate to:
https://downloads.openwrt.org/releases/25.12.3/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=25.12.3
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:
-
a low-volume mailing list for important announcements:
https://lists.openwrt.org/mailman/listinfo/openwrt-announce -
a dedicated "announcements" section in the forum:
https://forum.openwrt.org/c/announcements/14 -
other announcement channels (such as RSS feeds) might be added in
the future, they will be listed at https://openwrt.org/contact
QNAP onthult QAI-h1290FX: Een baanbrekende Edge AI Opslag server voor private LLM- en generatieve AI-workloads
NVIDIA Driver 596.36
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 Conan Exiles Enhanced
This new Game Ready Driver provides the best gaming experience for the latest new games supporting DLSS 4.5 technology including Conan Exiles Enhanced.
Gaming Technology
- Adds support for the GeForce RTX 5070 Laptop GPU (12GB)
Fixed Gaming Bugs
- God of War: Ragnarok: Certain textures may intermittently flash white during gameplay. [5856704]
- Assassins Creed Shadows: Flickering on character model clothing [5987951]
- The Crew Motorfest: Grass and vegetation flickering [5950261]
Fixed General Bugs
- Blocky artifacts when playing back H.264 content with DXVA 2.0 [6058551]
- Blender 5.0.1 EEVEE: Non-shader nodes connected to the material output rendered as black (zero value) [5965763]
Learn more in our Game Ready Driver article here.

ubisys joins Works with Home Assistant
We’re thrilled to welcome ubisys to Works with Home Assistant! This German company has been dedicated to smart home automation for more than 20 years, and offers a range of Zigbee devices designed to help you retrofit your home. If retrofitting is conjuring up images of avocado bathrooms 🥑 and artexed ceilings, fear not – it just means upgrading what you already have, rather than ripping it out and starting again. Better for your home, and the planet 🌍.
Here today, here tomorrow
Founded in Düsseldorf in 2005, ubisys build devices that last. They back their hardware with a five-year warranty and software updates for the long term, meaning the device you buy today won’t end up obsolete in a few years’ time – in fact, they’re still shipping feature updates for hardware designed in 2010! That kind of longevity aligns closely with the Open Home Foundation’s own sustainability principle, and is just one reason why they’re such a great (retro)fit for the program! Zigbee is another…
Zigbee to the bone
If you’re scratching your head at the mention of Zigbee, allow me to explain: it’s a wireless standard that lets smart home devices communicate with each other, regardless of who made them. Unlike WiFi, it’s a mesh network, meaning Zigbee devices “talk” to each other, as well as to a central hub (like your Home Assistant setup), strengthening the connection across your whole home. It runs entirely locally, with no cloud dependency, and is optimized for long battery life.
For retrofit devices that need to just get on with their jobs in the background, these qualities really count, and explains why ubisys refer to Zigbee as the backbone of everything they build. And they don’t just use the standard, they help shape it: ubisys are active members of the Connectivity Standards Alliance (the organization responsible for maintaining and developing Zigbee), sitting on working groups and committees at the highest level – helping improve the standard for the benefit of the whole community. This commitment to open standards runs through everything ubisys do:
"We are convinced the future of smart homes lies in openness and robust interoperability. This partnership is a testament to that shared vision, and represents a significant step in deepening our integration with Home Assistant -- helping empower the most vibrant, tight-knit community in the smart home space. This community is the true engine of innovation. By achieving this certification, we're ensuring our devices integrate more seamlessly than ever into Home Assistant's robust ecosystem, providing the reliability and performance this community expects and deserves. We look forward to supporting the brilliant, custom solutions they will build."
- Dr.-Ing Arasch Honarbacht, Founder & Engineering LeadDevices
Every device in the Works with Home Assistant program is put through its paces by our in-house team before it earns certification, so when you see the badge, you know it works. But that’s not all: every partner must also commit to providing long-term support and firmware updates, and engaging with our community – all things we’re confident ubisys will deliver, for the reasons outlined above! 👆
These are the first Works with Home Assistant-certified Zigbee devices designed to fit behind your existing wall fixtures. Together they cover switch and scene control, energy monitoring, and heating:
- ubisys Control Unit C4 (Series 2)
- ubisys Heating Regulator H1
- ubisys Switching Actuator S1
- ubisys Switching Actuator S1-R (Series 2)
- ubisys Switching Actuator S2
It’s important to note that the actuators and control unit involve mains electricity, so must be installed by a qualified electrician: check the ubisys website for guidance. The H1 is more straightforward, since it simply clips onto your existing radiator valve and runs on AA batteries.
Ready to retrofit?
To use these devices with Home Assistant, you need a Zigbee adapter (a USB dongle that allows everything to communicate), and to enable Home Assistant’s built-in Zigbee Home Automation (ZHA) integration, which takes care of the rest. ZHA is supported by the Open Home Foundation, with full-time developers dedicated to working on it and helping certify new Works with Home Assistant Zigbee devices.
If you’d like to support this work, a Home Assistant Cloud subscription helps fund ZHA and the wider Open Home Foundation mission – all while giving you secure, remote access to your smart home.
We hope ubisys’s inclusion in the program means more Home Assistant users can upgrade their smart homes without starting from scratch – and with our certified device list growing all the time, there’s never been more ways to build the way you want. We look forward to seeing what you get up to! 👀
Frequently asked questions
If I have a device that is not listed under Works with Home Assistant, does this mean it’s not supported?
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.
OK, so what’s the point of the Works with program?
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 cloud, and that they will continue to do so long-term.
How were these devices tested?
All devices in this list were tested using a standard Home Assistant Green as a hub with the Home Assistant Connect ZBT-2, and with ZHA, our Zigbee integration. If you have another hub/antennae set-up/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.
Will you be adding more ubisys devices to the program?
Why not! We’re thrilled to foster a close relationship with the team at ubisys to work together on any upcoming releases or add in further products that are not yet listed here.
Where can I see what other devices have been certified?
You can find every Works with Home Assistant device on our certified device list. All products included have been rigorously tested by our team, and are built with privacy and local control at their core by partners committed to long-term support. We also flag which regions they are available in, and any known limitations on the list so you can make a fully informed decision before you buy.
NVIDIA Driver 596.21
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 PRAGMATA
This new Game Ready Driver provides the best gaming experience for the latest new games supporting DLSS 4.5 technology including PRAGMATA and NTE (Neverness to Everness) as well as Windrose which supports DLSS 4 features.
Fixed Gaming Bugs
- Arknights: Endfield: stutter may be observed in some gameplay [5950402]
Fixed General Bugs
- N/A
Learn more in our Game Ready Driver article here.

QNAP lanceert HDP Recovery Media Creator: Bouw Windows® Disaster Recovery Media in USB- en ISO-formaten
Synology kondigt een nieuwe privacygerichte thuisbewakingservaring aan voor BeeStation Plus
2026.4: Infrared never left the chat
Home Assistant 2026.4! 🎉
I’ll be honest: when I first heard the pitch for infrared support in Home Assistant, I wasn’t exactly jumping out of my chair. Infrared? That’s old tech! But that’s exactly the point. Think about how many TVs, air conditioners, and other appliances sitting in your home right now have an infrared receiver but no smart features whatsoever. With this release, all of those devices can get a smart future, showing up as actual, controllable devices in Home Assistant. Turns out, old tech can learn some very new tricks. 📡
Our purpose-specific automation triggers and conditions are back with a whole metric ton of new triggers and conditions! This effort, currently available through Home Assistant Labs, is now almost feature complete. If you haven’t tried it yet, please give it a shot; I’m really looking forward to your feedback. 🧠
There’s also plenty of fun stuff: background colors for dashboard sections, favorites on your dashboard cards, full Matter lock management with PIN codes, and you can now see what your AI-powered Assist is thinking while it processes your requests. Plus 14 new integrations! 🚀
Oh! And don’t forget: State of the Open Home 2026 is happening on April 8 in Utrecht, the Netherlands! Come celebrate everything we’ve built together in person. Tickets are limited, so grab yours while you can! 🎟️
Enjoy the release!
../Frenck
- Infrared becoming a first-class citizen of Home Assistant
- Purpose-specific automation triggers & conditions
- Background color for your dashboard sections
- Matter lock manager
- Integrations
- Other noteworthy changes
- Need help? Join the community
- Disclosed security advisories
- Backward-incompatible changes
- Patch releases
- All changes
A huge thank you to all the contributors who made this release possible! And a special shout-out to @arturpragacz and @piitaya who helped write the release notes this release. Also, @mib1185, @missyquarry, @RaHehl, @CoMPaTech, @mikeodr, @silamon, and @tronikos for putting effort into tweaking its contents. Thanks to them, these release notes are in great shape. ❤️
Infrared becoming a first-class citizen of Home Assistant
This release introduces native infrared support in Home Assistant, opening the door to controlling a massive range of devices that were previously out of reach. Think about all those TVs, air conditioners, fans, sound bars, and other appliances sitting in your home that still rely on their little infrared remote. With this update, Home Assistant can now talk to them. 📡
You might already be familiar with how Bluetooth proxies transformed Bluetooth in Home Assistant, making it possible to reach Bluetooth devices anywhere in your home through relatively inexpensive ESPHome devices. We’re doing the same thing for infrared. With the new Infrared integration, Home Assistant now supports infrared proxies: small ESPHome-powered devices with an IR transmitter that can send infrared commands on behalf of Home Assistant. This means Home Assistant can now control any device that responds to an infrared remote, as long as there’s an integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] that knows how to speak that device’s protocol.
The first integration to take advantage of this is the LG Infrared integration, which lets you control LG TVs from Home Assistant. It creates a media player entity with support for power, volume, channel control, and playback commands, plus button entities for all the common remote functions like input selection and navigation. Since infrared is one-way by nature, the integration uses assumed states for now, but it works remarkably well for day-to-day use.
Get started in just a few steps
Want to try it out? The quickest way to get started is with the Seeed Studio XIAO IR Mate. Head over to the ESPHome Ready-Made Projects page, connect the device to your computer, and flash it right from your browser. Once it’s set up and added to Home Assistant, you’ll have a working infrared proxy ready to go. Point it at your LG TV, set up the LG Infrared integration, and you’re controlling your TV from Home Assistant! 🎉
Why this matters
This is more than just a fun new feature. Bringing infrared support to Home Assistant aligns with the values of the Open Home Foundation, and especially sustainability. 🌱 There are millions of perfectly good appliances out there that aren’t “smart” but do have an infrared receiver. Instead of replacing them with newer connected versions, you can now integrate them into your smart home using a simple, relatively inexpensive IR transmitter. It’s a great way to extend the life of existing devices and reduce electronic waste. ♻️
We’re excited to see where this goes. The infrared support is designed to work with any IR protocol, and we’re looking forward to seeing integrations for more brands and device types. This is just the beginning!
Purpose-specific automation triggers & conditions
Since Home Assistant 2025.12, we’ve been working on making automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] building more natural. Instead of thinking in technical terms like entityAn 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] states and numeric thresholds, you can now pick things like “When a light turns on” or “If the climate is heating”. Each release since has added more, and this release brings the biggest batch yet.
But this release also brings something fundamentally new to the table: cross-domain triggers and conditions.
And yes, while this is still a Home Assistant Labs feature, we encourage you to give it a spin.
Thinking in real-world concepts, not technical domains
Up until now, every triggerA trigger is a set of values or conditions of a platform that are defined to cause an automation to run. [Learn more] and conditionConditions are an optional part of an automation that will prevent an action from firing if they are not met. [Learn more] was tied to a specific entity type. Want to know if a door opened? That used to depend on whether your door was represented as a magnetic contact sensor (a binary sensorA binary sensor returns information about things that only have two states - such as on or off. [Learn more]), a motorized door such as a garage door (a coverCovers are devices such as blinds, garage doors, etc that can be opened and closed and optionally set to a specific position. [Learn more] entity), or something else entirely. You had to know the technical difference and pick the right one.
But that’s not how we think about our homes. We think in terms of doors, windows, motion, temperature, and humidity. These are real-world concepts that can be represented by different entity types in Home Assistant.
This release introduces triggersA trigger is a set of values or conditions of a platform that are defined to cause an automation to run. [Learn more] and conditionsConditions are an optional part of an automation that will prevent an action from firing if they are not met. [Learn more] that work across entity types and are organized by what they mean, not where they live technically. A “door opened” trigger now responds to any door entity, whether it’s a contact sensor or a motorized cover. A “temperature changed” trigger picks up readings from temperature sensors, climateThe Climate entity allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats. [Learn more] devicesA device is a model representing a physical or logical unit that contains entities., and water heaters alike. You no longer need to know the technical details behind the scenes.
And just like the purpose-specific triggers you already know, these new cross-domain triggers and conditions fully support targeting by areaAn area in Home Assistant is a logical grouping of devices and entities that are meant to match areas (or rooms) in the physical world: your home. For example, the living room area groups devices and entities in your living room. [Learn more], floorA floor in Home Assistant is a logical grouping of areas that are meant to match the physical floors in your home. Devices & entities are not assigned to floors but to areas. Floors can be used in automations and scripts as a target for actions. For example, to turn off all the lights on the downstairs floor when you go to bed. [Learn more], or labelLabels in Home Assistant allow grouping elements irrespective of their physical location or type. Labels can be assigned to areas, devices, entities, automations, scenes, scripts, and helpers. Labels can be used in automations and scripts as a target for actions. Labels can also be used to filter data. [Learn more]. That means you can create a trigger like “When a window on the upstairs floor is opened” without listing every single window. Add a new window sensor up there, and it’s automatically included.
New cross-domain triggers and conditions
The following new triggers and conditions now work across entity types. For each of these, you get both a trigger (“when” something happened) and a condition (“if” something is true), so you can use the same natural concepts throughout your automation:
- Door, garage door, gate, and window: trigger when they open or close, and check if they are currently open or closed (from both binary sensors and covers).
- Motion: trigger when motion is detected or cleared (across binary sensorA binary sensor returns information about things that only have two states - such as on or off. [Learn more] and “event entities”Events are signals that are emitted when something happens, for example, when a user presses a physical button like a doorbell or when a button on a remote control is pressed. [Learn more]).
- Occupancy: trigger when occupancy is detected or cleared, and check if a space is occupied.
- Temperature: trigger when the temperature changes or crosses a threshold (from temperature sensors, climate devices, and more).
- Humidity: trigger when humidity changes or crosses a threshold, and check if it’s above or below a value (from humidity sensors, climate devices, humidifiers, and weather entities).
- Illuminance: trigger when the light level changes or crosses a threshold, and check if it’s above or below a value.
- Power: trigger when power consumption changes or crosses a threshold, and check current values.
- Battery: trigger when the battery level is low or not low, when charging starts or stops, when the level changes, or when it crosses a threshold. Check if the battery level is above or below a threshold.
- Air quality: check for detected pollutants like CO, CO2, smoke, and more.
- Climate: check if the current or target temperature is above or below a threshold.
More triggers and conditions for existing domains
On top of the cross-domain additions, a lot of existing domainsEach integration in Home Assistant has a unique identifier: The domain. It is often shown as the first part (before the dot) of entity IDs. also gained new triggers and conditions:
- Counter gained triggers for when the counter is incremented, decremented, reset, or reaches its maximum or minimum value.
- Cover now has triggers and conditions for all cover types (blinds, shutters, shades, curtains, and awnings).
- Event entities now have a generic trigger that fires when any event is received.
- Humidifier now has a condition to check if the target humidity is above or below a threshold.
- Input boolean now works with switch triggers (and vice versa), because they behave identically.
- Input text now works with text triggers, just like text entities.
- Moisture now has triggers and conditions for when moisture is detected or cleared, when moisture values change, or when they cross a threshold.
- Remote gained turned on and turned off triggers.
- Schedule now has conditions to check if a schedule is active.
- Select gained triggers for when a selection changes and conditions to check if an option is selected.
- Text now has conditions.
- Temperature now has conditions to check if a temperature value is above or below a threshold.
- To-do list gained triggers for when an item is added, completed, or removed.
- Valve gained triggers for when a valve is opened or closed.
- Water heater gained both triggers and conditions, including an operation mode changed trigger.
Try it out!
Purpose-specific triggers and conditions are available as a preview feature in Home Assistant Labs. We’ve been building and refining this for over four releases now, and it’s getting really close to being feature complete. If you haven’t tried it yet, head over to Settings > System > Labs to enable it. We’d love your feedback!
Background color for your dashboard sections
Your dashboard sections can now have a background color! This is a great way to visually group related cards together, make certain sections stand out, or add a personal touch to your dashboard. 🤩
To add a background color to a section, open the section settings and turn on the Background toggle. From there, you can pick a color from a list of predefined options, or enter a custom hex color code. You can also adjust the opacity to get just the right look.
If you have sections side by side on the same row, sections without a background will automatically align with those that have one, keeping everything looking clean and tidy.
Matter lock manager
If you have a Matter-compatible smart lock, you can now manage your lock users and PIN codes directly from Home Assistant! 🔐
On the device page of your Matter lock, you’ll find a new Manage lock option. It opens a dialog where you can see all configured users, add new ones, edit existing ones, or remove them. When adding a new user, you give them a name, set a PIN code, and choose an access type: full access (can lock and unlock anytime) or one-time access (the code works once and is then automatically deleted by the lock).
Under the hood, this is powered by a new set of MatterMatter is an open-source standard that defines how to control smart home devices on a Wi-Fi or Thread network. [Learn more] lock actionsActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called sequence. [Learn more] that are also available for use in 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]. You can, for example, create a one-time PIN code for a guest and send it in a notification, all from an automation! The available actions include creating and removing users, setting and clearing credentials (like PIN codes and RFID tags), and querying the lock’s capabilities.
Thanks, @Ahbrown41, for this awesome contribution! 🙌
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:
-
Autoskope, added by @mcisk
Integrate your Autoskope vehicle tracking devices with Home Assistant. Track the GPS location of your vehicles and other assets through Autoskope’s cloud services. -
Casper Glow, added by @mikeodr - launching at 🥈 silver quality
Control your Casper Glow portable sleep light from Home Assistant over Bluetooth. Adjust brightness levels and incorporate this gentle-dimming sleep aid into your bedtime automations. -
Chess.com, added by @joostlek
Monitor your Chess.com chess statistics in Home Assistant, including your ratings and game data. -
Fresh-r, added by @SierraNL - launching at 🥈 silver quality
Monitor your Fresh-r ventilation devices in Home Assistant. Track indoor air quality, CO2 levels, and ventilation performance through the Fresh-r cloud dashboard. -
Infrared, added by @abmantis
A new entity platform that provides an abstraction layer for infrared transmitter devices, allowing integrations to send IR commands to control TVs, air conditioners, and other IR-controlled appliances. -
LG Infrared, added by @abmantis - launching at 🥈 silver quality
Control your LG TV using any infrared proxy configured in Home Assistant. Send commands over IR to manage power, volume, input sources, and more, using assumed states. -
Lichess, added by @aryanhasgithub
Monitor your Lichess chess statistics in Home Assistant. -
LoJack, added by @devinslick - launching at 🥈 silver quality
Connect your LoJack by Spireon vehicle tracking account to track the GPS location of your enrolled vehicles on the Home Assistant map. -
OpenDisplay, added by @g4bri3lDev
Control your OpenDisplay BLE e-paper displays from Home Assistant. Devices are automatically discovered via Bluetooth, and you can send images to the display. -
Qube Heat Pump, added by @MattieGit
Monitor your Qube heat pump in Home Assistant via Modbus TCP. Track energy performance and operational data from your heat pump on the local network. -
Solarman, added by @solarmanpv
Integrate your Solarman smart energy devices with Home Assistant over the local network. Monitor energy production, consumption, and control devices like smart plugs and meter readers in real time. -
TRMNL, added by @joostlek - launching at 🏆 platinum quality
Monitor your TRMNL e-paper (e-ink) displays in Home Assistant. Track battery levels and manage the display sleep schedule of your low-power e-ink devices. -
UniFi Access, added by @imhotep and @RaHehl - launching at 🥈 silver quality
Control and monitor your Ubiquiti UniFi Access system locally from Home Assistant. Manage locks, doors, and access readers with real-time status updates over the local network. -
WiiM, added by @Linkplay2020
Integrate your WiiM streamer devices with Home Assistant. Control playback, volume, and input sources on devices like the WiiM Pro and WiiM Amp, with automatic discovery via Zeroconf.
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 are also being constantly improved. Here are some of the noteworthy changes to existing integrations:
- SmartThings received a massive wave of improvements this release. Robot vacuums gained fan speed control, select entities for driving mode and cleaning type, water spray and sound mode options, a sound detection switch with sensitivity control, a full dust-bag sensor, a HEPA filter reset button, and a time entity for Do Not Disturb schedules. Stick cleaner devices are now supported as well. Thanks, @joostlek! Dishwashers also picked up new start, pause, resume, cancel, and drain actions. Thanks, @edu-tsen!
- Roborock owners with a Q10 can now integrate their vacuum, thanks to @allenporter!
- OpenAI Conversation added GPT-5.4 and GPT-5.4-pro model support, including reasoning effort options. Thanks, @Shulyaka!
- SwitchBot picked up Keypad Vision support, bringing doorbell events, tamper alarms, and charging sensors to your setup. Thanks, @zerzhang!
- Govee BLE added the H5140 CO2 monitor, providing CO2 readings right in Home Assistant. Thanks, @funkadelic!
- SwitchBot Cloud can now control Standing Fan devices. Thanks, @XiaoLing-git!
- Jellyfin gained shuffle and enqueue support for its media player, giving you more playback control. Thanks, @ch604!
- GitHub picked up a merged pull requests count sensor for your repositories. Thanks, @abmantis!
- Proxmox VE expanded with uptime duration, memory usage, storage, network, and backup sensors, runtime entity discovery for nodes, VMs, and containers, a suspend all button at the node level, a snapshot button, and token-based authentication support. Thanks, @erwindouna!
- Renault exposes a charging settings mode sensor and battery charge limit controls to set your minimum and target state of charge. Thanks, @reneboer and @yoda-jm!
- Schlage gained actions for managing door lock access codes: add, delete, and retrieve codes directly from Home Assistant. Thanks, @tykeal!
- Kostal Plenticore added an active power limit control, letting you adjust your solar inverter’s output power. Thanks, @erikbadman!
- Portainer has new pause and resume buttons for container management. Thanks, @erwindouna!
- Teslemetry introduced an energy price calendar that shows your buy and sell tariff schedules, including time-of-use pricing periods. Thanks, @Bre77!
- Cambridge Audio devices gained an equalizer switch. Thanks, @Solmath!
- Gardena Bluetooth expanded to cover the Aqua Contour and Precise product line devices. Thanks, @elupus!
- HDFury picked up audio unmute offset controls for fine-tuning audio delay. Thanks, @glenndehaan!
- ToGrill lets you set ambient temperature range limits for alarms. Thanks, @pandanz!
- Smarla added a spring status sensor showing the spring constellation status. Thanks, @rlint-explicatis!
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:
-
5 integrations reached platinum 🏆
- Opower, thanks to @tronikos
- Portainer, thanks to @erwindouna
- System Nexa 2, thanks to @konsulten
- Teslemetry, thanks to @Bre77
- Whisker (Litter-Robot), thanks to @natekspencer
-
5 integrations reached gold 🥇
- Ghost, thanks to @JohnONolan
- Liebherr, thanks to @mettolen
- Mastodon, thanks to @andrew-codechimp
- Samsung Smart TV, thanks to @chemelli74
- Telegram bot, thanks to @hanwg
-
7 integrations reached silver 🥈
- Actron Air, thanks to @kclif9 and @JagadishDhanamjayam
- devolo Home Control, thanks to @2Fake and @Shutgun
- FRITZ!Box Tools, thanks to @AaronDavidSchneider, @chemelli74, and @mib1185
- Growatt Server, thanks to @johanzander
- Smarla, thanks to @rlint-explicatis
- Tessie, thanks to @Bre77
- uhoo, thanks to @joshsmonta
-
3 integrations reached bronze 🥉
- WaterFurnace, thanks to @masterkoppa
- MyNeomitis, thanks to @l-pr
- Satel Integra, thanks to @Tommatheussen
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:
- Leviton Decora Wi-Fi, done by @joostlek
- Orvibo, done by @peteS-UK
Farewell to the following
The following integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] are also no longer available as of this release:
- BMW Connected Drive / Mini Connected has been removed. On September 29, 2025, BMW added additional security measures that block third parties from accessing BMW servers. For EU-registered cars, BMW now provides the CarData API, for which a custom integration has been developed.
- Duke Energy has been removed. Duke Energy changed authentication providers back in November 2025, and the integration has not worked since.
- Tfiac has been removed because a valid wheel cannot be created for its dependencies. It has been disabled since Home Assistant 2024.10.
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes:
- Voice: “Clean the kitchen”: In 2026.3, we added the ability to send your vacuum to clean specific areas. Back then, we mentioned that voice support wasn’t available just yet. Well, now it is! You can ask your voice assistant to clean a specific area, and your vacuum will head there. Thanks, @arturpragacz!
- Backup upload progress: When uploading a backup, you can now see the upload progress for each backup location. The backup page shows which step is active (creating the backup or uploading it), and for locations that support it, you’ll see a per-location upload percentage. This is supported by Home Assistant Cloud (by Nabu Casa), WebDAV, Google Drive, OneDrive, OneDrive for Business, and the S3-compatible integrations (AWS S3, iDrive e2, Cloudflare R2), as well as the built-in Home Assistant Supervisor backup. Thanks, @zweckj, @jpbede, @ludeeus, and @tronikos!
- Markdown card actions: The Markdown card now supports tap, hold, and double-tap actions. This means you can turn your Markdown cards into interactive elements that navigate, open URLs, or call actions when you interact with them. Thanks, @ildar170975 and @piitaya!
- Map card editor improvements: The map card visual editor now exposes all card-level and per-entity options, including label mode, color, and attribute selection. No more switching to YAML to customize your map. Thanks, @ildar170975!
- New template function:
state_attr_translated: A new template function lets you retrieve translated attribute values for entities, like fan modes, HVAC actions, and preset modes. Works just like the existingstate_translated, but for attributes. Thanks, @piitaya! - New template function:
entity_name: A new template function retrieves the name of an entity, making it easy to combine it with device and area names in your templates however you prefer. It is recommended to use this function instead of referencing thefriendly_nameattribute. Thanks, @arturpragacz! - Network visualization search: Finding specific devices in the network visualization graph for ZHA, Z-Wave, and Bluetooth is now much simpler with the addition of a search box. Thanks, @abmantis!
Favorites on your dashboard
@karwosts is well known for contributing quality-of-life improvements, and this release is no exception. You could already save your favorite colors for lights in the more-information dialog, and now those favorites can be added as a card feature on your tile and light cards, bringing those one-tap color buttons directly onto your dashboard. 🌈
The card feature automatically shows as many of your saved favorites as can fit in the available space, giving you quick access to your preferred colors and color temperatures without opening the light’s more-information dialog.
@timmo001 extended the favorites concept to covers and valves! You can now save your favorite positions, like fully open, half open, or closed, from the more-information dialog and add them as a card feature too, just like with light colors.
@karwosts also made it possible to copy your favorites from one entity to others that support the same modes, so you don’t have to set them up from scratch for every light or cover. Nice!
Gauge card redesign
The gauge card got a fresh new look! @silamon gave it a visual overhaul, bringing a more modern and polished design that fits right in with the rest of your dashboard.
The new design keeps all the functionality you’re used to, including needle mode and severity segments, while giving the card a cleaner, more refined appearance. A well-deserved refresh!
Auto height for cards
Cards can automatically adjust their height based on their content, instead of occupying a fixed number of grid rows. While this was previously only available through manual YAML configuration, the card layout editor now has an Auto height option, making it accessible for everyone.
Some cards, like the entities card and vertical stack card, already default to auto height. For other cards, you can now enable it yourself in the card’s layout settings. This is especially handy for cards with variable content, so they no longer leave empty space or cut off content.
Note
As part of this change, heading cards now default to auto height as well, making them shorter (about half a grid row). This is only visible for heading cards placed between other cards; headings at the top of a section are unaffected. The default row gap between sections also increased from 8 pixels to 24 pixels, giving sections a bit more breathing room. To restore the previous compact layout, set the ha-view-sections-row-gap theme variable to 8px in your theme.
What is an AI-powered Assist thinking?
If you use an LLM-powered conversation agent with Assist, you may have wondered what’s going on behind the scenes when it’s processing your request. Now you can find out! The Assist dialog now shows you the thinking steps and tool calls your AI agent makes while working on your request.
Each response from the AI agent now has a collapsible Show details section. Expand it to see the agent’s reasoning process, which tools it called, what arguments it passed, and what results it got back. This is great for understanding how your AI agent arrives at its answers, and super helpful when debugging automations or tweaking your agent’s behavior.
Note
This feature is currently available on the desktop web interface only, and not yet in the Home Assistant mobile companion apps.
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.
Disclosed security advisories
This month, we published the following security advisories for vulnerabilities that have been found and fixed. We always disclose security issues with a delay, giving everyone time to update their systems first. This is why keeping your Home Assistant installation up to date is so important.
For more information on our security policy and past advisories, visit our security page.
-
2026-03-27: Stored XSS in map card through malicious device name
Severity: Moderate
Detailed information: Security advisory
Assigned CVE: CVE-2026-33044
Discovered by: @pwnpanda
Fixed in: Home Assistant Core 2026.1.2 -
2026-03-27: Stored XSS in history graph card
Severity: Moderate
Detailed information: Security advisory
Assigned CVE: CVE-2026-33045
Discovered by: @pwnpanda
Fixed in: Home Assistant Core 2026.1.2 -
2026-03-27: Unauthenticated app (add-on) endpoints exposed to local network via host network mode
Severity: Critical (CVSS: 9.7)
Detailed information: Security advisory
Assigned CVE: CVE-2026-34205
Discovered by: @arturpragacz
Fixed in: Home Assistant Supervisor 2026.03.2
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:
JVC Projector
The Picture Mode and HDR Processing entities have been migrated from the sensor domain to the select domain, because they represent selectable settings rather than read-only values.
New entities:
select.jvc_projector_picture_modeselect.jvc_projector_hdr_processing
The legacy sensor entities are now deprecated. If a deprecated sensor is disabled and not referenced by automations or scripts, Home Assistant will remove it from the entity registry. If usage is detected, Home Assistant keeps it and shows a repair issue to help you migrate. Update your automations, scripts, dashboards, and templates to use the new select entities.
Litter-Robot
The deprecated night light mode switch entity for Litter-Robot 4 devices has been removed. This switch was replaced by a select entity in Home Assistant 2025.10. If you still use the old switch entity in your automations or scripts, update them to use the select entity instead.
Motion Blinds
On devices that support tilt but do not report a tilt position, the tilt open and tilt close operations now send jog up and jog down commands instead of setting the tilt angle to 0° or 180°. Setting an absolute tilt position usually didn’t work on these devices anyway, and jog commands provide a meaningful small step in the intended direction.
If you have automations that rely on the previous tilt behavior for these devices, you may need to adjust them.
MQTT
Support for the object_id option has been removed after 6 months of deprecation. This option was used to suggest the entity ID for an MQTT entity and has been replaced by the default_entity_id configuration option.
If you used object_id in your MQTT YAML configuration, you were previously asked via a repair flow to update your configuration. If object_id is still part of a discovery message, the option will simply be ignored and will not break discovery.
(@jbouwh - #164460) (MQTT documentation)
pyLoad
pyLoad 0.4.x is now deprecated, and you should switch to pyLoad-ng 0.5.0. pyLoad-ng introduced a new API, and support for the old API has been dropped.
Roth Touchline
The preset mode names for the Roth Touchline climate entities have been updated to use standard Home Assistant preset names, making them translatable. If you have automations or scripts that reference the old preset mode names, update them to use the new names:
Normal→noneNight→sleepHoliday→awayPro 1→program_1Pro 2→program_2Pro 3→program_3
Tuya
Previously deprecated switch entities used to control valves have been removed. Use the valve entities instead. If you have automations or scripts that reference these switch entities, update them to use the corresponding valve entities.
(@epenet - #164657) (Tuya documentation)
Z-Wave
The Z-Wave Installer panel has been removed. This panel was hidden and required an undocumented YAML configuration to enable. The same functionality is now natively available through Z-Wave JS UI in the Z-Wave app.
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:
- Backup agents can now report upload progress
- Frontend component updates 2026.4
- Frontend lazy context
- Frontend new way of dialogs
- New infrared entity platform for IR device integrations
Patch releases
We will also release patch releases for Home Assistant 2026.4 in April. These patch releases only contain bug fixes. Our goal is to release a patch release once a week, aiming for Friday.
2026.4.1 - April 3
- Fix tuya energy sensor units (@jbouwh - #160392)
- Fix Ring snapshots (@Ltek - #164337)
- Fix Tesla Fleet charge current scope handling (@Bre77 - #166919)
- Fix Tesla Fleet OAuth scope refresh during reauth (@Bre77 - #166920)
- Fix select condition state selector (@bramkragten - #167064)
- Fix websocket calling
async_release_notesin update component although unavailable (@tr4nt0r - #167067) - Fix Proxmox VE backup status sensor false positive due to case mismatch (@irishpadres - #167069)
- Bump pySmartThings to 3.7.3 (@joostlek - #167075)
- Wrap hassio import in is_hassio check in get_system_info helper (@mdegat01 - #167111)
- Remove not implemented supported feature from Wiim (@joostlek - #167205)
- Migrate image unique_id for Fritz (@chemelli74 - #167209)
- Fix SMHI (@gjohansson-ST - #167212)
- Bump holiday library to 0.93 (@gjohansson-ST - #167217)
- Fix Sonos reporting wrong state when media title is whitespace (@PeteRager - #167223)
- Improve Recorder action naming consistency (@NoRi2909 - #167244)
- Update arcam to 1.8.3 (@elupus - #167249)
- Bump psutil to 7.2.2 (@dotlambda - #167263)
- Remove Transmission port forward sensor (@andrew-codechimp - #167269)
- Improve Media player action naming consistency (@NoRi2909 - #167274)
- Bump zinvolt to 0.4.0 (@joostlek - #167276)
- Improve Assist satellite action naming consistency (@NoRi2909 - #167278)
- Fix to allow Matter Fan percent setting to be null when FanMode is Auto (@lboue - #167279)
- Update frontend to 20260325.6 (@bramkragten - #167285)
- Fix Matter water heater off mode (@lboue - #167286)
- Make sure we take all Zinvolt battery units in account (@joostlek - #167294)
- Bump Zinvolt to 0.4.1 (@joostlek - #167296)
- Bump soco to 0.30.15 (@PeteRager - #167299)
- Sonos alarm switch entities may not be created when speaker offline initially (@PeteRager - #167303)
2026.4.2 - April 11
- Improve handling of disconnected meters with Rainforest Automation Eagle-200 (@SkySrfr - #161185)
- Prevent the intellifire client from polling independently of its coordinator (@jeeftor - #165341)
- Switchbot Cloud: Enable Webhook for Bot (@XiaoLing-git - #165647)
- Include port in BSB-LAN configuration URL when non-default (@liudger - #166480)
- Fix incorrect state for some LG Soundbar models (@alexmerkel - #167094)
- Bump aiopvpc to 4.3.1 (@marcomsousa - #167189)
- Bump starlink-grpc-core to 1.2.5 (@patcfly - #167195)
- Allow force alarm actions for Comelit (@chemelli74 - #167202)
- Add Hisense AC to Matter dry and fan mode device lists (@lboue - #167282)
- Bump pyTibber to 0.37.0 (@Danielhiversen - #167283)
- Fix victron ble reauth flow title (@rajlaud - #167307)
- Update to tplink-omada-client 1.5.7 (@MarkGodwin - #167313)
- Bump afsapi to 0.3.1 (@007hacky007 - #167321)
- Bump pylutron to 0.4.1 (@cdheiser - #167324)
- Bump cryptography to 46.0.6 (@pantherale0 - #167330)
- Align and cleanup tests data for Fritz (@chemelli74 - #167363)
- Bump aiohue to 4.8.1 (@joostlek - #167369)
- Improve ProxmoxVE permissions handling (@CoMPaTech - #167370)
- Bump axis to v68 to improve MQTT event resiliance (@Kane610 - #167373)
- Use dedicated session for seventeentrack to preserve login cookies (@shaiu - #167394)
- Bump aiocomelit to 2.0.2 (@chemelli74 - #167414)
- Fix setup without dhw (@liudger - #167423)
- Fix handling of missing period statistics in Anglian Water coordinator (@pantherale0 - #167427)
- Fix missing color_mode initialization in MQTT JSON light schema (@noerstad - #167429)
- Bump jvcprojector dependency to pyjvcprojector 2.0.5 (@SteveEasley - #167450)
- Fix nzbget positional argument mismatch in NZBGetAPI calls (@JamieMagee - #167456)
- Update roborock services to raise ServiceNotSupported for new devices that don’t yet support it (@allenporter - #167470)
- Miele - fix core temperature reading (@aturri - #167476)
- Bump b2sdk to 2.10.4 (@ElCruncharino - #167481)
- Handle BadRequest exception in Backblaze B2 config flow and setup (@ElCruncharino - #167482)
- Bump pynintendoparental to 2.3.4 (@pantherale0 - #167510)
- Add missing Miele dishwasher program ID 201 (@runningcode - #167536)
- Bump python-picnic-api2 to 1.3.4 (@xZise - #167539)
- Bump incomfort-client to v0.7.0 (@jbouwh - #167546)
- Remove homeassistant/actions/helpers/info from builder workflow (@sairon - #167573)
- Set up condition and trigger helpers in check config script (@arturpragacz - #167589)
- Fix EWS deviceType problem (@l-pr - #167597)
- Fix Tractive switch availability (@bieniu - #167599)
- Bump securetar to 2026.4.0 (@emontnemery - #167600)
- Fix securetar size calculation when encrypting backup (@emontnemery - #167602)
- Bump holidays to 0.94 (@gjohansson-ST - #167604)
- Fix ProxmoxVE migration causing reauthentication (@CoMPaTech - #167624)
- Improve error logging for Backblaze B2 upload failures (@ElCruncharino - #167721)
- Bump pyvlx to 0.2.33 (@wollew - #167764)
- Set proper state for the internet_access switches in FRITZ!Box Tools (@mib1185 - #167767)
- Bump aiotractive to 1.0.2 (@bieniu - #167783)
- Revert “Fix Ring snapshots” (@bhudgens - #167790)
- Fix Victron BLE false reauth triggered by unknown enum bitmask combinations (@rajlaud - #167809)
- Fix Victron BLE storage errors caused by non-serializable value_fn callable in sensor entity description (@rajlaud - #167819)
- Support Chess.com accounts with no name (@joostlek - #167824)
- Fix stale devices removal for Alexa devices (@chemelli74 - #167837)
- Fix service.yaml values for Home Connect (@Diegorro98 - #167847)
- Bump ZHA to 1.1.2 (@TheJulianJES - #167849)
- Bump velbusaio to 2026.4.0 (@cereal2nd - #167868)
- Bump zinvolt to 0.4.3 (@joostlek - #167908)
- Bump qbusmqttapi to 1.4.3 (@thomasddn - #167909)
- Bump oasatelematics to 0.4 (@panosmz - #167911)
- Fix light on action for qbus integration (@thomasddn - #167917)
- Bump pylitterbot to 2025.2.1 (@natekspencer - #167921)
- Update frontend to 20260325.7 (@bramkragten - #167922)
- Bump pyrisco to 0.6.8 (@OnFreund - #167924)
- Improve Tibber price coordinator (@Danielhiversen - #166175)
- Fix tibber price sensor first state update (@MartinHjelmare - #167938)
- Update cryptography to 46.0.7 (@frenck - #167960)
- Fix spelling of “Shut down” button label in
proxmoxve(@NoRi2909 - #167059) - Bump opower to 0.18.1 (@tronikos - #167967)
- Portainer fix fetching swarm stacks (@erwindouna - #167979)
- Bump python-bsblan to version 5.1.4 (@liudger - #167987)
2026.4.3 - April 17
- Fix Proxmox VE storage usage percentage crash on missing used_fraction (@irishpadres - #167136)
- Fix device_class removal in template binary sensors (@timmo001 - #167775)
- Fix openevse charging_current and charging_power units (@c00w - #167863)
- Don’t create cpu temperature sensor when not supported in FRITZ!Box Tools (@mib1185 - #167905)
- Fix ESPHome cold/warm white color temperature read-back (@bdraco - #167972)
- Fix missing kWh unit for dlq ADD_ELE energy sensor (@gerculanum - #168026)
- Bump PySwitchbot to 2.0.1 (@zerzhang - #168090)
- Bump satel_integra to 1.1.0 (@Tommatheussen - #167353)
- Bump satel-integra to 1.1.1 (@Tommatheussen - #168091)
- Update Z-Wave cover moving state based on current position and cover capabilities (@AlCalzone - #168096)
- Fix Switchbot Keypad Vision doorbell detection (@zerzhang - #168098)
- Bump aioamazondevices to 13.4.0 (@chemelli74 - #167984)
- Bump aioamazondevices to 13.4.1 (@chemelli74 - #168121)
- Bump pylitterbot to 2025.3.2 (@natekspencer - #168146)
- Fix Wyoming satellite memory leak on disconnect (@marcelveldt - #168152)
- Bump pyenphase from 2.4.6 to 2.4.8 (@catsmanac - #168190)
- Handle Tibber async_get_client failing (@Danielhiversen - #168207)
- Bump pyTibber to 0.37.1 (@Danielhiversen - #168208)
- Update Pillow to 12.2.0 (#168234)
- Update uv to 0.11.6 (#168237)
- Fix unit of measurement for SPH power sensors in growatt_server (@johanzander - #168251)
- Bump PyViCare to v2.59.0 (@CFenner - #168254)
- Bump
imgw-pibto 2.1.0 (@bieniu - #168319) - Fix VOIP blocking call in event loop (@jaminh - #168331)
- Fix disabled discovered MQTT entities cleaned up (@jbouwh - #168382)
- Update satel-integra to 1.2.1 (@Tommatheussen - #168416)
- Add cleaning codes for Miele steam oven combo (@astrandb - #168418)
2026.4.4 - April 24
- Fixed Kodi Media Browsing (@albaintor - #165819)
- Fix Victron BLE false reauth on unrecognised advertisement mode bytes (@rajlaud - #168209)
- Fix case-sensitive MIME type check in Google Generative AI TTS (@MohamedBarrak3 - #168458)
- Hive - Bump pyhive-integration to 1.0.9 (@KJonline - #168489)
- Bump aioamazondevices to 13.4.3 (@chemelli74 - #168536)
- Fix MQTT JSON light restoring None color_mode on startup (@noerstad - #168608)
- Add Roborock fan speed validation and error handling (@allenporter - #168623)
- Correct state/device class for water in gardena (@elupus - #168637)
- Cancel and await idle_start future if the task was canceled after an IMAP connection was lost (@jbouwh - #168662)
- Validate local_only user property during ws auth phase (@edenhaus - #168812)
- Update Tibber library, 0.37.2 (@Danielhiversen - #169027)
- Slow down Tractive API polling to avoid 429 too many requests (@bieniu - #169057)
- Bump aiotractive to 1.0.3 (@bieniu - #169059)
- Validate local_only user for signed requests (@edenhaus - #169066)
- Update frontend to 20260325.8 (@bramkragten - #169076)
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.4.
QNAP introduceert QSW-M7230-2X4F24T L3 Lite 100GbE Beheerde Switch
v25.12.2
Hi,
The OpenWrt community is proud to announce the second service release of the OpenWrt 25.12 stable series.
Download firmware images using the OpenWrt Firmware Selector:
Download firmware images directly from our download servers:
Main changes between OpenWrt 25.12.1 and OpenWrt 25.12.2
Only the main changes are listed below. See the full changelog for details.
Device support
- airoha: rename kernel module
kmod-pwm-an7581tokmod-pwm-airoha— users with this module explicitly installed need to reinstall under the new name - apm821xx: fix U-Boot environment definitions for NETGEAR WNDR4700, Western Digital MyBookLive, Meraki MR24 and Meraki MX60; fix PCIe boot failure on Meraki MX60
- ath79: fix initramfs boot for Huawei AP5030DN and AP6010DN
- ath79: fix VLAN CPU port tagging on 2-CPU-port devices (affects several dual-CPU switch configurations)
- ath79: remove incorrectly included WiFi packages from Mikrotik RB750r2 (device has no WiFi hardware)
- ipq40xx: fix ART partition name for Linksys Velop WHW03 V1 — restores correct WiFi calibration data access
- ipq40xx: fix MAC address reading for Linksys devices using eMMC-based NVMEM
- lantiq: xrx200: fix failsafe mode on BT HomeHub 5A — LAN ports 1 & 2 now work correctly in failsafe (#22480)
- mediatek: Bananapi BPI-R4: fix SFP+ electric module support — modules that stopped working after a snapshot upgrade are now functional again (#19878)
- ramips: fix kernel decompress error that bricked ELECOM WRC-X1800GS on 25.12.0 (#22270)
- ramips: fix initramfs kernel load address for TP-Link EAP615-Wall v1
- ramips: fix MAC address assignment for Xiaomi Mi AC2100
- realtek: fix D-Link fan control script
WiFi fixes and improvements
- wifi-scripts: fix 160 MHz channel width configuration — hostapd was not correctly configured for 160 MHz, preventing its use (#22481)
- wifi-scripts: fix SU beamformee antenna count — incorrect count was passed to the driver
- hostapd: fix memory leak in Radio Resource Management (RRM) ubus interface
- mac80211: ath12k: add thermal sensor support for QCA/IPQ devices
- mac80211: ath9k: fix GPIO mask handling from device tree
- mt76: fix severe WiFi latency regression (up to multiple seconds) on 2.4 GHz introduced in 25.12.1 — affected many MediaTek devices including OpenWrt One, Zyxel EX5601, ASUS RT-AX53U, Xiaomi AX3000T/AX6000, Cudy WR3000/X6, GL Flint 2 and others (#22491)
- mt76: multiple further stability fixes for MediaTek WiFi chipsets (MT7615/MT7915/MT7996/MT7992/MT792x):
- add per-link beacon monitoring for MLO (Multi-Link Operation)
- fix MT7996/MT7992 link handling during MLO station add/remove
- fix scan work requeue race with spinlock
Upgrading to 25.12.2
Upgrading from 24.10 to 25.12 should be transparent on most devices, as most configuration data has either remained the same or will be translated correctly on first boot by the package init scripts.
For upgrades within the OpenWrt 25.12 stable series, Attended Sysupgrade is also supported, which allows preserving the installed packages.
-
Sysupgrade from 23.05 or earlier to 25.12 is not officially supported.
-
Cron log level was fixed in busybox.
system.@system[0].cronloglevelshould be set to7for normal logging.7is the default now. If this option is not set, the default is used and no manual action is needed. fc0c518 -
Bananapi BPI-R4: Interface
eth1was renamed tosfp-lanorlan4, and interfaceeth2was renamed tosfp-wanto match the labels. You have to upgrade without saving the configuration. cd8dcfe -
TP-Link RE355 v1, RE450 v1 and RE450 v2: The partition layout and block size changed in this release to fix configuration loss on sysupgrade. Users upgrading from OpenWrt 25.12.0 or earlier must use
sysupgrade -Fto force the upgrade. The image must not exceed 5.875 MB (6016 KiB). -
Meraki MX60: Direct sysupgrade to 25.12.2 is not possible without manual preparation —
meraki_loadaddrmust be changed before upgrading, as the default value is insufficient to boot OpenWrt 25.12+. See the device wiki page for instructions.
Known issues
- Zyxel EX5601-T0: the WAN interface was renamed from
eth1towan— check and update your network configuration after upgrading. - Pixel 10 phones have problems connecting to WPA3-protected WiFi 6 APs. #21486
- 802.11r Fast Transition (FT) causes connection problems with some WiFi clients when WPA3 is used. #22200
- SQM CAKE MQ (
cake_mq): throughput may be unexpectedly low on some configurations after the scheduler fixes in this release. #22344
Full release notes and upgrade instructions are available at
https://openwrt.org/releases/25.12/notes-25.12.2
In particular, make sure to read the known issues before upgrading:
https://openwrt.org/releases/25.12/notes-25.12.2#known_issues
For a detailed list of all changes, refer to
https://openwrt.org/releases/25.12/changelog-25.12.2
To download the 25.12.2 images, navigate to:
https://downloads.openwrt.org/releases/25.12.2/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=25.12.2
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:
-
a low-volume mailing list for important announcements:
https://lists.openwrt.org/mailman/listinfo/openwrt-announce -
a dedicated "announcements" section in the forum:
https://forum.openwrt.org/c/announcements/14 -
other announcement channels (such as RSS feeds) might be added in the
future, they will be listed at https://openwrt.org/contact
Modernizing encryption of Home Assistant backups
Backups are one of those quiet, powerful features: when they work, you don’t notice them, but when you need them, they’re everything. We’ve evolved Home Assistant’s built-in backup format over the years to keep it safe and secure, especially when backing up to remote locations. As modern cryptography has advanced, we needed to build a system to match. SecureTar v3 is a purpose-built library for creating and reading password-protected Home Assistant backups with modern cryptography and safer, stronger defaults.
To help us get this right, we commissioned Trail of Bits, a leading security engineering firm, to independently audit our work. Their review found that SecureTar v3 follows best-in-class practices for core security algorithms, such as hashing and encryption. They also identified three areas for improvement, which they confirmed were resolved in their follow-up review. This audit was paid for by the Open Home Foundation so we could invest in improvements that protect users’ privacy, security, and control.
Your backups will start using this new encryption automatically, beginning with the release of version 2026.4 on April 1, 2026. Please note old backups will still work and be readable after this change (see Recommended next steps below). For more technical details, please read on…
A bit of history
Home Assistant backups have always been encrypted by default, and use a high entropy key, to help ensure your data is safe. When we introduced backups, early formats (v1 and v2) used the same AES-128 encryption variant, along with a simple key derivation (the code that turns your passphrase into the actual key used for encryption). Sam Gleske brought to our attention that the key-derivation step was no longer up to modern standards.
It’s worth stressing an important point: Home Assistant’s passphrase generator already produces long, high-entropy passphrases. This means that backups created previously were difficult to break if using this feature. To demonstrate this, we calculated that a brute force passphrase attack (where attackers try many passwords rapidly) on the backups would take more time than the average lifespan of a person to be successful.
Still, because it was possible to manually generate an insecure passphrase for advanced users, and the library’s internal cryptographic primitives could be improved, we decided to overhaul SecureTar to use best-in-class algorithms, and to have that work validated by an external audit.
What we changed and why
The goals were simple: choose modern, well-studied algorithms, avoid design mistakes that could weaken confidentiality or integrity, and make v3 the secure default.
Highlights of the SecureTar v3 design:
- Modern key derivation: SecureTar v3 uses Argon2id for password-based key derivation. Argon2id is a memory-hard algorithm that makes brute-force attacks much more costly.
- Modern encryption and authentication: Encryption is provided by the libsodium secretstream API (exposed in Python via PyNaCl), which implements a robust streaming authenticated-encryption construction using XChaCha20-Poly1305. That combination gives both confidentiality (nobody can read your data) and integrity/authentication (nobody can tamper with it without detection).
- Safer defaults and parsing: We set safer defaults so new backups use v3, and we fixed parsing logic to avoid silently treating corrupt data as valid legacy backups.
We made these choices to ensure that SecureTar is resilient to modern attacks and easier to reason about from a security perspective.
Independent audit by Trail of Bits
After implementing SecureTar v3, we commissioned Trail of Bits to perform the focused security assessment and fix review. Here is what the review found:
- Timing side-channel in a validation comparison (informational): The audit pointed out a minor coding issue in how we checked a validation key. It wasn’t a security risk (the value is stored openly in the file header), but we updated the check to a safer form so security tools stop flagging it.
- Insecure fallback to legacy protocol version (informational): Header parsing logic could be confused by corrupted data; we updated the logic so corrupted headers raise an error instead of silently falling back.
- Supply-chain risk in GitHub Actions workflow (medium): Workflow steps were not pinned to specific commit hashes and used broad permissions, opening the build process to possible supply-chain attacks. We pinned actions to specific commit hashes and tightened permissions.
Crucially, Trail of Bits’ post-fix review confirmed all three findings were resolved. This shows we have not only adopted modern cryptography, but also closed the gaps the audit exposed.
You can read more about the audit and the fixes in the Trail of Bits report.
How you help support this work
Security work (especially external audits and specialist engineering) costs money. The Open Home Foundation provides the structure and finances that let us do this work. That money comes, in part, from people who buy official Home Assistant or ESPHome products from the foundation’s commercial partners, and merchandise from the Open Home Foundation Store: we really appreciate your support!
Because of this, we were able to commission experts, invest engineering time, and validate the fixes. That investment protects users’ backups (which often contain configurations, passwords and API keys, integrations, and automations) and keeps Home Assistant a trustworthy, secure platform for everyone.
Recommended next steps
- Ensure Home Assistant is updated to the latest version. The 2026.4 release includes SecureTar v3.
- Any encrypted backup created after updating to 2026.4 will use v3’s improved format.
- Existing backups are still secure, as Home Assistant’s generated passphrase is strong. That said, for extra security, you can regenerate the encryption key in your backup settings (use the Change encryption key option at the bottom of the backup settings page).
- If you use the
ha backupCLI command, or thehassio.backup_fullorhassio.backup_partialactions to create backups, and you’ve used a short/low entropy password, you should choose a new password.
For the curious: technical summary
- Key derivation: Argon2id (memory-hard), using separate sub-keys for each backup part.
- Encryption / AEAD: XChaCha20-Poly1305 via libsodium secretstream (PyNaCl) with 256-bit key size. AEAD means your data is not only encrypted, but also authenticated (validating the data is unchanged/not tampered with).
- Audit: Trail of Bits: 3 findings (2 informational, 1 medium), all resolved.
- Build hardening: GitHub Actions pinned to commit SHAs and narrower permissions to reduce supply-chain risk.
Looking for more? Check out the SecureTar repository on GitHub.
Final note
Security is iterative, and this latest work has helped build a stronger foundation for Home Assistant backups, and a clearer path forward for maintaining that security over time.
If you want to read about similar past efforts, see some of our other posts:
- One of our past security audits
- The upcoming release notes for Home Assistant 2026.4
By keeping Home Assistant secure, we make the platform safer, more trusted, and more enjoyable for the whole community. Thank you.
NVIDIA Driver 595.97
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
This new GeForce Game Ready Driver optimizes your experience in the latest titles featuring DLSS, ray tracing, path tracing, and NVIDIA Reflex, and ensures the best possible experience in your wider library of games and apps.
Fixed Gaming Bugs
- Halo Infinite: Texture corruption may occur on R595 drivers [5957741]
- HITMAN World of Assassination: Game stability issues when NVIDIA Smooth Motion is enabled [5849519]
- Game stability issues after enabling DLSS FG when Instant Replay is enabled [5732936]
Fixed General Bugs
- N/A
Learn more in our Game Ready Driver article here.

Heatit joins Works with Home Assistant
We’re thrilled to extend a very warm (ahem) Works with Home Assistant welcome to Heatit! As the name suggests, Heatit are all about keeping you, and your home, warm. They specialize in smart climate and heating control, which might have something to do with the fact they’re based in Norway, where energy management is a big reason people turn to Home Assistant, as winter temperatures can dip to below -20°C!
Home is where the heat is
Formerly known as Thermofloor, Heatit has spent more than 30 years building a rock-solid reputation across Scandinavia and Northern Europe for thermostats and controllers designed to handle harsh conditions, so they’re certainly robust enough for milder climes. But they don’t just stop at heating: the range extends to home safety, with the Heatit Z-Smoke 2 being the first Z-Wave smoke detector we’ve certified.
In fact, all of Heatit’s certified devices connect via Z-Wave, which is what makes them integrate so well with Home Assistant. Crucially, the Z-Smoke 2 will always function regardless of network status. The smart features are there when you need them, but the fundamentals never depend on them.
Z-Wave, and then some
If you’ve not heard of Z-Wave before, here’s a quick explainer: it’s a low-power wireless protocol built specifically for smart homes. Unlike WiFi, it operates on a dedicated frequency that means less interference and more reliable communication. It’s also a mesh network, where mains-powered devices help pass signals along to each other, strengthening the connection. Battery-powered devices can also benefit from this, since the mesh helps preserve their charge.
For heating and safety devices, those enhancements really count. Long battery life means a thermostat or smoke detector that should keep working without constant attention. Reliable range means your devices can stay connected even through thick walls or across a large home. And because everything runs locally, your heating responds quickly: no routing through a third-party server, no unnecessary delays.
Connecting with the community
Heatit are also serious about the impact they have beyond their products, with sustainability and reducing environmental impact being central to their company philosophy, which aligns with the Open Home Foundation’s principles of privacy, choice, and sustainability. What’s more, for Heatit, one of the most exciting things about joining the program is the chance to connect with the passionate, knowledgeable people who make up our community (yes, that’s you!).
"We're excited to join the Home Assistant program because of the strong community and the shared focus on open, local-first smart home solutions. This integration allows us to work more closely with both enthusiasts and professionals, and to deliver products that are flexible, reliable, and built for long-term use."
- Pål Aksel Forberg, CEO at HeatitDevices
Works with Home Assistant isn’t just a badge: every certified product is rigorously tested by our in-house team to make sure it works seamlessly with Home Assistant out of the box. Brands joining the program also commit to long-term support and firmware updates, and to being an active, positive part of our community. Here’s what’s made the cut from Heatit:
- Heatit Z-Push Wall Controller White RAL 9010 Glossy
- Heatit Z-Push Wall Controller White RAL 9003 Glossy
- Heatit Z-Push Wall Controller Black Matt
- Heatit Z-Temp3 White RAL 9003
- Heatit Z-Temp3 Black Matt
- Heatit Z-TRM6 DC White
- Heatit Z-TRM6 DC Black Matt
- Heatit Z-Smoke 2
- Heatit Z-HAN2
- Heatit ZM Thermostat 16A
Professionally built and designed to last, these devices cover both sides of a smart heating setup: the thermostats handle the actual temperature control, while the wall controller gives you a physical way to manage it all without reaching for your phone.
How to get started
It’s worth noting that in-wall devices will require installation by a qualified electrician in many regions, so if you’re not confident with electrics, it’s worth checking Heatit’s website for guidance and to find a local installer. The standalone devices are more straightforward to set up, and include SmartStart, making adding them to your Z-Wave network as simple as scanning a QR code.
To use Z-Wave with Home Assistant, you’ll need a Z-Wave adapter and the Z-Wave integration. This will help everything run locally, keeping your data private and your smart home responsive. Of course, if you want to turn the heat up before you get home, or check on things while you’re away, Home Assistant Cloud gives you secure remote access, and by subscribing you’ll help fund the Open Home Foundation’s work, including the Works with Home Assistant program!
Wrapping up warmly
We hope this is just the beginning of Heatit’s involvement with the program, and we’re excited to see where things go, both with these devices and whatever comes next. In the meantime, there’s plenty here to get started with. Time to turn up the heat.
Frequently asked questions
If I have a device that is not listed under Works with Home Assistant, does this mean it’s not supported?
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 in the future, or it might work under a different connectivity type that we don’t currently test under the program.
OK, so what’s the point of the Works with program?
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 full functionality within Home Assistant, operate locally without the need for cloud, and will continue to do so long-term.
How were these devices tested?
All devices in this list were tested using a standard Home Assistant Green with the Home Assistant Connect ZWA-2 as the Z-Wave adapter and with our Z-Wave integration. If you have another hub or setup, 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.
Will you be adding more Heatit devices to the program?
Why not! We’re thrilled to foster a close relationship with the team at Heatit to work together on any upcoming releases or add in further products that are not yet listed here. They have also been working on integrating their WiFi products further in Home Assistant, so we’re excited to see their progress.
v24.10.6
Hi,
The OpenWrt community is proud to announce the newest stable release of the OpenWrt 24.10 stable series.
Download firmware images using the OpenWrt Firmware Selector:
Download firmware images directly from our download servers:
Main changes between OpenWrt 24.10.5 and OpenWrt 24.10.6
Only the main changes are listed below. See changelog-24.10.6 for the full changelog.
Security fixes
OpenWrt components (Trail of Bits audit, February 2026):
- CVE-2026-30871: Stack buffer overflow in umdns DNS PTR query handling (HIGH)
- CVE-2026-30872: Stack buffer overflow in umdns IPv6 reverse DNS lookup (HIGH)
- CVE-2026-30873: Memory leak in jsonpath when processing strings, labels, and regexp tokens (LOW)
- CVE-2026-30874: Command execution via PATH environment variable filter bypass in procd (LOW)
LuCI:
- CVE-2026-32721: Possible XSS attack via malicious SSID in LuCI WiFi scan modal (MEDIUM)
OpenSSL:
- openssl: update to 3.0.19, fixing multiple security vulnerabilities
Device support
- airoha: an7581: fix switch port and LED functionality
- ath79: CF-EW71 v2: fix MAC address assignment
- imx: Gateworks Venice GW72xx-2x, GW73xx-2x, GW75xx-0x, GW75xx-2x: add sysupgrade support
- ipq40xx: ASUS Lyra: fix reading of WiFi calibration data
- lantiq: fix GPIO expander clock, restoring correct LED and GPIO behaviour on affected devices
- mediatek: Banana Pi BPi-R3: fix PWM fan speed control — medium cooling level now works correctly
- mediatek: Cudy AP3000 v1, Cudy WR3000H: fix Ethernet connectivity on units with a Motorcomm PHY
- mediatek: Cudy M3000, ramips: Cudy AP1300 Outdoor: fix incorrect Ethernet port assignment
- mediatek: Cudy WR3000P: enable USB 3.0 support in default firmware image
- mediatek: GL-MT2500: fix sysupgrade compatibility from earlier releases
- mt7620: fix potential crash on MT7620-based devices
- ramips: mt76x8: fix boot counter tracking
- realtek: GS1900-24E: fix switch reliability
Various fixes and improvements
- imx: cortexa53: fix memory allocation for DMA-intensive operations
- jsonpath: fix memory leak (CVE-2026-30873)
- mac80211: ath11k: fix crash caused by unsupported 11ax EDCA parameters
- mac80211: ath9k: fix WiFi hang — chip is now automatically reset on inactivity
- mt76: mt76x02: fix WiFi traffic stall after interface reconfiguration
- procd: fix security issues (CVE-2026-30874) and other improvements
- umdns: fix security issues (CVE-2026-30871, CVE-2026-30872)
Core components update
- Linux kernel: update from 6.6.119 to 6.6.127
- openssl: update from 3.0.18 to 3.0.19
- procd: update from 2024-12-22 to 2026-03-14
- umdns: update from 2025-02-10 to 2026-02-06
- wireless-regdb: update from 2025.10.07 to 2026.02.04
OpenWrt 24.10 end of life
With the release of OpenWrt 25.12 stable series, the OpenWrt 24.10 stable series will go end of life in 6 months. We will not provide security updates for OpenWrt 24.10 after September 2026. We encourage everyone to upgrade to OpenWrt 25.12 before September 2026.
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.
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 issue will be addressed in an upcoming OpenWrt SNAPSHOT and the OpenWrt 24.10 minor release.
- 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.6
In particular, make sure to read the regressions and known issues before upgrading:
https://openwrt.org/releases/24.10/notes-24.10.6#known_issues
For a detailed list of all changes since 24.10.5, refer to
https://openwrt.org/releases/24.10/changelog-24.10.6
To download the 24.10.6 images, navigate to:
https://downloads.openwrt.org/releases/24.10.6/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=24.10.6
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:
-
a low-volume mailing list for important announcements:
https://lists.openwrt.org/mailman/listinfo/openwrt-announce -
a dedicated "announcements" section in the forum:
https://forum.openwrt.org/c/announcements/14 -
other announcement channels (such as RSS feeds) might be added in the
future, they will be listed at https://openwrt.org/contact
v25.12.1
Hi,
The OpenWrt community is proud to announce the first service release of the OpenWrt 25.12 stable series.
Download firmware images using the OpenWrt Firmware Selector:
Download firmware images directly from our download servers:
Main changes between OpenWrt 25.12.0 and OpenWrt 25.12.1
Only the main changes are listed below. See the full changelog for details.
Security fixes
OpenWrt components (Trail of Bits audit, February 2026):
- CVE-2026-30871: Stack buffer overflow in umdns DNS PTR query handling (HIGH)
- CVE-2026-30872: Stack buffer overflow in umdns IPv6 reverse DNS lookup (HIGH)
- CVE-2026-30873: Memory leak in jsonpath when processing strings, labels, and regexp tokens (LOW)
- CVE-2026-30874: Command execution via PATH environment variable filter bypass in procd (LOW)
LuCI:
- CVE-2026-32721: Possible XSS attack via malicious SSID in LuCI WiFi scan modal (HIGH)
Additional hardening from the same Trail of Bits audit (no CVE assigned):
- odhcpd: fix stack buffer overflow in DHCPv6 Identity Association logging
- procd: fix out-of-bounds write in cgroup path building and cgroup rule application
Device support
- airoha: fix EN7581 PCIe initialization and add x2 (2-lane) link support — improves PCIe reliability and unlocks full bandwidth for affected devices
- ath79: TP-Link RE355 v1, RE450 v1/v2: fix partition alignment to prevent configuration loss on sysupgrade
- ipq40xx: Devolo Magic 2 WiFi next: enable device support
- ipq40xx: re-enable MeshPoint.One target
- ipq806x: AP3935: fix U-Boot NVMEM layout
- lantiq: fix GPIO expander clock (gpio-stp-xway) — restores correct LED and GPIO behaviour on affected devices
- lantiq: fix missing WAN MAC address assignment on some devices
- mediatek: Cudy M3000: add support for hardware variant with Motorcomm YT8821 PHY (previously only the Realtek PHY variant was supported)
- mediatek: TP-Link BE450: fix 10GbE PHY reset timing that caused intermittent boot stalls, add missing WLAN toggle button, fix reported memory size
- microchipsw: Novarq Tactical 1000: fix swapped SFP I2C buses for ports 1 and 3 — fixes SFP EEPROM read failures
- ramips: Keenetic KN-1910: fix sysupgrade functionality
- realtek: RTL838x-based switches: fix non-functional reboot
- treewide: Linksys devices: fix MAC address assignment
WiFi fixes and improvements
- mac80211: fix crash triggered by Channel Switch Announcement (CSA) when AP VLAN interfaces are in use
- mt76: add MT7990 firmware support (new MediaTek WiFi 7 chipset)
- mt76: mt7915: fix power save mode handling
- mt76: mt7921/MT7902: add MT7902e MCU and DMA layout support
- mt76: mt7996/mt7992: fix crash in transmit path, fix out-of-bounds access during hardware restart, improve MLO/CSA and radar detection support
- wifi-scripts: fix incorrect VHT160 capability advertisement — was incorrectly set on non-160 MHz AP configurations, degrading station upload speed (#22435)
- wifi-scripts: fix malformed wpa_supplicant config when 802.1X EAP credentials (identity, password, certificates) contain spaces (#22212)
Web interface (LuCI) and system fixes
- luci-mod-network: fix XSS vulnerability in WiFi scan modal (CVE-2026-32721)
- ustream-ssl (OpenSSL variant): fix use-after-free crash causing uhttpd (the LuCI web server) to crash under high load (#19349)
Networking and system fixes
- firewall4: set as the preferred firewall package over the legacy firewall package
- iptables: prefer the nftables-backed variants (iptables-nft, ip6tables-nft) when iptables is pulled in as a dependency
- kernel: CAKE QoS scheduler fixes — avoid unnecessary synchronization overhead when running without a rate limit, fix DiffServ rate scaling
- kernel: SFP: improve Huawei MA5671a module support — module is now accessible even when no fiber is connected
- odhcpd: fix segfault when disabling a DHCP interface, fix DHCPv4 lease tree corruption, fix truncated field in DHCPv6 lease queries, fix DNS search list padding
- ppp: fix potential memory safety issue (undefined behavior in memcpy with overlapping buffers); remove the MRU limit patch for PPPoE connections (ppp-project/ppp#573)
Package manager (apk)
- apk: update to version 3.0.5 with several OpenWrt-specific bug fixes
- apk: add
--force-reinstalloption to reinstall already-installed packages without requiring a version change
Core component updates
- apk: update from 3.0.2 to 3.0.5
- jsonfilter: update from 2025-10-04 to 2026-03-16 (fixes CVE-2026-30873)
- libubox: update from 2026-02-13 to 2026-03-13 (ABI version stabilized for 25.12 stable series)
- Linux kernel: update from 6.12.71 to 6.12.74
- odhcpd: update from 2026-01-19 to 2026-03-16
- omcproxy: update from 2025-10-04 to 2026-03-07
- procd: update from 2026-02-20 to 2026-03-14 (fixes CVE-2026-30874)
- umdns: update from 2025-10-04 to 2026-02-06 (fixes CVE-2026-30871, CVE-2026-30872)
- ustream-ssl: update from 2025-10-03 to 2026-03-01
Upgrading to 25.12.1
Upgrading from 24.10 to 25.12 should be transparent on most devices, as most configuration data has either remained the same or will be translated correctly on first boot by the package init scripts.
For upgrades within the OpenWrt 25.12 stable series, Attended Sysupgrade is also supported, which allows preserving the installed packages.
-
Sysupgrade from 23.05 or earlier to 25.12 is not officially supported.
-
Cron log level was fixed in busybox.
system.@system[0].cronloglevelshould be set to7for normal logging.7is the default now. If this option is not set, the default is used and no manual action is needed. fc0c518 -
Bananapi BPI-R4: Interface
eth1was renamed tosfp-lanorlan4, and interfaceeth2was renamed tosfp-wanto match the labels. You have to upgrade without saving the configuration. cd8dcfe -
TP-Link RE355 v1, RE450 v1 and RE450 v2: The partition layout and block size changed in this release to fix configuration loss on sysupgrade. Users upgrading from OpenWrt 25.12.0 or earlier must use
sysupgrade -Fto force the upgrade. The image must not exceed 5.875 MB (6016 KiB).
Known issues
- Zyxel EX5601-T0: the WAN interface was renamed from
eth1towan— check and update your network configuration after upgrading. - Pixel 10 phones have problems connecting to WPA3-protected WiFi 6 APs. #21486
- 802.11r Fast Transition (FT) causes connection problems with some WiFi clients when WPA3 is used. #22200
- SQM CAKE MQ (
cake_mq): throughput may be unexpectedly low on some configurations after the scheduler fixes in this release. #22344 - 160 MHz channel width cannot be configured. #22481
Full release notes and upgrade instructions are available at
https://openwrt.org/releases/25.12/notes-25.12.1
In particular, make sure to read the known issues before upgrading:
https://openwrt.org/releases/25.12/notes-25.12.1#known_issues
For a detailed list of all changes, refer to
https://openwrt.org/releases/25.12/changelog-25.12.1
To download the 25.12.1 images, navigate to:
https://downloads.openwrt.org/releases/25.12.1/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=25.12.1
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:
-
a low-volume mailing list for important announcements:
https://lists.openwrt.org/mailman/listinfo/openwrt-announce -
a dedicated "announcements" section in the forum:
https://forum.openwrt.org/c/announcements/14 -
other announcement channels (such as RSS feeds) might be added in the
future, they will be listed at https://openwrt.org/contact
QNAP en CyberLink breiden partnerschap uit om media-creatie te optimaliseren met betrouwbare opslagoplossingen
QNAP breidt QuWAN-architectuur uit met QuWAN Express om de flexibiliteit van NAS point-to-point VPN-connectiviteit te verbeteren
QNAP ontvangt 2025 Backup and Disaster Recovery Award van Cloud Computing Magazine
NVIDIA Driver 595.79
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 Crimson Desert and DEATH STRANDING 2: ON THE BEACH
This new Game Ready Driver provides the best gaming experience for the latest new games supporting DLSS 4 technology including Crimson Desert and DEATH STRANDING 2: ON THE BEACH.
Fixed Gaming Bugs
- Crimson Desert: Game crashes when launched on R595 drivers [5861012]
- Resident Evil Requiem: White glowing light/dots may appear in game when Subsurface Scattering is enabled [5915673]
- Star Citizen: Game client crashes when launched [5935027]
Fixed General Bugs
- When the graphics card is overclocked, GPU voltage may become capped, preventing it from boosting to expected levels [5934973]
- Intermittent application crash or driver timeout may be observed when playing multi-key DRM content in a browser on HDCP 1.x monitors [5934450]
Learn more in our Game Ready Driver article here.

QNAP verandert NAS in NDR: ADRA NDR Standalone verlaagt de barrière naar interne netwerkbeveiliging
2026.3: A clean sweep
Home Assistant 2026.3! 🎉
After last month’s massive release, this one is a nice and relaxed one. We took a step back from the big headline features and fully focused on something equally important: getting the amazing contributions from our community reviewed, polished, and merged. 💚
And did our community deliver! This release is packed with tons of new integrationsIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more], lots of noteworthy improvements to the ones you already use, boatloads of bug fixes, and a really nice list of integrations that climbed up the integration quality scale. 📈
It’s releases like these that really show the strength of our open-source community. Every single contribution matters, and this month that shows more than ever. Thank you all! 🙏
My personal favorite this month? The automation editor change: Continue on error has finally landed in the UI. I actually wrote this feature years ago, but it was only available through YAML. Seeing it now land in the visual editor (making it accessible to everyone) is just awesome. It’s one of those small things that make a big difference in everyday use. 🤩
Oh, and before I forget: have you seen our brand new merch store? The Open Home Foundation store is live! I have to be honest: the quality is really great. The hoodie is so darn comfy it’s ridiculous. I’ve been wearing mine non-stop. Go check it out! 🏃
Also, mark your calendars: State of the Open Home 2026 is happening on April 8 in Utrecht, the Netherlands! Join us live in the audience for a celebration of everything we’ve built together, a look at what’s ahead, and your chance to help shape the future of the Open Home. Tickets are limited, so grab yours while you can! 🎟️
Enjoy the release!
../Frenck
- Send your vacuum to clean specific areas
- Energy dashboard improvements
- Continue on error in the automation editor
- Wake word detection on your Android phone (experimental)
- Integrations
- Other noteworthy changes
- Patch releases
- Need help? Join the community
- Backward-incompatible changes
- All changes
A huge thank you to all the contributors who made this release possible! And a special shout-out to @TimoPtr, @arturpragacz, and @MindFreeze who helped write the release notes this release. Also, @CoMPaTech, @balloob, @OnFreund, and @silamon for putting effort into tweaking its contents. Thanks to them, these release notes are in great shape. ❤️
Send your vacuum to clean specific areas
Got a robot vacuum? You can now tell it exactly which areas to clean! This release introduces the clean area action, which lets you send your vacuum to clean one or more specific areas on demand, right from Home Assistant. In this release, it’s supported by Matter, Ecovacs, and Roborock.
The best part? The action uses your existing Home Assistant areas, not some obscure vendor-specific identifiers. You simply map the segments your vacuum knows about to the areas you’ve already set up in Home Assistant, and that’s all there is to it.
Getting started
When your vacuum supports area cleaning, you can set up the mapping through the vacuum’s entity settings. Open the vacuum entity, select the settings icon, and look for the Map vacuum segments to areas section. From there, you can match the segments your vacuum has detected to your Home Assistant areas.
If your vacuum’s internal segment layout ever changes (for example, after remapping in the manufacturer’s app or the vacuum rediscovering its environment), Home Assistant will notice. A repair issue will alert you that the segments have changed, so you can update your mapping and make sure everything stays in sync.
Paving the way for voice
Because the mapping uses native Home Assistant areas, this feature lays the groundwork for future voice assistant support. Imagine simply saying “clean the kitchen” and having your vacuum head to the right area. That’s not available just yet, but the foundation is now in place to make it happen.
Energy dashboard improvements
The Energy dashboard received a nice batch of improvements this release.
The Now view gained badges that show real-time power consumption, gas flow rate, and water flow rate at a glance. Water also gets its own Sankey chart in the Now view, giving you a visual breakdown of water usage across your home, just like the existing power Sankey chart.
To reduce ambiguity, the second tab on the Energy dashboard has been renamed from Energy to Electricity, since the dashboard covers electricity, gas, and water. On the configuration side, the energy settings page is now split into three tabs: Electricity, Gas, and Water, making it easier to find and manage your energy sources.
Finally, energy bar chart tooltips now include the day of the week, helping you quickly spot usage patterns.
Thanks, @MindFreeze, @NoRi2909, and @gpoitch! 🎉
Continue on error in the automation editor
The automation editor now has a Continue on error option for actions, directly accessible from the visual editor. Previously, this setting was only available through YAML.
You can find it in the three-dots menu of any action. When enabled, a visual indicator appears on the action row, so you can quickly see which actions will continue running even if they encounter an error.
This is especially handy for automations where a single failing action shouldn’t stop the rest from running. For example, if one of several notification actions fails, the remaining ones will still be sent.
Thanks, @wendevlin! 🎉
Wake word detection on your Android phone (experimental)
Your phone just became a voice satellite! The Home Assistant Companion app for Android now supports on-device wake word detection, allowing you to open Assist from anywhere; even when your phone is locked.
Inspired from the great work from @brownard in Ava.
This feature uses microWakeWord, the same lightweight wake word engine that powers the Home Assistant Voice Preview Edition. All processing happens locally on your device, no audio is sent to the cloud, and no server-side processing is needed. Your voice stays on your phone.
You can choose between three wake words:
- Okay Nabu
- Hey Jarvis
- Hey Mycroft
To enable wake word detection, open your Android device’s Settings > Companion App > Assist for Android, and enable the Enable wake word detection toggle. Once enabled, simply say your chosen wake word and the Assist pipeline will open, ready to take your command.
Watch the video to see wake word detection in action on an Android device.
It already integrates with your voice equipment at home, and if another satellite is nearby, only the fastest one will respond. This also applies to multiple Android devices.
Battery usage
Because wake word detection requires continuous microphone access and CPU usage, this feature does have a noticeable impact on battery life. To help manage this, you can use automations to start and stop wake word detection based on your context, for example, only enabling it when you’re connected to your home Wi-Fi or within a specific zone. This way, you get hands-free voice control when it matters most, without draining your battery all day.
Note
Battery usage could be drastically reduced if Google opened their API for hardware hotword detection. Unfortunately, this is hidden behind a system API that only phone manufacturers have access to. Maybe one day they will open it up to improve the experience.
Thanks, @TimoPtr! 🎉
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:
-
Ghost, added by @JohnONolan
Monitor your Ghost publication metrics, including member counts, revenue, post statistics, and email newsletter performance, right from your Home Assistant dashboard. -
Hegel Amplifier, added by @boazca - launching at 🥈 silver quality
Control your Hegel Music Systems amplifiers locally over your network. Manage power, volume, input selection, and mute with real-time push updates for instant feedback. -
Homevolt, added by @Danielhiversen - launching at 🥈 silver quality
Read local data from your Homevolt battery over your network, no cloud required. Monitor power, energy, voltage, temperature, and battery status. -
Hypontech Cloud, added by @jcisio
Monitor your Hypontech solar inverter system through the Hypontech Cloud platform. Track power production, energy yields, and system status. -
IDrive e2, added by @patrickvorgers
Back up your Home Assistant to an IDrive e2 bucket. IDrive e2 offers affordable S3-compatible cloud storage with flexible access controls for keeping your backups safe. -
Indevolt, added by @Xirt
Communicate directly with your Indevolt energy storage devices over the local network. Monitor energy production, consumption, and battery status. -
IntelliClima, added by @dvdinth
Integrate your Fantini Cosmi Ecocomfort 2.0 ventilation devices. Control fan modes and speeds of your mechanical ventilation with heat recovery system. -
Liebherr, added by @mettolen - launching at 🥈 silver quality
Control and monitor your Liebherr SmartDevice refrigerators and freezers via the cloud. Monitor temperatures, adjust cooling settings, and automate food safety alerts. -
MTA New York City Transit, added by @OnFreund - launching at 🥈 silver quality
Get real-time arrival predictions for all NYC subway and bus lines using data from the Metropolitan Transportation Authority (MTA). -
MyNeomitis, added by @l-pr
Connect your Axenco MyNeomitis heating and energy management devices, such as electric radiators, towel rails, and underfloor heating, to Home Assistant. -
OneDrive for Business, added by @zweckj - launching at 🏆 platinum quality
Use OneDrive for Business as a backup location for your Home Assistant backups. Great for users with a Microsoft 365 business subscription. -
Powerfox Local, added by @klaasnicolaas - launching at 🏆 platinum quality
Gather data from your Powerfox Poweropti device directly over your local network, offering faster updates with no cloud dependency. -
Redgtech, added by @Jonhsady
Connect your Redgtech smart switches to Home Assistant. Control and monitor your cloud-connected switches and relays from this Brazilian smart home brand. -
System Nexa 2, added by @konsulten - launching at 🥈 silver quality
Integrate your System Nexa 2 smart home devices locally. Control lights, switches, and smart plugs with support for dimmers and outdoor plugs. -
Teltonika, added by @karlbeecken - launching at 🥈 silver quality
Monitor your Teltonika Networks routers running RutOS. Track cellular signal quality, modem temperature, and network connectivity. -
Trane Local, added by @bdraco
Locally control Trane and American Standard thermostats over your network using a direct mTLS connection. No cloud required. -
Zinvolt, added by @joostlek
Monitor your Zinvolt batteries in Home Assistant, including state of charge and other battery metrics.
This release also has new virtual integrations. Virtual integrations are stubs that are handled by other (existing) integrations to help with findability. These ones are new:
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 are also being constantly improved. Here are some of the noteworthy changes to existing integrations:
- Matter now supports carbon monoxide alarm states and TVOC air quality level sensors. If you have Matter-certified CO sensors or air quality devices, they now show up in Home Assistant. Thanks, @Leo2442926161 and @lboue!
- HomeKit Controller now exposes water level sensors, so devices like the Smartmi Humidifier Rainforest will show their current water level in Home Assistant. Thanks, @romanlytvyn!
- Reolink cameras gained five new diagonal and continuous rotation PTZ buttons, plus the PTZ patrol switch now correctly reports its real-time status. Thanks, @starkillerOG!
- SmartThings now supports dual-cavity Samsung ovens, with separate entities for each chamber. It also gained switch and select controls for Samsung dishwasher washing options like sanitize, heated dry, and speed booster. Thanks, @mik-laj and @edu-tsen!
- Roborock now fully supports Zeo washing and drying machines with program selection, temperature control, drying modes, and detergent status sensors. Thanks, @yangqian!
- OpenAI Conversation now supports the
gpt-image-1.5image generation model for AI Tasks, offering cheaper and faster image generation. Thanks, @Shulyaka! - UniFi Protect cameras now have PTZ support with a
ptz_goto_presetaction for triggering presets and a PTZ patrol select entity with live state updates. Thanks, @RaHehl! - SwitchBot now lets you add passwords to Keypad Vision devices programmatically. It also gained a slow mode setting for curtain devices, which can reduce noise and improve reliability with heavier curtains. Thanks, @zerzhang and @ljmerza!
- Alexa Devices now supports Amazon Air Quality Monitor devices, exposing sensors for air quality index, VOC index, humidity, temperature, and particulate matter. Thanks, @jamesonuk!
- VeSync humidifiers now have a switch to enable or disable auto-drying mode for humidifier pads. Thanks, @cdnninja!
- SwitchBot Cloud now supports the SwitchBot AI Art Frame with battery level, next/previous picture buttons, and a display image entity showing the current picture. Thanks, @XiaoLing-git!
- KNX now allows configuring number entities and sending the current time directly from the UI. Additionally, expose gained a new periodic send option to periodically re-send entity states to the bus. Thanks, @farmio!
- MELCloud air-to-water devices now have additional sensors for RSSI signal strength, condensing temperature, fan frequency, and estimated energy produced. Thanks, @ffourcot!
- Nanoleaf replaced its underlying library with
aionanoleaf2, fixing authorization errors that prevented newer Nanoleaf Essentials devices from connecting. Thanks, @loebi-ch! - Uptime Kuma monitors now have uptime ratio and average response time sensors for 1-day, 30-day, and 365-day periods. Thanks, @tr4nt0r!
- Radarr gained two new actions:
radarr.get_moviesandradarr.get_queue, returning detailed information about movies in your library and the current download queue. Thanks, @Liquidmasl! - Renault vehicles now have buttons to remotely sound the horn or flash the lights. Thanks, @sebastiaanspeck!
- Proxmox VE gained a sensor platform with CPU usage, memory usage, disk usage, and status sensors for nodes, virtual machines, and containers. Thanks, @erwindouna!
- Mealie now has a
get_shopping_list_itemsaction that returns structured shopping list data, useful for automations that need more detail than the to-do entity provides. Thanks, @andrew-codechimp! - Ambient Weather Station now exposes sensors for the AQIN indoor air quality monitor, including PM2.5, PM10, CO2, temperature, humidity, and AQI measurements. Thanks, @n-6!
- WeatherFlow Tempest stations now show battery level as a percentage for consistency with other integrations. Thanks, @pkolbus!
- SleepIQ now provides five new sleep health sensors per sleeper: sleep score, sleep duration, heart rate average, respiratory rate average, and heart rate variability. Thanks, @rhcp011235!
- Anthropic now supports the Claude Opus 4.6 model with adaptive thinking effort levels, and gained native structured outputs for more accurate tool calls on models 4.5 and newer. Thanks, @Shulyaka!
- Tessie received several enhancements: an energy remaining sensor for vehicles, battery health diagnostics, island and grid status sensors for energy sites, and full energy history support for the Home Assistant Energy Dashboard. Thanks, @jrhillery and @Bre77!
- Portainer now supports Docker stack monitoring and control with status sensors, container counts, and start/stop switches. It also gained a
prune_imagesaction to clean up unused Docker images. Thanks, @erwindouna! - Nintendo Parental Controls now has a bedtime end time entity, complementing the existing bedtime start time for a complete bedtime schedule. Thanks, @pantherale0!
- LG Soundbar now supports play/pause media control, shows track title, artist, and album art, and reports playing/paused state. Thanks, @alexmerkel!
- Velux now supports on/off switches connected to the KLF 200 gateway. Thanks, @wollew!
- Switcher now supports Switcher heater devices for monitoring and control. Thanks, @YogevBokobza!
- Cambridge Audio devices now have a room correction switch for compatible models. Thanks, @noahhusby!
- Vera metered switches now expose power and energy sensors, bringing energy monitoring to your Vera devices. Thanks, @jronnols!
- Control4 thermostats now support fan mode control with Auto, Circulate, and On modes. Thanks, @davidrecordon!
- BSB-Lan now shows the current HVAC action (heating, cooling, idle) on the climate entity and gained a button to synchronize your heating system’s clock. Thanks, @liudger!
- JVC Projector gained a wide range of new sensors and controls: source, color depth, HDR status, picture mode, installation mode, light power, and switches for E-Shift and Low Latency Mode. Thanks, @SteveEasley!
- NRGkick EV chargers now have a switch to enable or pause car charging directly from Home Assistant. Thanks, @andijakl!
- Green Planet Energy now shows timestamp sensors for the highest and lowest energy price times of the day, helping you time your energy usage. Thanks, @petschni!
- Compit expanded significantly with new water heater, number, and binary sensor platforms for controlling hot water, adjusting temperature settings, and monitoring device states across their HVAC product range. Thanks, @Przemko92!
- Saunum now has a
start_sessionaction, letting you start a sauna session with custom duration, target temperature, and fan duration in a single call. Thanks, @mettolen! - Watts Vision + now supports controlling smart switches alongside the existing thermostat support. Thanks, @theobld-ww!
- Sunricher DALI now tracks energy consumption for DALI light devices connected through a Sunricher gateway. Thanks, @niracler!
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:
-
9 integrations reached platinum 🏆
- GIOŚ, thanks to @mik-laj
- HDFury, thanks to @glenndehaan
- Immich, thanks to @mib1185
- Namecheap DynamicDNS, thanks to @tr4nt0r
- Portainer, thanks to @erwindouna
- Ubiquiti airOS, thanks to @CoMPaTech
- Watts Vision +, thanks to @theobld-ww
- WLED, thanks to @mik-laj
- Xbox, thanks to @tr4nt0r
-
1 integration reached gold 🥇
- UptimeRobot, thanks to @chemelli74
-
6 integrations reached silver 🥈
- BSB-Lan, thanks to @liudger
- devolo Home Control, thanks to @Shutgun
- Mastodon, thanks to @andrew-codechimp
- NRGkick, thanks to @andijakl
- Teslemetry, thanks to @Bre77
- Velux, thanks to @wollew
-
7 integrations reached bronze 🥉
- Aladdin Connect, thanks to @JamieMagee
- Anthropic, thanks to @Shulyaka
- OpenAI, thanks to @zweckj
- OpenEVSE, thanks to @c00w
- Prana, thanks to @prana-dev-official
- Splunk, thanks to @Bre77
- VeSync, thanks to @cdnninja
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:
- InfluxDB, done by @RobBie1221
- Ness Alarm, done by @Poshy163
- Splunk, done by @Bre77
Other noteworthy changes
There are many more improvements in this release; here are some of the other noteworthy changes:
- The settings pages for Matter, Z-Wave, Zigbee, and Bluetooth have been reorganized for better clarity and discoverability. Thanks, @matthiasdebaat!
- You can now ask your Assist to remove items from a to-do list! The new remove item intent complements the existing complete item intent, so managing your lists by voice just got even easier. Thanks, @mistic100!
- The statistics graph card editor now offers “Year” as a selectable period, making it easy to view annual trends right from the UI. Thanks, @karwosts!
- The Security dashboard now also shows window-type covers (automated windows), so they appear alongside your other window and door sensors. Thanks, @jhenkens!
- The sections view now supports footer cards, giving you a sticky card at the bottom of the viewport, similar to the existing view header. Thanks, @MindFreeze!
Running on Python 3.14 🚀
This release ships running on Python 3.14! In case you are wondering what that means: Python is the programming language Home Assistant is built with.
So, why does it matter to you? Python 3.14 brings performance improvements to the foundation that Home Assistant is built on. The new version includes a faster interpreter, improved startup times, and better memory usage, all of which contribute to a snappier Home Assistant experience. 🚀
Don’t worry! We handle the upgrade to Python 3.14 automatically for you on all officially supported installation methods. Just upgrade Home Assistant as you normally would, and you are good to go! 😎
Patch releases
We will also release patch releases for Home Assistant 2026.3 in March. These patch releases only contain bug fixes. Our goal is to release a patch release once a week, aiming for Friday.
2026.3.1 - March 6
- Fix Rain Bird controllers updated by Rain Bird 2.x (@rblakemesser - #163915)
- Bump spotifyaio to 2.0.2 (@joostlek - #164114)
- Hunter Douglas Powerview: Fix missing class in hierarchy. (@gwww - #164264)
- Ensure Snapcast client has a valid current group before accessing group attributes. (@mill1000 - #164683)
- Fix button entity creation for devices with more than two radios (@tl-sl - #164699)
- Fix IntesisHome outdoor_temp not reported when value is 0.0 (@antonio-mello-ai - #164703)
- Update keyboard_remote dependencies (@lanrat - #164755)
- more programs for Miele steam ovens (@sean797 - #164768)
- Enforce SSRF redirect protection only for connector allowed_protocol_schema_set (@RaHehl - #164769)
- Remove caio from licenses exception list (@epenet - #164806)
- Add device class to active_liter_lpm sensor (@glenndehaan - #164809)
- Update ness_alarm scan interval to 5 secs (@Poshy163 - #164835)
- Fix Ghost config flow using wrong field name for site UUID (@JohnONolan - #164836)
- Fix KNX sensor default attributes for energy and volume DPTs (@farmio - #164838)
- Fix volvo test RuntimeWarning (@cdce8p - #164845)
- Fix ‘this’ variable in template options flow (@Petro31 - #164866)
- Bump onedrive-personal-sdk to 0.1.5 (@zweckj - #164880)
- Pass in Base Url during Roborock reauth (@Lash-L - #164903)
- Bump aiovodafone to 3.1.3 (@chemelli74 - #164955)
- Fix energy unit in Homevolt (@Danielhiversen - #164959)
- Bump python-bsblan to 5.1.1 (@liudger - #164591)
- Bump python-bsblan to 5.1.2 (@liudger - #164963)
- Change setpoint step size in IronOS integration (@tr4nt0r - #164979)
- Bump aioswitcher to 6.1.1 (@thecode - #164981)
- Bump teltasync to 0.2.0 (@karlbeecken - #164995)
2026.3.2 - March 16
- Fix wifi switch status and add 100% coverage for Fritz (@chemelli74 - #164696)
- Fix dnd switch status for Alexa Devices (@chemelli74 - #164953)
- Fix cover state updates for legacy Multilevel Switch based Z-Wave covers (@AlCalzone - #165003)
- Bump yalexs-ble to 3.2.8 (@bdraco - #165018)
- Update pychromecast to 14.0.10 (@elupus - #165069)
- Fix forced VERIFY_SSL in Portainer (@erwindouna - #165079)
- Bump pyportainer 1.0.32 (@erwindouna - #164803)
- Bump pyportainer to 1.0.33 (@erwindouna - #165080)
- Make restore state resilient to extra_restore_state_data errors (@arturpragacz - #165086)
- Bump pyanglianwater to 3.1.1 (@pantherale0 - #165097)
- Bump jvc_projector dependency to 2.0.2 (@SteveEasley - #165099)
- Add missing code for Miele dryer (@astrandb - #165122)
- Add reorder support to area selector (@bramkragten - #165211)
- Bump onedrive-personal-sdk to 0.1.6 (@zweckj - #165219)
- Fix switch set for Vodafone Station (@chemelli74 - #165273)
- Bump python-otbr-api to 2.9.0 (@TheJulianJES - #165298)
- Bump ohme to 1.7.0 (@dan-r - #165318)
- Bump pyjvcprojector to 2.0.3 (@SteveEasley - #165327)
- August oauth2 exception migration (@zachfeldman - #165397)
- Bump onedrive-personal-sdk to 0.1.7 (@zweckj - #165401)
- Remove stateclass from timestamp entity in Intellifire (@joostlek - #165403)
- Update govee local api to 2.4.0 (@Galorhallen - #165418)
- Update frontend to 20260312.0 (@bramkragten - #165420)
- Bump ZHA to 1.0.2 (@TheJulianJES - #165423)
- Handle OAuth token request exceptions in Yale setup (@bdraco - #165430)
- Bump orjson to 3.11.7 (@edenhaus - #165443)
- Bump pySmartThings to 3.7.0 (@joostlek - #165468)
- Bump aioamazondevices to 13.0.1 (@chemelli74 - #165476)
- Fix victron_ble warning sensor using duplicate alarm translation key (@rajlaud - #165502)
- Fix MQTT device tracker overrides via JSON state attributes without reset (@jbouwh - #165529)
- Upgrade ical dependency to 13.2.2. (@allenporter - #165642)
- Bump aiocomelit to 2.0.1 (@chemelli74 - #165663)
2026.3.3 - March 20
- Fix Tibber update token (@Danielhiversen - #164295)
- Add correct speed fan mapping for Z-Wave GE/Jasco Enbrighten ZWA4013 (@martinecker - #164500)
- Improve ProxmoxVE permissions validation (@CoMPaTech - #164770)
- Start orphaned entries in normal mode only (@erwindouna - #164815)
- Skip unmapped and watchdog event types in Hikvision NVR event injection (@ptarjan - #165009)
- Snapcast: Fix incorrect identifier extraction in
async_join_players(@mill1000 - #165020) - Hive: Fix bug in config flow for authentication and device registration (@KJonline - #165061)
- LG Soundbar: Fix incorrect state and outdated track information (@alexmerkel - #165148)
- Fix optional static values in bsblan (@liudger - #165488)
- Fix SmartLithium 8-cell support in victron_ble (@rajlaud - #165496)
- Fix Matter firmware update detection when version strings are identical (@lboue - #165509)
- Bump pyOpenSSL to 26.0.0 (@edenhaus - #165770)
- Bump pySmartThings to 3.7.2 (@joostlek - #165810)
- Bump axis to v67 (@Kane610 - #165840)
- Fix Abort exception caught by wrong handler in backup encrypt/decrypt (@agners - #165852)
- Proxmox fix restart/reboot action (@erwindouna - #165901)
- Do not use moving states for Multilevel Switch CC v1-3 Z-Wave covers (@AlCalzone - #165909)
- Fix unit when plant power is above 1000W in Hypontech (@jcisio - #165959)
- Bump hyponcloud from 0.3.0 to 0.9.0 (@jcisio - #166005)
- Don’t create fridge setpoint if no range in SmartThings (@joostlek - #166018)
- Fix enable/disable device tracking feature during setup of FRITZ!Box Tools (@mib1185 - #166027)
- Bump opower to 0.17.1 (@tronikos - #166044)
- Properly handle buttons of SMLIGHT SLZB-MRxU devices (@tl-sl - #166058)
- Bump Pysmlight to 0.3.0 (@tl-sl - #165658)
- Bump Pysmlight 0.3.1 (@tl-sl - #166060)
2026.3.4 - March 24
- Correct validation of scripts in template entities (@Petro31 - #165226)
- Update starlink-grpc-core to 1.2.4 (@boswelja - #165882)
- Bump python-google-weather-api to 0.0.6 (@tronikos - #166085)
- Bump xiaomi-ble to 1.10.0 (@xuejuhui - #166099)
- Add additional miele oven programs (@sean797 - #166100)
- Bump aiotedee to 0.2.27 (@zweckj - #166101)
- Fix reload of FRITZ!Box Tools in case of connection issues (@mib1185 - #166111)
- Bump wolf_comm to 0.0.48 (@EnjoyingM - #166144)
- Bump oralb-ble to 1.1.0 (@bdraco - #166165)
- Fix zwave_js fan speed mapping for GE/Jasco Enbrighten 55258 / ZW4002 (@airdrummingfool - #166169)
- Bump tplink-omada-client to fix breaking changes in Omada API (@MarkGodwin - #166206)
- Bump greenplanet-energy-api from 0.1.4 to 0.1.10 (@petschni - #166217)
- Bump yolink-api to 0.6.3 (@matrixd2 - #166232)
- Update frontend to 20260312.1 (@bramkragten - #166251)
- Update template light test framework (@Petro31 - #164688)
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.
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:
BSB-Lan
The water heater operation mode state on has been changed to performance for the BSB-Lan water heater. If you use this state in your automations or scripts, you will need to update them to use the new state value.
Container image
Home Assistant container images are now compressed with zstd instead of gzip. This change is supported on Docker 23.0.0 and later, and containerd 1.5.0 and later, so it is not expected to break installations that meet these minimum versions. If your environment uses an older Docker or containerd version, make sure your container runtime supports zstd before updating.
LIFX
Passing the color_temp parameter (in mireds) to the lifx.effect_pulse action is no longer allowed. Use the color_temp_kelvin parameter instead.
Lights
Using color_temp (in mireds) to set a light’s color temperature is no longer supported. Use color_temp_kelvin instead.
Additionally, the color_temp, kelvin, min_mireds, and max_mireds light entity state attributes have been removed. Use color_temp_kelvin, min_color_temp_kelvin, and max_color_temp_kelvin instead.
Satel Integra
Binary sensors and switches now have an initial state of unknown while the alarm panel is still reporting all states during startup. Previously, the default state was off, which was incorrect, as no data had been received from the panel yet.
The chance that you are impacted is low, as most states are reported before Home Assistant fully finishes setup; but this might occur on larger installations and slower connections.
Snapcast
Media player entities for Snapcast groups have been removed. Additionally, the Snapcast-specific grouping actions have been removed. If you use these entities or actions in your automations or scripts, you will need to update them.
StarLine
The ignition and autostart state attributes of the engine switch have been removed. Two new binary sensors have been introduced to replace them. If you reference these attributes in your automations or scripts, update them to use the new binary sensor entities instead.
Tado
Mobile device tracking has been removed from the Tado integration. Mobile devices and their associated device tracker entities are no longer available. This change resolves re-authentication issues and reduces unnecessary load on the Tado API.
Template
The behavior of template fans has changed:
- A template fan’s state will be
unavailableif thestatetemplate encounters a syntax error. Previously, a template error would show the fan’s state asoff. - The
percentageattribute will beNoneif thepercentagetemplate encounters a syntax error. Previously, it would be0. - Template fans can now have the
unknownstate. Astatetemplate that returnsNonewill render the entity asunknowninstead ofoff.
Z-Wave
Percentage speeds reported by Z-Wave fans have been corrected to align with other integrations. As a result, values may differ slightly. For example, a value previously reported as 67% may now appear as 66%. If you have automations that trigger on exact percentage values, you may need to adjust them.
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:
- async_listen in Labs is deprecated
- Changes in OAuth 2.0 helper error handling
- Custom integrations can now ship their own brand images
- Reconfiguration support for webhook helper
- Remove deprecated light features
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.3.
QNAP brengt de ZFS-gebaseerde high-density All-Flash TS-h1077AFU SATA SSD NAS met 10 schijfhouders uit, aangedreven door AMD Ryzen™ PRO 7000 Series pr...
NVIDIA Driver 595.71
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 Resident Evil Requiem
This new Game Ready Driver provides the best gaming experience for the latest new games supporting DLSS 4 technology including Resident Evil Requiem. In addition, there is Game Ready support for Marathon which features DLSS Super Resolution and NVIDIA Reflex.
Fixed Gaming Bugs
- The Ascent: Intermittent black bar on top of screen on GeForce RTX 50 Series GPUs [5859818]
- Total War: THREE KINGDOMS: Green artifacts appear on GeForce RTX 50 series [5745647]
- FINAL FANTASY XII The Zodiac Age crashes with fatal error after driver update [5741199]
- Call of Duty Modern Warfare (2019) displays image corruption after driver update [5733427]
- Quantum Break: Performance drops significantly on Act 4 Part 1 [5607678]
Fixed General Bugs
- 595.59: HW monitoring utilities not detecting all fans on the GPU [5934264]
- 595.59: One or more fans not spinning on GPUs after driver update [5934333]
- Blackmagic Design: AV1 decode crash with multiple obu in one packet [5671098]
Learn more in our Game Ready Driver article here.

v25.12.0
Hi,
The OpenWrt community is proud to announce the first stable release of the OpenWrt 25.12 stable series.
Download firmware images using the OpenWrt Firmware Selector:
Download firmware images directly from our download servers:
Highlights in OpenWrt 25.12
OpenWrt 25.12.0 incorporates over 4700 commits since branching the previous OpenWrt 24.10 release and has been under development for over one year.
Only the main changes are listed below. See changelog-25.12.0 for the full changelog.
Honoring Dave Täht
OpenWrt 25.12 is named Dave's Guitar to honor Dave Täht, who sadly passed away on April 1, 2025.
Dave played a key role in reducing bufferbloat and improving network latency in OpenWrt and across the wider internet. His work made networks faster, more responsive, and more reliable for millions of users.
This release is dedicated to his memory and lasting impact on the networking community.
General changes
The hardware requirements did not change significantly. Most devices supported by OpenWrt 24.10 are also supported in OpenWrt 25.12.
Switch package manager from opkg to apk
OpenWrt has transitioned from the traditional opkg package manager to apk (Alpine Package Keeper).
This change brings several advantages:
- apk is still maintained; the OpenWrt opkg fork is no longer maintained.
apk supports most features of opkg. Only very few package names changed. The command line arguments of apk are different from the command line arguments of opkg.
For users migrating existing systems, an official opkg to apk cheatsheet is available to ease the transition and map common workflows.
Integration of attended sysupgrade
The attended sysupgrade LuCI application is now installed by default.
owut is included by default in images for devices with larger flash storage.
ASU allows devices to:
- Upgrade to new OpenWrt firmware versions
- Automatically rebuild firmware images with all currently installed packages
- Preserve system configuration during upgrades
- ASU allows integrating additional installed packages directly into the SquashFS filesystem, which stores packages more efficiently than the overlay filesystem.
This dramatically simplifies upgrades: with just a few clicks in LuCI and a short wait, a custom firmware image is built and installed without manual intervention.
Shell history is preserved
Shell command history is now preserved across sessions by storing it in a RAM-backed filesystem.
Benefits:
- Command history is no longer lost between logins
- No unnecessary writes to flash storage by default
For users who prefer persistent history storage, this behavior can be changed by editing: ''/etc/profile.d/busybox-history-file.sh''
⚠️ Note: Storing history on flash will increase write cycles and may impact flash endurance over time.
Integration of video feed
The OpenWrt video feed with Qt5 and UI applications is integrated by default.
Wi-Fi scripts in ucode
The Wi-Fi scripts were rewritten in ucode.
This is part of the rewrite of the management scripts from shell scripts to ucode.
uCode is used for system scripts because it is faster and safer than shell scripts, and integrates directly with ubus and UCI.
Wi-Fi and network management scripts rewritten in uCode run faster, have fewer errors, and are easier to maintain.
Target changes
- Extend the realtek target with support for more switch SoCs like 10G Ethernet switches.
- Extend the qualcommax target with support for ipq50xx and ipq60xx SoCs.
- Added the siflower target for Siflower SF21A6826/SF21H8898 SoCs
- Added the sunxi/arm926ejs subtarget for Allwinner F1C100/200s SoCs
- Added the microchipsw/lan969x target with support for Microchip LAN969x switches.
Many new devices added
OpenWrt 25.12 supports over 2200 devices. Support for over 180 new devices was added in addition to the devices already supported in OpenWrt 24.10.
Most devices already supported by OpenWrt 24.10 are still supported.
Core components update
Core components have the following versions in 25.12.0:
- Updated toolchain:
- musl libc 1.2.5
- glibc 2.41
- gcc 14.3.0
- binutils 2.44
- Updated Linux kernel
- 6.12.71 for all targets
- main packages:
- cfg80211/mac80211 from kernel 6.18.7
- hostapd master snapshot from August 2025
- dnsmasq 2.91
- dropbear 2025.89
- busybox 1.37.0
In addition to the listed applications, many others were also updated.
OpenWrt 24.10 end of life
With the release of OpenWrt 25.12 stable series, the OpenWrt 24.10 stable series will go end of life in 6 months. We will not provide security updates for OpenWrt 24.10 after September 2026. We encourage everyone to upgrade to OpenWrt 25.12 before September 2026.
Upgrading to 25.12
Upgrading from 24.10 to 25.12 should be transparent on most devices, as most configuration data has either remained the same or will be translated correctly on first boot by the package init scripts.
-
Sysupgrade from 23.05 to 25.12 is not officially supported.
-
Cron log level was fixed in busybox.
system.@system[0].cronloglevelshould be set to7for normal logging.7is the default now. If this option is not set, the default is used and no manual action is needed. -
Bananapi BPI-R4: Interfaces ''eth1'' was renamed to ''sfp-lan'' or ''lan4'', and interface ''eth2'' was renamed to ''sfp-wan'' to match the labels. You have to upgrade without saving the configuration.
Scratch installs/upgrades
If you wish to start from scratch (always the safest, but also the most work), simply download the pre-built image from the downloads site or from the Firmware Selector to your device. Make sure to create and save a backup, then install the image using sysupgrade -n /tmp/firmware.bin or the LuCI Backup/Flash Firmware, being sure to set "Keep settings and retain the current configuration" to its off position. Restore or reconstruct your configuration using the contents of the backup as a template.
Attended Sysupgrade options
Attended Sysupgrade (ASU) allows you to build a custom image that retains all of your installed packages and their configuration transparently. You need to use one of the three ASU clients that interface with the ASU server to produce this custom image:
- Firmware Selector - an online builder that requires you to manually supply it with the packages you wish to have installed. This package list is sent to the ASU server, and a new custom device image is created containing those packages. You may then download and install the image in LuCI Backup/Flash Firmware, but for this you would enable "Keep settings..."
- Luci Attended Sysupgrade - the web interface to the ASU server. This tool allows you to choose a new OpenWrt version, then collects the names of the packages on your device and sends them up to the ASU server. LuCI ASU then downloads the created image directly to your device and allows you to install it, without having to do any of the bookkeeping tasks involved with using the Firmware Selector.
- owut - a command line package that does the same job as LuCI ASU, but provides more diagnostics and better visibility into what's happening at the various steps before and during the build process.
Both the LuCI ASU app and owut are optional packages in 24.10, so if you have not installed them, they won't be there by default. Use either the LuCI Package Manager to install them, or you can do it from the command line with opkg:
$ opkg update
$ opkg install luci-app-attendedsysupgrade
$ opkg install owut
Note that you can install one or the other, or both together, they are completely independent packages.
Upgrades with Firmware Selector
The Firmware Selector does an excellent job of searching through the thousands of available device configurations and getting you to the right place. But, some devices have several variants and possibly different image formats, so if you're unsure about which one you need or which device you're dealing with or anything else, go to the |Firmware Selector support thread and ask away.
Upgrades with LuCI Attended Sysupgrade
The LuCI web interface is fairly self-explanatory. If anything is unclear, please refer to the LuCI Attended Sysupgrade support thread for guidance.
Upgrades with owut
If you choose to use owut, the fact that it's a command line program means you'll need a little more explanation regarding best practices. In any situation, it's always safe to do a check to see what's going on.
$ owut check --verbose --version-to 25.12
... a lot of output ...
This check should show you all the details of what this upgrade entails with regards to the packages available, and will point out any issues with package versions and so on.
Assuming the results of the check look good, you can simply do an upgrade next.
$ owut upgrade --verbose --version-to 25.12
... even more output ...
If you are unsure of anything you see in the check, during the upgrade, or simply have questions, jump on over to the owut support thread on the forum and ask.
Known issues
- Users of Zyxel EX5601-T0 devices need to check their WAN interfaces as the port was renamed from
eth1towan. - Pixel 10 phones have problems connecting to WPA3 protected WiFi 6 APs. #21486
- 802.11r Fast Transition (FT) causes problems with some WiFi clients when WPA3 is used. #22200
Full release notes and upgrade instructions are available at
https://openwrt.org/releases/25.12/notes-25.12.0
In particular, make sure to read the regressions and known issues before upgrading:
https://openwrt.org/releases/25.12/notes-25.12.0#known_issues
For a detailed list of all changes since branching of 24.10, refer to
https://openwrt.org/releases/25.12/changelog-25.12.0
To download the 25.12.0 images, navigate to:
https://downloads.openwrt.org/releases/25.12.0/targets/
Use OpenWrt Firmware Selector to download:
https://firmware-selector.openwrt.org?version=25.12.0
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:
-
a low-volume mailing list for important announcements:
https://lists.openwrt.org/mailman/listinfo/openwrt-announce -
a dedicated "announcements" section in the forum:
https://forum.openwrt.org/c/announcements/14 -
other announcement channels (such as RSS feeds) might be added in the
future, they will be listed at https://openwrt.org/contact
QNAP behaalt Viettel Cyber Security Certificate of Completion
Heiman joins Works with Home Assistant
After an amazing 2025 that saw 12 new Works with Home Assistant partners join the program, it’s now time to say “Hei” to the first partner joining us this year: Heiman.
Founded back in 2005, Heiman specialize in smart home security devices, and are bringing an impressive selection of safety-focused sensors and alarms to the program: including the first Matter carbon monoxide alarms to be certified, along with smoke alarms designed for international markets.
Keep it local, keep it safe
If you’re new to the Works with Home Assistant program, it’s designed to help you identify devices that work brilliantly with Home Assistant, and support the Open Home Foundation’s principles of privacy, choice, and sustainability.
These values all pivot around local control, something that’s essential when it comes to home safety. Your smoke and CO alarms need to work when you need them most, regardless of your internet connection or cloud service status (though if you want to check in on your devices while away from home, Home Assistant Cloud provides secure remote access, and your subscription helps fund this very program, among other things!).
Our in-house team has thoroughly tested Heiman’s devices to ensure they meet this key requirement, and we’re happy to report they did! But Heiman has gone further still by using the Matter open connectivity standard…
Why this matters
Matter was launched to be a unifying connectivity type with interoperability at its heart. Instead of being locked into one company’s ecosystem, Matter devices work across Home Assistant, as well as other platforms like Google Home.
Heiman’s Matter devices work over Thread, which adds another layer of benefits. Thread is a low-power wireless mesh network protocol that creates resilient connectivity throughout your home, perfect for battery-powered sensors that need reliable communication while staying energy efficient. This is ideal for battery-powered sensors like Heiman’s that need to be energy efficient while maintaining reliable communication.
So why does all this matter for safety devices specifically? Well firstly, it’s important to know these smart devices will still work as “dumb” ones, so there’s always a failsafe if you decide to rebuild your Thread network, or start making tweaks. If your sensors integrate locally, it means you can automate basic checks, such as reminders to test an alarm once a month, or notifications of hardware faults. If you want to go even further, your smoke alarm could trigger emergency lighting, your CO detector could shut off your gas fireplace, or your leak sensor could close water valves, all without sending your private data through a third-party server. And this is just the sort of complete, interoperable ecosystem Heiman aims to provide.
"Our core goal has always been to enable every family to enjoy a safe and intelligent living experience. Home Assistant, as a world-leading open source smart home platform, has an open and inclusive ecological philosophy and strong compatibility with multi-brand and multi-protocol devices, which are highly consistent with the direction of our product research and development. We deeply understand that only by integrating into an open ecosystem can we break down device barriers and provide users with a truly seamless whole-house smart solution."
- Leo Xie, Software Engineer Manager at HeimanWorking with the community
Heiman is showing they’re true to these ambitions. Beyond getting certified, they’re planning to take an active role in the Home Assistant community by participating in discussions, listening to real-world feedback, and continuously optimizing their products based on what users actually need. They’re also sharing their technical expertise in smart home security, collaborating with developers to explore innovative safety scenarios that benefit everyone.
Devices
Heiman’s commitment to openness and community is also reflected in the devices we’ve certified, which also meet strict safety regulations across the US, Europe, Asia and beyond. Before Heiman joined, we had one Zigbee smoke alarm in the program. Now there are Matter options for multiple regions, plus the first certified carbon monoxide alarms: more choice, more coverage.
What devices have been certified?
- Heiman Smart Smoke Alarm (US)
- Heiman Smart Smoke Alarm (EU and China)
- Heiman Smart Carbon Monoxide Alarm
- Heiman Smart Carbon Monoxide Alarm
- Heiman Motion Sensor
- Heiman Water Leak Sensor
- Heiman Humidity and Temperature Sensor
Also worth noting: Heiman’s global presence allows them to deliver quality devices at prices that won’t break the bank. Safety sensors and alarms shouldn’t be a luxury, and Heiman’s approach means they don’t have to be.
No more guessing games!
Accessible pricing is just one way Heiman expands choice for users. We’ve found they also deliver on the other core principles behind the Works with Home Assistant program: local control protects privacy, and open standards ensure sustainability. And that’s the whole point of our certification process: to make it easier for you to spot manufacturers who genuinely commit to these values, taking the guesswork out of building your open home. For full details of all Works with Home Assistant partners, check out our certified device list.
Welcome to the program, Heiman, we’re excited to see what the community builds with these devices!
Frequently asked questions
If I have a device that is not listed under Works with Home Assistant, does this mean it’s not supported?
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 in the future.
OK, so what’s the point of the Works with program?
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 brands must continue to support the devices in the program.
How were these devices tested?
All devices in this list were tested using a standard Home Assistant Green Hub with the Home Assistant Connect ZBT-2 as the Thread Border Router and with our certified Matter integration.
Will you be adding more Heiman devices to the program?
Why not! We’re thrilled to foster a close relationship with the team at Heiman to work together on any upcoming releases or add in further products that are not yet listed here. We are also chatting with them about some exciting future plans.