โŒ

Normale weergave

Reproducible Builds: Reproducible Builds in May 2026

4 Juni 2026 om 21:12

Welcome to the May 2026 report from the Reproducible Builds project.

These reports outline what weโ€™ve been up to over the past month, highlighting items of news from elsewhere in the increasingly-important area of software supply-chain security. As ever, if you are interested in contributing to the Reproducible Builds project, please see the Contribute page on our website.

In this monthโ€™s report, we cover:

  1. Debian to ship reproducible packages in forky and beyond
  2. Holger Levsen on reproducing official Debian packages
  3. Reproducible Builds 2026 summit to be held in Gothenburg, Sweden
  4. Kettle: Attested Builds for Verifiable Software
  5. New rebuilderd version announced
  6. Reproducible open source messengers
  7. Distribution work
  8. Misc news
  9. Patches
  10. Documentation updates


Debian to ship reproducible packages in forky and beyond

In a huge change in Debianโ€™s reproducibility policy, the Debian Release Team announced that:

โ€ฆ weโ€™ve decided itโ€™s time to say that Debian must ship reproducible packages. Since yesterday, we have enabled our migration software to block migration of new packages that canโ€™t be reproduced [on reproduce.debian.net] or existing packages in testing that regress in reproducibility.

That is to say, if newly-uploaded packages are not reproducible, they wonโ€™t be considered candidates for inclusion in the next stable release of Debian codenamed forky. (Some exceptions may be granted.)

This news generated a number of articles and comments in various news outlets:


Holger Levsen on reproducing official Debian packages

Reproducible Builds developer Holger Levsen gave a talk at the 2026 Hamburg MiniDebconf this year on the topic of reproduce.debian.net - reproducing what is distributed from ftp.d.o.

Holgerโ€™s talk announced that Debian intends to ship only reproducible packages in forky and beyond (see above), but also talked more broadly about reproducible builds, our testing framework and the Debian archive. That is to say, moving away from testing whether a package is reproducible in a theoretical sense (eg. whether we can build it twice in different environments and achieve the same result in our test system), and attempting to reproduce the same .deb files in the official Debian archive itself. This small-sounding distinction is actually essential, as this is the only means through which the reproducible builds technique can determine whether build systems are compromised are not.

A video (32m37s) of the talk is available, as are Holgerโ€™s slides.


Reproducible Builds 2026 summit to be held in Gothenburg, Sweden

As initially announced in March 2026, we will be having our yearly Reproducible Builds summit 2026 in Gothenburg Sweden, from September 22 until 24, followed by two days of hacking!

Further information will be provided on our website and on the rb-general mailing list very soon.


Kettle: Attested Builds for Verifiable Software

Andrรฉ Arko and Amean Asad published a paper this month on Kettle, a build system that โ€œproduces cryptographically verifiable provenance for software built inside Trusted Execution Environmentsโ€:

A Kettle build records the source commit, dependency set, toolchain, build environment and output artifact digests in a provenance document produced inside a measured confidential VM. The SHA-256 digest of that document is committed to the TEE platformโ€™s attestation report-data field, so the hardware-signed attestation report is itself the signature on the provenance, with the signing identity chaining to the TEE manufacturerโ€™s root of trust rather than to the build infrastructure operator. Because the CVM image is itself reproducible, its launch measurement is public and stable, which lets a build requester pre-attest the CVM before submitting any input and optionally deliver source over a TLS channel terminated inside it, so the build runs end-to-end confidentially without the host ever seeing source code in plaintext.

A PDF of the paper is available online.


New rebuilderd version announced

rebuilderd, our server designed for monitoring the official package repositories of Linux distributions and attempt to reproduce the observed results there; it powers, amongst other things, reproduce.debian.net.

A new version, 0.27.0, was released this month, with the following headline changes:

  • Improved .udeb support
  • Breaking changes in pkg sync configuration
  • Manual cleanup needed for Arch Linux instances

As kpcyrdโ€™s announcement mentions:

The new rebuilderd package is currently available in the extra-testing repository. Note the Arch Linux package is upgraded from v0.25.0 from v0.27.0; please be patient with the database migrations on first restart, and make yourself familiar with the breaking changes in v0.26.0 too.


Reproducible open source messengers

GitHub developer BarbossHack is maintaining an repository/page on GitHub to โ€œtrack reproducibility status of open source messengersโ€.


Distribution work

In Debian this month, the loong64 architecture was added to reproduce.debian.net. This is a 64-bit Reduced Instruction Set Computer (RISC) instruction set architecture developed by Loongson.

Vagrant Cascadian performed Non-Maintainer Uploads (NMUs) in Debian for several packages with outstanding patches over a year old. These included rocdbgapi, onevpl-intel-gpu, python-pytest-shell-utilities, python-mt-940 and pympress.

On tests.reproducible-builds.org, Vagrant Cascadian fixed the huge spike in build failures by adding passwd to the base tarballs, and re-enabled building gcc and binutils packages with PGO (Profile Guided Optimization) and LTO (Link Time Optimization) to avoid giving a false sense of reproducibility.

Inconsistencies on the reproducibility of the condor package were brought up on the Debian reproducible-builds mailing list. Following a hunch, Vagrant Cascadian eventually identified the issue was related to embedded kernel versions which was then fixed upstream and fixed in Debian as well.

Lastly, 40 reviews of Debian packages were added, 68 were updated and 75 were removed this month adding to our knowledge about identified issues. A number of issue types were updated, such as the addition of a new sphinx_reading_durations toolchain issueย [โ€ฆ], a golang_mango_generates_manpages_with_build_date issueย [โ€ฆ] and a random_offset_id_in_cython_linetraceย [โ€ฆ]. In addition, the timestamps_in_qhc issue was โ€œrefocusedโ€ to timestamps_in_qhcย [โ€ฆ].


In Fedora, Jelle van der Waa submitted a request for an official Fedora rebuilderd package which was reviewed by Neal Gompa.


Lastly, Bernhard M. Wiedemann posted another openSUSE monthly update for their reproducibility work there.


Misc news

On our mailing list this month:


Patches

The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where applicable or possible. This month, we wrote a large number of such patches, including:


Documentation updates





Finally, if you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:

  •  

v1.20.0

Door: kmendell
4 Juni 2026 om 19:48

New features

  • add removeOrphans option to project deploy/redeploy (#2785 by @khanhx)
  • prune idle volume browser helper containers (#2767 by @Zgrill2)

Bug fixes

Dependencies

Full Changelog: v1.19.5...v1.20.0

  •  

2.7.2

Door: clsid2
4 Juni 2026 om 18:31

Donations are appreciated. There is now a PayPal option.

Changes from 2.7.1 to 2.7.2:

Updates:

  • Updated LAV Filters to version 0.81-23-g6fadb
  • Updated MPC Video Renderer to version 0.10.2.2540
  • Updated MediaInfo DLL to version 26.05
  • Updated MPC Audio Renderer

Fixes:

  • Several crash fixes, bug fixes and small improvements.

OpenSubtitles download error 406

Subtitle downloads from OpenSubtitles may fail depending on time of day. This is due to our daily download quota being exceeded. Current amount of donations is barely enough to pay for the existing quota. So it is unlikely that quota can be increased and situation will get worse over time.
If you create an OpenSubtitles account and configure it in MPC-HC settings then you may be able to bypass the quota.
Options > Subtitles > Misc > Right-click on OpenSubtitles.com > Setup > Fill in username/password

Overview of features

A lot of people seem to be unaware of some of the awesome features that have been added to MPC-HC in the past years. Here is a list of useful options and features that everyone should know about:

  • Play HDR video
    This requires using either MPC Video Renderer (MPCVR) or madVR.
    These renderers can be selected here:
    Options > Playback > Output
    With other video renderers, the colors will be wrong!
    MPCVR is now included and is the recommended renderer for modern systems. MadVR needs to be installed separately. MPCVR also supports Dolby Vision. MadVR does not.
    For optimal performance you should change the hardware decoder to D3D11 in LAV Video Decoder settings when using MPCVR on Windows 10/11, because this renderer uses DirectX11.
    (Automatic detection of GPU and configuration of the above settings is high on my ToDo list, so MPC-HC will have better default out-of-the-box settings on modern systems in the future.)
  • The installer of MPC-HC is very basic (and that will not change).
    I therefore recommend using K-Lite Codec Pack. That includes MPC-HC and other essential components. It has a very advanced installation that can automatically create file associations, and helps you with easy configuration of important MPC-HC settings, such as preferred subtitle language. It also does automatic configuration of renderer and hardware decoding, for best performance and HDR support.
    The Standard version should be sufficient for most people. Use Full version of you like to use MadVR.
  • Modern GUI Theme (Dark or Light) or the old classic theme
    Options > Player > User Interface
    It is also possible to change the height of the seekbar and size of the toolbar buttons.
    Plus there are options to show audio/video details in the statusbar, such as codec and resolution.
  • Customizable toolbar buttons
    You can add/remove/re-order the player buttons.
    There are also several different toolbar designs to choose from.
  • Video preview on the seekbar
    Options > Player > User Interface > Hover type
  • Ability to search for subtitles
    Press D for manual search.
    Or enable automatic search in: Options > Subtitles > Misc
  • Adjust playback speed
    Menu > Play > Playback rate
    The buttons in the player that control playback rate take a 2x step by default. This can be customized to smaller values (like 10%):
    Options > Playback > Speed step
    Adjusting playback speed works best with the internal audio renderer. This also has automatic pitch correction.
    Options > Playback > Output > Audio Renderer
  • MPC-HC can remember recently played files and also their playback position, so you can resume playback from when you left
    Options > Player > History
  • You can quickly seek through a video with Ctrl + Mouse Scrollwheel.
  • You can jump to next/previous file in a folder by pressing PageUp/PageDown.
  • You can right-click on the framestep button to step backwards. Some other buttons also have right-click actions, such as closing file by right-clicking stop.
  • You can perform automatic actions at end of file. For example to go to next file or close player.
    Options > Playback > After Playback (permanent setting)
    Menu > Play > After Playback (for current file only)
  • A-B repeat
    You can loop a segment of a video. Press [ and ] to set start and stop markers.
  • You can rotate/flip/mirror/stretch/zoom the video
    Menu > View > Pan&Scan
    This is also easily done with hotkeys (see below).
  • There are lots of keyboard hotkeys and mouse actions to control the player. They can be customized as well.
    Options > Player > Keys
    Tip: there is a search box above the table.
  • You can hide GUI elements even in windowed mode
    Options > User Interface > Hide Windowed Controls
    That hides most GUI elements during playback. To show them simply move your mouse to bottom of window.
    You can even hide everything except the video by pressing 1 (restore normal view with 3).
  • You can seek inside the playlist by simply typing text (when playlist window has the mouse focus).
  • MPC-HC also supports Blu-ray playback.
    Only limitation is that you need to use a decrypting tool.
    And it also does not support Blu-ray menus, but you can use the navigate menu in the player to select the content to play.
  • You can stream videos directly from Youtube and many other video websites
    Put yt-dlp.exe in the MPC-HC installation folder.
    Then you can open website URLs in the player: Menu > File > Open File/URL
    You can even download those videos: Menu > File > Save a copy
    Tip: to be able to download in best quality with yt-dlp, it is recommended to also put ffmpeg.exe in the MPC-HC folder.
    Several YDL configuration options are found here: Options > Advanced
    This includes an option to specify the location of yt-dlp.exe in case you don't want to put it in MPC-HC folder.
    Note 1: You also need to install Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
    Note 2: For optimal Youtube support you may also need to put deno.exe in same folder as yt-dlp.
    Note 3: yt-dlp nightly build (very latest version made daily)
    Note 4: yt-dlp windows7 compatible build
  • Besides all these (new) features, there have also been many bugfixes and internal improvements in the player in the past years that give better performance and stability. It also has updated internal codecs. Support was added for CUE sheets, WebVTT subtitles, etc.
  • You should really take a few minutes to look through all the options pages if you are a new user or if you are upgrading from a very old version. Don't forget the advanced options page.

MPC Video Renderer

Frequently Asked Questions

  •  

CPU-Z 2.20.2

4 Juni 2026 om 18:00
  • Intel Arc G3 and G3 Extreme (Panther Lake)(2.20.2).
  • AMD Ryzen 7 7700X3D (Raphael) (2.20.1).
  • AMD Ryzen AI Max+ 495, 492, 488 (Gorgon Halo).
  • AMD Ryzen AI Max 490, 485 (Gorgon Halo).
  • AMD Ryzen AI Max PRO 495, 490, 485, 480 (Gorgon Halo).
  • AMD Ryzen 9 9950X3D2 (Granite Ridge).
  • AMD Ryzen 9 PRO 9965X3D, PRO 9945 (Granite Ridge).
  • AMD Ryzen 7 PRO 9755, PRO 9745 (Granite Ridge).
  • AMD Ryzen 5 PRO 9645 (Granite Ridge).
  • AMD Ryzen AI 7/PRO 450G/GE (Gorgon Point 2).
  • AMD Ryzen AI 5/PRO 440G/GE (Gorgon Point 2).
  • AMD Ryzen AI 5/PRO 435G/GE (Gorgon Point 3).
  • AMD Ryzen AI Max+ 392 (Strix Halo).
  • Intel Core Ultra 5 250KF Plus (Arrow Lake Refresh).
  • Intel Core 7 360 and 350 (Wildcat Lake).
  • Intel Core 5 330, 320 and 315 (Wildcat Lake).
  • Intel Core 3 304 (Wildcat Lake).
  • Intel Core 9 273PQE, 273PTE, 273PE (Bartlett Lake).
  • Intel Core 7 253PQE, 253PTE, 253PE, 251TE, 251E (Bartlett Lake).
  • Intel Core 5 223PQE, 223PTE, 223PE, 221TE, 221E, 213PTE, 213PE, 211TE, 211E (Bartlett Lake).
  • Intel Core 3 201TE, 201E (Bartlett Lake).
  • Intel Arc Pro B70 and B65 (BMG-G31).
  • Intel Arc Pro B60 and B50 (BMG-G21).
  • Support of HUDIMM and HSODIMM memory modules.
  •  

FileZilla Client 3.70.6 released

Door: Tim Kosse
4 Juni 2026 om 17:16

New features:

  • SFTP: Added compatibility flag to Site Manager to ignore invalid bits in file attributes flags received from non-compliant servers

Bugfixes and minor changes:

  • SFTP: Updated to fzssh 1.3.0
  • Updated to libfilezilla 0.56.1
  • Removed autodetection of FTP server type governing the remote path syntax. Exotic server types now need to be set explicitly on the advanced page in the Site Manager
  •  

Minecraft 26.2-pre-4 (snapshot) Released

4 Juni 2026 om 14:38
26.2 Pre-Release 4 (known as 26.2-pre-4 in the launcher) is the fourth pre-release for Java Edition 26.2, released on June 4, 2026. Full changelog: https://minecraft.wiki/Java_Edition_26.2-pre-4
  •  

Asterisk Release 23.4.0-rc1

4 Juni 2026 om 16:13

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-23.4.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.4.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.4.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.4.0-rc1

Links:

Summary:

  • Commits: 53
  • Commit Authors: 24
  • Issues Resolved: 43
  • Security Advisories Resolved: 0

  •  

Asterisk Release 22.10.0-rc1

4 Juni 2026 om 16:03

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-22.10.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.10.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.10.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.10.0-rc1

Links:

Summary:

  • Commits: 53
  • Commit Authors: 24
  • Issues Resolved: 43
  • Security Advisories Resolved: 0

  •  

Asterisk Release 20.20.0-rc1

4 Juni 2026 om 15:04

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-20.20.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.20.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 20.20.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.20.0-rc1

Links:

Summary:

  • Commits: 53
  • Commit Authors: 24
  • Issues Resolved: 43
  • Security Advisories Resolved: 0

  •  

PostgreSQL 19 Beta 1 Released!

4 Juni 2026 om 02:00

The PostgreSQL Global Development Group announces that the first beta release of PostgreSQL 19 is now available for download. This release contains PostgreSQL 19 feature previews ahead of general availability, though some details of the release can change during the beta period.

You can find information about all of the PostgreSQL 19 features and changes in the release notes:

https://www.postgresql.org/docs/19/release-19.html

In the spirit of the open source PostgreSQL community, we strongly encourage you to test the new features of PostgreSQL 19 on your systems to help us eliminate bugs and other issues. While we do not advise you to run beta versions in production environments, we encourage you to find ways to run your typical application workloads against this beta release.

Your testing and feedback help the community ensure that PostgreSQL 19 upholds our standards of delivering a stable, reliable release of the world's most advanced open source relational database. Please read more about our beta testing process and how you can contribute:

https://www.postgresql.org/developer/beta/

PostgreSQL 19 Feature Highlights

Below are some of the feature highlights that are planned for PostgreSQL 19. This list is not exhaustive; for the full list of planned features, please see the release notes.

Performance

PostgreSQL 19 builds on the asynchronous I/O subsystem introduced in PostgreSQL 18. In this release, io_method=worker now automatically scales the number of I/O workers based on the new io_min_workers and io_max_workers settings.

This release also introduces the pg_plan_advice extension, which lets users stabilize and control planner decisions, along with pg_stash_advice to apply advice automatically using query identifiers.

This release brings improvements to vacuum and maintenance operations. Autovacuum can now use parallel workers, which can be configured with the new autovacuum_max_parallel_workers setting, and a new autovacuum scoring system helps prioritize tables to vacuum. PostgreSQL 19 further enhances vacuum with a new strategy that can automatically reduce future vacuuming work by marking pages as visible while they're being queried. Additionally, this release adds the new REPACK command and its nonblocking CONCURRENTLY option, which allow tables to be rebuilt with less operational overhead.

PostgreSQL 19 shows up to 2x better performance on inserts when foreign key checks are present. Additionally, this release improves several areas of the query planner and executor, including new anti-join optimizations, broader use of incremental sorts, eager aggregation that speeds up row processing, faster reads from storage during parallel sequential scans, and simplification of IS DISTINCT FROM and IS NOT DISTINCT FROM to plain <> and = operators when the inputs are not nullable. There are also improvements for LISTEN/NOTIFY scalability that impact multi-channel workloads.

Developer Experience

PostgreSQL 19 introduces support for SQL/PGQ, letting users execute property graph queries using SQL standard syntax. This release also expands temporal query capabilities with UPDATE and DELETE support for the FOR PORTION OF clause, complementing the temporal constraint support added in PostgreSQL 18. This release also adds ALTER TABLE ... MERGE PARTITIONS and ALTER TABLE ... SPLIT PARTITIONS to make it easier to reorganize partitioned tables in place. There is now also support for returning rows that conflict during an upsert operation using INSERT ... ON CONFLICT DO SELECT ... RETURNING.

PostgreSQL 19 introduces the new GROUP BY ALL syntax, making it easy to add all non-aggregate and non-window output columns as part of the grouping. This release extends string processing capabilities in jsonpath with the addition of lower(), upper(), initcap(), replace(), split_part(), and the trim() family of functions.

PostgreSQL 19 makes it easier to adopt "read-your-writes" query patterns when working with replicas using the new WAIT FOR LSN command. This lets a session wait until changes up to a specific log position (LSN) have been replayed on the replica before executing a SELECT query.

PostgreSQL 19 also adds new SQL functions to retrieve the DDL statements needed to recreate roles, tablespaces, and databases, simplifying scripting and migration tasks. Additionally, the random() function now works with date and timestamp types, and PL/Python now supports event triggers.

Security Features

PostgreSQL 19 adds server-side support for Server Name Indication (SNI) through a new pg_hosts.conf file, allowing a single PostgreSQL server to present different TLS certificates based on the hostname requested by the client. There is also a new password_expiration_warning_threshold setting (defaulting to 7 days) to warn users in advance of upcoming password expirations.

Further to the ongoing deprecation efforts of md5 authentication, this release issues a warning to the client after a successful md5 authentication. This is controllable via the new md5_password_warnings setting.

Monitoring and Observability

PostgreSQL 19 introduces the pg_stat_lock view, which reports per-lock-type statistics, and pg_stat_recovery which provides detailed visibility into the state of recovery operations. A stats_reset column is now available across many statistics views to show when counters were last cleared. The pg_stat_progress_vacuum and pg_stat_progress_analyze views now include a started_by column that reports the initiator of the operation, and pg_stat_progress_vacuum also has a mode column that reports how vacuum is operating.

This release also allows log_min_messages levels to be specified per process type, giving operators finer control over what each part of the system logs. Additionally, WAL full page write byte counts are now reported in VACUUM and ANALYZE log output, helping identify maintenance operations that generate large amounts of WAL. Additionally, EXPLAIN ANALYZE now supports surfacing asynchronous I/O (AIO) statistics through its IO option, providing better visibility into how queries are using the AIO subsystem.

Logical Replication and Query Federation

In PostgreSQL 19, logical replication now replicates sequence values, simplifying tasks like online upgrades. Additionally, the new CREATE PUBLICATION ... EXCEPT syntax allows you to publish all tables in a database except for a specified set, while CREATE SUBSCRIPTION ... SERVER allows subscriptions to be defined using a foreign server, simplifying credential management.

PostgreSQL 19 makes it possible to enable logical replication without restarting a server. Logical replication can now be enabled on demand even when wal_level is set to replica, and the new read-only effective_wal_level parameter reports the WAL level currently in effect. This reduces the need to commit upfront to a higher WAL level for clusters that may only occasionally need it, and avoids disrupting an active workload.

The PostgreSQL foreign data wrapper, postgres_fdw, used for query federation, includes several performance improvements, including pushing down array operations to the remote server, and retrieving and using statistics from foreign tables to support better local query planning.

Other Highlights

The PostgreSQL 19 beta period includes a temporary "grease mode" to try to find protocol compatibility problems in the wider ecosystem. This wiki page contains information on how the campaign works:

https://wiki.postgresql.org/wiki/Grease

PostgreSQL 19 allows data checksums to be enabled or disabled online, without requiring a cluster restart or reinitialization.

There are several notable changes to be aware of in PostgreSQL 19. Just-in-time compilation (JIT) is now disabled by default, and the default_toast_compression setting now defaults to lz4, providing better default compression and decompression performance. Support for RADIUS authentication is now removed. Additionally, the vacuumdb --analyze-only command by default analyzes partitioned tables.

Additional Features

Many other new features and improvements have been added to PostgreSQL 19. Many of these may also be helpful for your use cases. Please see the release notes for a complete list of new and changed features:

https://www.postgresql.org/docs/19/release-19.html

Testing for Bugs & Compatibility

The stability of each PostgreSQL release greatly depends on you, the community, to test the upcoming version with your workloads and testing tools to find bugs and regressions before the general availability of PostgreSQL 19. As this is a Beta, minor changes to database behaviors, feature details, and APIs are still possible. Your feedback and testing will help determine the final tweaks on the new features, so please test in the near future. The quality of user testing helps determine when we can make a final release.

A list of open issues is publicly available in the PostgreSQL wiki. You can report bugs using this form on the PostgreSQL website:

https://www.postgresql.org/account/submitbug/

Beta Schedule

This is the first beta release of version 19. The PostgreSQL Project will release additional betas as required for testing, followed by one or more release candidates, until the final release around September/October 2026. For further information please see the Beta Testing page.

Links

  •  

Jonathan Dowland: mount namespace for backup jobs (by hand)

4 Juni 2026 om 12:15

It's been ten years since I configured mount on demand backups to reduce the risk of my backups being zapped by mistake. Way back then I wanted to go one step further and use dedicated mount namespaces for backup jobs, but systemd didn't provide the necessary support (and still doesn't, despite the promisingly-named JoinsNameSpaceOf= configuration option.)

I recently updated my setup to achieve this by hand. All backup jobs now have an extra pre-start instruction ExecStartPre=mkbackupns which runs a shell script to either set up a persistent mount namespace, or exit quietly if it already exists.

#!/bin/bash
set -euo pipefail

nsdir=/var/namespaces
nsfile=$nsdir/backup
nsfilex="$(echo $nsfile | sed 's#/#\\/#'g)"

private_propagation() {
    findmnt -o+PROPAGATION "$nsdir" | grep -q private
}
nsfs_is_mounted() {
    test "nsfs" = "$(awk "/$nsfilex/ { print \$3 }" /proc/mounts)"
}

if ! nsfs_is_mounted; then

    if ! private_propagation; then
        mkdir -p "$nsdir"
        mount --bind --make-private "$nsdir" "$nsdir"
    fi

    touch "$nsfile"
    unshare --mount="$nsfile" true

    nsenter --mount=/var/namespaces/backup mount /dev/phobos_backup/backup /backup
fi

I should note that I don't have the backup filesystem described in /etc/fstab to reduce the risk of it being mounted errantly in the main namespace.

The other change is to prefix an invocation of nsenter for every backup job command. E.g.:

ExecStart=/usr/bin/nsenter \
        --mount=/var/namespaces/backup \
        borgmatic -v 1 prune create

next steps

My backup scheme has lasted a decade with few tweaks (I moved it to Borg in 2020) which I am very grateful for. I want reliable, boring and robust.

Persistent mount namespaces are a lot less convoluted if you have a persistent process to associate them with. I didn't, but a subsequent improvement I am making is introducing one, so I will likely simplify the above accordingly.

  •  

v1.7.3 - Read Receipts, Inline Attachment Preview, Per-Viewer Calendar Colors & New Themes

Door: rathlinus
4 Juni 2026 om 10:47

1.7.3 (2026-06-04)

Features

  • Mail: Inline attachment preview โ€” reliable MIME detection with inline PDF on desktop and mobile
  • Mail: Preview composer attachments inline (click to open)
  • Mail: Preview .eml (message/rfc822) attachments like an email
  • Mail: Read receipts (MDN, RFC 8098)
  • Mail: Editable, layout-preserving quote island when replying
  • Mail: Surface the most severe SPF result and hide the "via" badge on spoofed mail
  • Calendar: Per-viewer colors for shared calendars (#345)
  • Filters: Extended filter rules โ€” attachment field and multi-value conditions
  • Settings: New built-in themes โ€” Aurora Glass and Elastic
  • Settings: Theme cards render as a mini mailbox mockup from theme colors, with light/dark variant chips
  • Plugins: Localizable sandboxed plugins (manifest locales + api.i18n.t)
  • Plugins: /api/translate proxy and email body exposed to plugins
  • Admin: Toggle for search-engine indexing (robots)
  • Admin: passwordHashFile in admin.json
  • Admin: sessionSecretFile and oauthClientSecretFile for file-based secrets in JSON config
  • PWA: Configurable install screenshots (per-domain)
  • i18n: Hungarian locale support

Fixes

  • Files: Store Files as real FileNode hierarchy, migrate legacy flat-named files on load, and list folders via FileNode/get so they are visible (#379)
  • Files: Treat a blob-less FileNode as the only folder signal and migrate legacy dir-markers
  • Mail: Empty Trash for shared and group folders (#387)
  • Mail: Move mail from a shared group inbox to a personal inbox (#375)
  • Mail: Preserve the HTML signature when sending a quick reply
  • Mail: Stop body clipping under the fold when the email sets html/body height: 100%
  • Mail: Drop single-letter R:/I: subject prefix tokens and deduplicate localized reply/forward prefixes
  • Mail: No more 404 console spam for missing sender favicons
  • Auth: Discover OIDC metadata server-side to avoid CORS failures (#382)
  • Send: Route the Sent copy to the shared-mailbox account on per-identity send
  • Routing: Honour basePath in the plugin sandbox, http.post proxy, and branding
  • i18n: Localize the PWA install prompt, reply/forward quote header (incl. sender address), <html lang>, and per-locale <head> description; add missing settings.folders.role_memos key
  • Themes: Plugin slot iframes inherit host font and color tokens
  • Theme: Gate preview "open in new tab" on inline-safe MIME types
  • Appearance: Move Themes settings into the Appearance category with a distinct tab icon; clicking the active theme is a no-op
  • UI: Fix invisible dark-mode borders (border token collided with secondary)
  • UI: Remove the 16px empty strip beside the collapsed sidebar
  • UI: Align top bars to a uniform h-14 height and the account selector header to the search/reply toolbars
  • UI: Close pane gaps by centering the resize handle on the seam
  • Settings: Fix section gears permanently hijacking the active tab

  •  

Euro Truck Simulator 2: 1.60 Update Open Beta

Door: Petr
4 Juni 2026 om 10:08

We're happy to announce that the Open Beta for the 1.60 update forย Euro Truck Simulator 2 is now available for players to try out and test. If you choose to participate, we'd greatly appreciate any feedback, bug reports, or issues you encounter being shared in the appropriate section of our official forums.

Your feedback and reports are incredibly valuable to our team, and we truly appreciate everyone taking the time to help us refine and improve the game experience. Now, without further ado, let's take a closer look at what the 1.60 Open Beta has in store.

Game Radio

With Update 1.60, we are introducing Game Radio, a brand-new in-game radio system designed to make every drive feel more immersive and authentic. Rather than just playing music, Game Radio gives you five stations with their own distinct sounds, identities, and moods, each one built to shape the atmosphere of your journey in a different way.

At launch, players can tune into Rust FM, Escape, PUMP IT!, Pop Gear, and Roadio, spanning guitar-driven rock and American roots music to electronic, pop, and lo-fi. Each station features carefully curated tracks, handpicked to hold up across many hours on the road. Escape is also the only stream-safe station at launch, designed to help content creators avoid copyright claims.

Game Radio also introduces a new in-game widget displaying station info, track titles, and artist names while driving. Players can customize widget behavior through the Widget Options menu (F6). This update also brings a range of improvements to the existing radio and music player systems.

Game Radio arrives with its musical foundation in place, with more planned for future updates. You can find out more information about Game Radio in our dedicated blog post.

Improved Material System

The Improved Material System significantly improves the lighting and visual quality of vehicle interiors in selected trucks. Its main focus is to enhance how interior materials react to light, which will result in a more readable, detailed, and visually pleasing cabin environment.

During the development of Project Road Trip, we implemented a wide range of visual and technical improvements. One of the most significant changes was a redesign of the materials used in vehicle interiors. As a result, it makes differences between materials such as leather, fabric, plastic, and metal far more apparent, even in low-light conditions. The new solution uses multiple variants of dynamic cubemaps, allowing all materials to reflect their surroundings more naturally and respond to ambient light in a more realistic way.

The entire system was designed from the start with the interiors of trucks in both games in mind, so the base games and their existing fleets will gradually benefit from these improvements as well. The first trucks to benefit from the Improved Material System in ETS2 will be the DAF NGD and MAN TG3 TGX models. With future updates, we will gradually add this technology for other trucks across both games. You can read more about this feature here.

Light Tweaks

We have carried out minor adjustments to the global lighting, primarily focused on exposure and contrast balancing, along with subtle visual refinements for bad weather conditions. The work mainly consisted of smoothing out and polishing the overall visuals to achieve a more consistent and refined look.

Volvo FH Series 6 Update

With this update, truckers will be able to customize their Volvo FH Series 6 with a selection of several new aerodynamic parts, including the newly designed aerodynamic roof deflectors available for the Sleeper Cab, Globetrotter, and Globetrotter XL cab variants. These updated components help create a smoother and more refined roof profile, blending seamlessly into the truck's overall design.

Alongside these additions, all Aero cabin variants will also have the option to add new distinctive black aerodynamic A-Pillar trim, as featured on the newest generation of Volvo FH truck.ย These new additions reflect Volvo Trucks' ongoing efforts to improve aerodynamic efficiency and optimise airflow around the cab to help enhance energy efficiency and overall vehicle performance.

Job Details Widget

Based on feedback from our #BestCommunityEver and upcoming widget designs, the Job Details Widget will be introduced with the 1.60 update. Its primary purpose will be to enable a new, more immediate, and concise way of displaying relevant job info. Also, in response to community feedback, the GPS will now display the estimated arrival day and time, along with the remaining travel time and distance.

Once added, you'll be able to enable the Job Details Widget through the Widget Options menu (F6). The widget will display key job information, including cargo type and weight, delivery location, job income (colour-highlighted), and the remaining time to complete the job, so players will have this info available immediately without the necessity to pause the game. You can read more about the feature here.

Expanded Rest Mechanic

This new feature gives players greater control over their rest periods by allowing them to choose how long they want to sleep and exactly when they want to wake up, instead of being limited to a predefined rest duration.

Alongside this change, the Fatigue system will now be split into two separate values: Rest State and Mandatory Break, each represented by its own icon in the UI.

The Rest State, symbolised by a bed icon, will now gradually deplete rather than recover over time. Extended periods of driving will steadily reduce the Rest State, while resting will restore it at a faster rate.

The Mandatory Break system, indicated by a "P" icon along with the remaining hours before a required stop, will function more strictly. In Euro Truck Simulator 2, drivers may drive for up to 10 hours before taking a mandatory break, which requires 9 consecutive hours of rest. You can read more about this feature here.

Changelog

Vehicles

  • Volvo FH Series 6 Update

Visual

  • Improved Material System
  • Light Tweaks

Sound

  • Game Radio

UI/UX

  • Job Details Widget
  • Expanded Rest Mechanic

So enjoy all the new additions, but please remember: It's only an open beta, not a stable public version - so you may encounter bugs, instability, or crashes. It's completely okay if you want to wait for the final release. But if you're interested in helping us to get there faster, we'd appreciate all of your feedback on our forum and your bug reports in the dedicated section.

Please check our modding wiki to get details pertaining to mods for the game.

If you wish to participate in this Open Beta, you can find this version in the Experimental Beta branch on Steam. The way to access it is as follows: Steam client โ†’ LIBRARY โ†’ right-click on Euro Truck Simulator 2 โ†’ Properties โ†’ Betas tab โ†’ Beta Participation drop-down menu โ†’ public_beta. No password is required. Sometimes you will have to restart your Steam client to see the correct branch name there.

  •  

v4.1.2

4 Juni 2026 om 09:54

What's Changed

Security & Fixes

  • Fixed private submodule authentication during deployments (#8900, fixes #2731)
  • Fixed deploy keys overwriting server root SSH keys (#10440, fixes #10203)
  • Improved fork pull request safety for preview deployments (#10457, fixes #10342)
  • Hardened API token team checks (#10505)
  • Improved image, branch, proxy, and deployment input validation (#10501, #10502, #10503, #10504)
  • Fixed generated Compose environment variables breaking preview deployments (#10186, fixes #7552)
  • Fixed registry image tags being pushed for preview deployments (#10185, fixes #7616)
  • Fixed Git repository imports for large repositories (#10528, fixes #5251)
  • Fixed GitLab SSH webhook matching with custom ports (#10479, fixes #10450)
  • Fixed log copying on non-HTTPS instances (#8942)
  • Fixed unsafe HTML showing in the log viewer (#10346, fixes #10345)
  • Fixed deployment and container log timestamps to use the server timezone (#10165, fixes #8003)
  • Fixed in-progress form edits being wiped by live updates (#10321, fixes #6062, #6354, #9695)
  • Fixed skipped service database backup links (#10527, fixes #10526)
  • Fixed S3 backup storage validation before scheduling (#10389)
  • Fixed current team deletion errors (#10353, fixes #10351)
  • Fixed self-hosted server cleanup preserving server IPs (#10480, fixes #10471)
  • Fixed API server private key updates (#10416)
  • Fixed SSH usernames with dots (#9951)
  • Fixed stale page loading cloak after navigation (#10518, fixes #10506)
  • Fixed password field keyboard focus order (#10519, fixes #10486)
  • Fixed Railpack Buildx cache metadata persistence (#10511, fixes #10507)

New Services & Templates

  • Added Healthchecks as a one-click service (#10335)
  • Fixed Garage startup by using the correct RPC secret length (#10425)
  • Updated Chatwoot support for private API inbox webhooks (#10426)
  • Fixed Hermes Agent with Web UI image tag (#10445)
  • Updated Gitea runner to v1.0.7 (#10500)
  • Fixed ownCloud trusted-domain login issues (#10508, fixes #9944)

Improvements

  • Made exposed ports optional for portless apps (#9182, fixes #9170)
  • Added configurable application restart loop limits (#9231, fixes #8669)
  • Added standalone database health check settings (#10481, fixes #10444)
  • Added resource details with easier access to UUIDs (#9756)
  • Added destination resource listings (#9757)
  • Added environment variable search (#10421, fixes #10413)
  • Moved Sentinel into its own tab and improved metrics refresh (#9544)
  • Improved the configuration changes modal for redeployments (#10461, fixes #10367)
  • Added scrollable modals for smaller screens (#9647, fixes #9618)
  • Kept long-running terminal sessions connected (#10482)
  • Added mobile terminal controls (#10498)
  • Added custom Docker DNS option support (#10516)
  • Improved the GitHub App setup flow (#10524)
  • Updated the team invitation flow (#10510)

What's Changed

New Contributors

Full Changelog: v4.1.1...v4.1.2

  •  

Paint.NET 5.2 Alpha (build 9650)

4 Juni 2026 om 00:02

โ€‹

This is an updated alpha build for 5.2 that fixes some more bugs and crashes.

You can read more about 5.2 and what it includes by reading the release notes for the first alpha.

Change Log

Changes since 5.2 Alpha (build 9641):

  • Fixed an issue when drawing at the edge of the canvas viewport that would cause it to freeze and then jump all the way to the far edge of the canvas
  • Fixed an issue when drawing a selection using the intersect combine mode that would make the selection disappear and cause other weird issues with history (undo/redo).
  • Fixed the Move Selected Pixels tool setting color values to 0 for transparent pixels when not necessary (just moving without scaling/rotation, nearest neighbor sampling, etc.). Bug was reported here by @frio.
  • Fixed clipboard images accessed by plugins not always having a non-null ColorContext property. This property can still be null in some cases (e.g. alpha-only pixel formats). Reported here by @_koh_.
  • Optimized the compositing code for the Move Selected Pixels tool. The improvement is most noticeable on CPUs with AVX2 (not AVX512) which are not already bottlenecked by the GPUโ€™s rendering.
  • Fixed a rare crash that could happen while switching tools while also changing the color

Download and Install

This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable โ€œAlso check for pre-release (beta) versions of paint.netโ€ and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.

You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.

โ€‹

  •  

Extended Stable Updates for Desktop

3 Juni 2026 om 18:20

ย The Extended Stable channel has been updated to 148.0.7778.254ย for Windows and Mac which will roll out over the coming days/weeks.


A full list of changes in this build is available in the log. Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.

Srinivas Sista
Google Chrome
  •  

ETS2 1.60 Update: Volvo FH Series 6 Update

Door: Alex
3 Juni 2026 om 17:00

Today, weโ€™re excited to share a preview of an upcoming update for owners of the Volvo FH Series 6 arriving in Euro Truck Simulator 2 as part of the upcoming 1.60 update. Let's take a closer look at what's in store!ย 


Players will soon be able to customize their Volvo FH Series 6 with a selection of several new aerodynamic parts. Included in this upcoming update are the newly designed aerodynamic roof deflectors available for the Sleeper Cab, Globetrotter, and Globetrotter XL cab variants. These updated components help create a smoother and more refined roof profile, blending seamlessly into the truckโ€™s overall design.


Alongside these additions, all Aero cabin variants will also have the option to add new distinctive black aerodynamic A-Pillar trim, as featured on the newest generation of Volvo FH truck. These new additions reflect Volvo Trucks ongoing efforts to improve aerodynamic efficiency and optimise airflow around the cab to help enhance energy efficiency and overall vehicle performance.


Some of the aerodynamic developments seen on the real-world truck are even influenced by technologies and concepts used within the aerospace industry!


Our vehicle team has worked carefully to recreate these new parts in detail for this upcoming update, and we hope you enjoy the previews of what you see here. Whether you prefer building a clean factory-spec truck or customizing your rig for long-haul journeys across Europe, these new aero-part accessories will offer even more options for personalising your truck and fleet.



Weโ€™d like to extend our sincerest thanks to our good friends at Volvo Trucks for their support and collaboration in allowing us to bring these new additions for our players to explore and enjoy.



We look forward to sharing more news about the upcoming 1.60 update for Euro Truck Simulator 2. Until then, be sure to follow us on our social media channels (X/Twitter, Facebook, Instagram, Bluesky, YouTube)ย or subscribe to our newsletter so you don't miss a single update!ย 

  •  

2026.6: Pick a card, any card

3 Juni 2026 om 02:00

Home Assistant 2026.6! ๐ŸŽ‰

Iโ€™m going to put my hand up right away: โœ‹ I am not a dashboard person. Not because I donโ€™t like them; I love seeing what you all build. But designing a beautiful one is a kind of visual creativity I just donโ€™t have. Thatโ€™s a big part of why I love the built-in Home dashboard so much, it does the designing for me. But when I do build a custom dashboard, I usually stare at that โ€œadd a cardโ€ dialog for way too long, picking cards almost at random just to see if they look good with the data I have.

So you can imagine my excitement for my personal favorite of this release: the new card picker. Instead of asking โ€œwhich card type do I want?โ€, it now asks โ€œwhich thing in your home do you want to show?โ€, and then suggests cards that actually make sense for it, with live previews using your own data. For someone like me, thatโ€™s not just easier; itโ€™s genuinely inspiring. It nudges me towards combinations I would not have thought of on my own. ๐Ÿ’ก

This fits into a bigger direction I keep getting more excited about: Home Assistant getting better at starting from the thing you want to do, instead of asking you to first learn the building blocks. The same idea is what makes purpose-specific triggers and conditions in Home Assistant Labs feel so right, and this release brings them a big step closer to graduating out of Labs with brand new zone triggers and conditions. ๐Ÿ“

A close second favorite for me this release is everything happening around that in the automation editor: live test indicators on your conditions, target counts on every device, area, floor, and label, and proper notes you can attach to any step. Individually they are small quality-of-life touches; together, they make building automations feel a whole lot more transparent. โœจ

And there is plenty more to love in this release: new tile card features, Z-Wave smart locks catching up with their Matter siblings, a friendlier Apps page, and another big batch of new integrations from our community. ๐Ÿš€

Enjoy the release!

../Frenck

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, @karwosts, @lexpostma, and @Petro31 for putting effort into tweaking its contents. Thanks to them, these release notes are in great shape. โค๏ธ

A friendlier way to add cards to your dashboard

Adding a card to a dashboard is one of those moments where Home Assistant has historically asked a lot of you. The old dialog opened on a wall of card types, all named after the building blocks we use under the hood: tile, entities, button, gauge, glance, picture, markdown, and so on. Lovely if you already know what each one does. A lot less lovely if you came in thinking โ€œI just want my living room light on this dashboard.โ€ ๐Ÿ’ก

User research kept telling us the same thing: people open the editor with a deviceA device is a model representing a physical or logical unit that contains entities. or an 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 mind, not a card type. So we flipped the dialog around.

When you add a card now, the dialog opens on a new By entity tab. On the left, your home: a tree of floorsA 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], 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], devices, and entities, the same shape some of you may recognize from the new purpose-specific triggers and conditions currently in Settings > System > Labs. Anything that doesnโ€™t fit cleanly into your areas shows up under Unassigned, so nothing gets lost. Search jumps straight to a flat result list.

Pick an entity, and the right side fills with live previews of cards that actually fit it, not a generic list:

  • For a light, you get a plain tile, a tile with a brightness slider, a toggle tile, color temperature, and favorite colors.
  • For a cover, open/close, a position slider, and tilt.
  • For a media player, a tile with playback controls or with the volume slider.
  • For a numeric sensor like temperature, humidity, or power, a trend graph tile so you can see history at a glance.
  • For a calendar or to-do list, the matching dedicated card.
  • And a Browse all cards option in case none of those is what you wanted; the familiar By card tab is still there too, unchanged.

Every suggestion renders as a real preview of how the card will look on your dashboard, with your data, before you pick it. No more โ€œadd it, see how it looks, delete it, try the next one.โ€

Custom cards can join the party too. If a custom card you have installed has opted in to the new picker, its suggestions show up under a separate Community section, right below the built-in ones. Support depends on the custom cardโ€™s author adding it.

On mobile, the same dialog turns into a two-step flow: pick your entity, then pick your card.

Screenshot of the new add card dialog with an entity tree on the left and live card previews on the right.

This is the first visible step of a broader effort on the Open Home Foundation roadmap to make building a dashboard feel as natural as building an automation: start from what you want to control, and let Home Assistant suggest the rest. Expect more in this direction in the releases to come.

Tip

Maintain a custom card? You can opt in to the new picker by adding a getEntitySuggestion function to your window.customCards entry. The developer blog post Custom card suggestions in the card picker walks through the details.

Infrared now also listens

Two releases ago, infrared became a first-class citizen of Home Assistant, but as a one-way street: Home Assistant could send commands to your TV or air conditioner, but it had no way to hear what the device, or its original remote, was doing. The most asked-for follow-up was simple: โ€œcan Home Assistant also listen?โ€ ๐Ÿ“ก

In this release, it does.

The Infrared platform gains a new receiver event entityEvents 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]. Any transmitter integration that supports it can expose the IR commands it picks up as events in Home Assistant, ready to drive automations just like any other event trigger. ESPHome is the first transmitter integration on board, so any ESPHome device with an IR receiver wired up can now act as an IR listener for your whole house. On the device side, LG Infrared is the first device integration to use it, exposing the commands its receiver sees as events you can react to.

This means you can keep Home Assistant in sync with the original remote: use the remote that came with the device, and Home Assistant sees it happen instead of being left in the dark with stale state. It also opens the door for future integrations to do more with what they hear, like turning a spare IR remote into a Home Assistant controller.

This is the second half of the infrared story we started two releases ago, making infrared a true two-way platform in Home Assistant. It also closes out the Open Home Foundation roadmap opportunity that set out to make infrared a two-way platform in Home Assistant.

Polishing the automation editor

Ever since Home Assistant 2025.12 introduced purpose-specific triggers and conditions, every release has nudged the automation editor a little closer to how you actually think about your home. The work in Labs is ongoing, and feedback keeps pouring in. While we keep iterating there, the rest of the automation editor has been getting some love too. โœจ

Purpose-specific triggers and conditions

The Labs preview keeps growing, both in capabilities and polish. This release picks up where last month left off: the cross-domain successors to the old Person and Device Tracker home triggers and conditions have landed, this time built around zones. ๐Ÿ“

Four new zone triggers and four new zone conditions cover the same ground the removed entered_home, left_home, is_home, and is_not_home building blocks did, but in a more flexible way:

  • Triggers to react when a person or device trackerDevice trackers are used to track the presence, or location, of a device. [Learn more] enters or leaves a zoneZones allow you to specify certain regions on a map. They enable zone presence-detection and can be used in automations. For example, to start the vacuum after you left home or start the heating at home when you leave the office. [Learn more], and when a zone becomes occupied or empty.
  • Conditions to check whether a person or device tracker is in or not in a zone, or whether a zone is currently occupied or not.

Youโ€™re no longer limited to your home zone: any zone youโ€™ve defined works, so reacting to someone arriving at work, school, or the gym is just as straightforward. Both triggers and conditions support the for duration field added last release, so you can wait until someone has actually settled in (or out) before doing anything.

Weโ€™ve also been busy giving the existing triggers and conditions the documentation they deserve. About half of the purpose-specific triggers and conditions now have their own dedicated reference page over at triggers and conditions, with examples, options, and the small details that make a real difference when you are wiring things up. The rest are on their way.

Havenโ€™t tried them yet? Now is a great time. Enable the feature at Settings > System > Labs, give it a spin, and let us know what you think. The more feedback we collect, the sooner we can graduate this out of Labs.

See exactly how many things an automation targets

When you build an automationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more] that acts on a 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], an 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], a 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], or a device, the editor used to just show the name of that target. So โ€œBedroomsโ€ could mean three lights, or thirty, with no way to tell at a glance.

Now every floor, area, device, and label pill in your automation rows shows the number of entities it expands to, right next to its name. If your target selector also filters by domain or device class, the count reflects that filter, so what you see is what the action will actually touch. Select the pill for a quick peek at exactly which entities are included.

It is the kind of small detail that turns โ€œI hope this only hits the right lightsโ€ into โ€œyep, twelve, thatโ€™s correctโ€, especially handy as your home grows or you start using labels across rooms.

Screenshot of an automation row showing the number of entities next to each device and area target.

See at a glance which conditions pass

Conditions are the gatekeepers of your automations. They decide whether something runs or not, and when an automation doesnโ€™t fire the way you expected, the first question is usually: โ€œwhich condition was actually blocking it?โ€ Until now, finding out meant testing each condition one by one, or waiting for the next run and digging through the trace afterwards.

The automation editor now tells you right there, while you are editing. Every condition row shows a small live test indicator as a badge on its icon that updates in real time as your home changes:

  • A green check when the condition currently passes
  • A red circle when it doesnโ€™t
  • A neutral state when the condition is incomplete or canโ€™t be evaluated yet
  • A clear error indicator, with the full message in a tooltip, when the configuration is invalid

Hover the icon to see exactly what the condition is reporting. Edit the condition, and the badge updates immediately, so you can dial in thresholds, zones, or state matches and see the result without leaving the editor. The same indicators also show up on dashboard visibility conditions, so the cards you hide or show conditionally tell you the same story.

Screenshot of an automation condition row with a live test indicator badge on the condition icon.

This is part of a broader roadmap effort to bring home context into the automation editor: surfacing the information you need to build and debug automations right where you are working on them.

Add notes to any step in your automation

Aliases are great for renaming a trigger or action, but they have always been a single line, and they double as the label you see in the row. So if you wanted to explain why a step exists (โ€œthe porch sensor sometimes triggers on its own in winter, so this waits a few seconds to make sureโ€), you were out of luck without dropping into YAML.

Every triggerA trigger is a set of values or conditions of a platform that are defined to cause an automation to run. [Learn more], conditionConditions are an optional part of an automation that will prevent an action from firing if they are not met. [Learn more], actionActions 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], option, and scriptScripts are components that allow you to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more] field now has a dedicated Notes field, separate from its name. Open the stepโ€™s sidebar, jot down whatever future-you needs to know, and it stays with that step forever. We deliberately called it notes and not comments to keep it clear from YAML comments, which are a different thing entirely.

Notes travel with the automation when you duplicate, export, or share it as a blueprintA blueprint is a script, automation, or template entity configuration with certain parts marked as configurable. This allows you to create multiple scripts, automations, or template entities based on the same blueprint, with each having its own configuration-specific settings. Blueprints are shared by the community on the blueprints exchange in the forum. [Learn more], so the reasoning behind a setup is no longer something only the original author remembers.

Screenshot of an automation trigger row with a small note icon, showing the note in a tooltip on hover.

Tile card features

The tile card keeps growing into one of the most capable building blocks in your dashboards. This release adds two brand-new card features for weather entities and a generous round of additions to the media player tile.

Your forecast, right where you check the weather

Most of us already have a weather tile sitting somewhere on a dashboard. Up until now, the moment you wanted to know what tomorrow looks like, you had to open the more info dialog, jump to a different card, or build a whole forecast section just for that. No more.

Two new tile card features put the forecast directly onto your existing weather tile:

  • Temperature forecast draws a bar chart of high and low temperatures for the days ahead, colored from cool cyan to deep red so you can read the week at a glance. In the hourly view, it renders as a smooth filled curve.
  • Precipitation forecast shows how much rain (or snow) is expected for each slot, or, when your weather service only provides it, the chance of precipitation.

Both features automatically pick the best forecast resolution your weather service offers (daily, twice-daily, or hourly), and you can pin a specific resolution or toggle the day and hour labels from the card editor. One small change, big difference: your dashboard now answers the next question before you ask it.

Screenshot of weather tile cards showing the temperature and precipitation forecast features.

Turning the media player tile into a real remote

Last release was a big step for the media player tile: a proper source picker, a sound mode picker, and playback buttons you could finally pick and reorder. Lots of you ran with it and built beautiful, focused media controls on your dashboards, and some of you immediately came back with: โ€œthis is great, but can it alsoโ€ฆโ€ ๐ŸŽถ

This release fills in those last gaps. Across the media player tile card features, you now have:

  • A Mute button on both the Volume slider and Volume buttons features, so you can silence the room straight from the tile.
  • Shuffle, Repeat, Volume up, Volume down, and Mute as extra controls you can mix into the Playback feature, alongside the existing transport buttons.
  • A filter for the Source and Sound mode dropdowns, so a receiver that reports two dozen inputs only shows the three you actually use.

The result: a single tile that looks like, and acts like, a remote built specifically for that device. No more โ€œalmost rightโ€ tiles, no more falling back to the more info dialog for that one button you really need. Your Music Assistant setup is going to feel right at home. Thanks, @pcan08 and @MindFreeze!

Screenshot of a media player tile card showing the new mute, shuffle, repeat, and volume controls together with a filtered source dropdown.

Z-Wave smart lock credential management

Two releases ago, we added credential management for MatterMatter is an open-source standard that defines how to control smart home devices on a Wi-Fi or Thread network. [Learn more] smart locks: a friendly dialog to add, edit, and remove the users (and the PIN codes that go with them) that your lock accepts, without ever opening the lockโ€™s own app. This release, Z-Wave smart locks get the same treatment. ๐Ÿ”

Open your lock from the device page and select Manage access from the menu to get an overview of every user the lock has, and the credentials assigned to them. From there, you can add a new user, give existing ones extra credentials, edit them, or remove them. If you try to reuse a PIN that is already in use on the lock, the dialog will warn you instead of silently overwriting it. Everything happens directly between Home Assistant and your lock over Z-Wave; no cloud account, no vendor app, no internet connection required.

Screenshot of a Z-Wave smart lock device page with the new Manage access option in the menu.

There is one small difference with the Matter version that plays to Z-Waveโ€™s strengths: both PIN codes and passwords are supported, where the lock supports them. PIN codes are limited to digits (the familiar keypad experience), while passwords accept the full character set for locks with an alphanumeric keypad.

Screenshot of the Add user dialog for a Z-Wave smart lock, with fields for the user name, a PIN code / Password credential type selector, and a PIN code input.

Just like the Matter equivalent, every action behind the dialog is also available as a regular Home Assistant actionActions 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 means you can hand out a one-time PIN to a guest from an automation, rotate codes on a schedule, or wipe a lost user with a single button press on your dashboard.

A fresh look for the Apps page

Apps (previously known as add-ons) are how you extend the system that Home Assistant runs on with extra software, like a media server, an MQTT broker, a VPN, or a code editor, all running right next to Home Assistant on the same device.

This release gives the Apps page a friendlier, more modern look. Every installed app is shown as its own card with its icon, name, a short description, and a clear indicator of whether it is running, so you can spot the state of your apps at a glance.

Screenshot of the refreshed Apps page, showing installed apps as cards with their icon, name, description, and status.

Installed apps can now also carry small tags that highlight what they are, making it easier to scan your list and find what you are looking for. The app detail page got the same care, with a cleaner layout that also works well on a tablet.

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:

  • AiDot, added by @s1eedz
    Control your AiDot Wi-Fi smart lights, including A19 and BR30 bulbs, directly from Home Assistant. Communication happens locally over your network, so no cloud connection is required.

  • CentriConnect/MyPropane, added by @gresrun
    Keep an eye on your propane tank from Home Assistant. The integration connects to the centriconnect.com cloud service to expose the level and status of tanks equipped with a MyPropane monitor, perfect for getting a notification before you run out.

  • Cielo Home, added by @ihsan-cielo
    Control your Cielo smart air conditioner and heat pump controllers from Home Assistant, contributed by Cielo themselves. Connects through the Cielo Connect cloud API and exposes each device as a climate entity, so you can adjust modes and temperatures alongside the rest of your home automations.

  • Data Grand Lyon, added by @Crocmagnon โ€” launching at ๐Ÿ† platinum quality
    Bring open data from the city of Lyon, France, into Home Assistant. Track upcoming departure times at TCL public transit stops, and monitor real-time bike and dock availability at Vรฉloโ€™v bike-sharing stations.

  • Guntamatic, added by @JensTimmerman โ€” launching at ๐Ÿฅˆ silver quality
    Monitor your Guntamatic wood or pellet heater locally from Home Assistant. The integration reads sensor data directly from the heaterโ€™s web interface over your local network, with no cloud account needed.

  • LG TV via Serial, added by @balloob โ€” launching at ๐Ÿฅˆ silver quality
    Control your LG TV locally from Home Assistant over its built-in RS-232 serial port. Works through a direct serial cable, a USB-to-serial adapter, or an ESPHome-based serial proxy, giving you a reliable connection that even works while the TV is in standby. Great for older sets without smart features and for commercial signage displays.

  • Marantz Infrared, added by @balloob โ€” launching at ๐Ÿฅˆ silver quality
    Control your Marantz amplifier with any infrared transmitter you already have set up in Home Assistant. Built on top of the Infrared entity platform, so you can pair it with an ESPHome device with an IR LED, or any other supported IR emitter, and operate your amplifier without depending on the network or cloud.

  • Mitsubishi Comfort, added by @nikolairahimi
    Bring Mitsubishi Electric ductless minisplit heat pump and air conditioning systems into Home Assistant. The integration talks directly to each indoor unit over your local network for low-latency control, and only uses the Kumo Cloud account for the initial device discovery and credential retrieval. Kumo Station outdoor units are supported for temperature monitoring.

  • Ouman EH-800, added by @Markus98
    Connect your Ouman EH-800 heating controller to Home Assistant. Monitor and control your heating system locally with climate, number, select, sensor, and valve entities, perfect for automating your homeโ€™s heat distribution.

  • OVHcloud AI Endpoints, added by @Crocmagnon Add a conversation agent powered by OVHcloud AI Endpoints to Home Assistant. Pick from a curated catalog of open-weight large language models hosted in Europe, and use them with Assist to control your home and answer questions.

  • PAJ GPS, added by @skipperro
    Track the location of your PAJ GPS devices on the map in Home Assistant. The integration creates a device tracker entity for each tracker in your PAJ account, so you can build automations around their location, like notifications when a tracker arrives home or leaves a zone.

  • PTDevices, added by @frogman85978
    Monitor your PTLevel water level sensors in Home Assistant. Get notifications when tanks run low or are being used unexpectedly, and build automations to turn off pumps when levels drop or run appliances once water has been delivered.

  • Samsung Infrared, added by @lmaertin
    Control your Samsung TV with any infrared transmitter you already have set up in Home Assistant. Like the Marantz Infrared integration, it builds on the Infrared entity platform, so you can use an ESPHome device with an IR LED, or any other supported IR emitter, to operate your TV.

  • Vistapool, added by @fdebrus Monitor and control your Hayward-branded pool controllers from Home Assistant, including AquaRite, Vistapool, Sugar Valley, Poolwatch, Kripsol, and Dagen devices. The integration uses the official Hayward cloud API with real-time push updates, so changes show up instantly without polling.

  • Xthings Cloud, added by @zhangluofeng
    Control your Xthings smart home devices, starting with the U-tec Bright A19 Color smart light bulb, through the Xthings Cloud service. Contributed by Xthings themselves, with real-time status updates delivered over WebSocket push, so the state in Home Assistant stays in sync with whatโ€™s happening on your devices.

  • Yoto, added by @piitaya
    Control your Yoto audio players from Home Assistant. Play and pause cards, change the volume, skip and seek tracks, and see what is currently playing. The integration connects to your Yoto account and receives live playback updates, so changes that happen on the player show up in Home Assistant almost immediately.

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 two improvements: a new message expiry interval option, and subentry support extended to the date, datetime, and time entity platforms. Thanks, @jbouwh!
  • Shelly now exposes an occupancy binary sensor. Thanks, @bieniu!
  • Sonos got search, so you can now find tracks, albums, and artists across your music services straight from Home Assistant. Thanks, @PeteRager!
  • Reolink battery cameras can now connect directly to Home Assistant, without needing a Reolink Home Hub or NVR as a bridge. Not all models and features are supported yet; using a Home Hub or NVR remains the preferred method. A battery camera cannot be connected both ways at the same time. Thanks, @starkillerOG!
  • Tuya received a wave of device-specific improvements: number entities and fault codes for the Pro Breeze OmniDr dehumidifier, water-timer data points and a countdown number for the sfkzq single-valve timers, additional entities for cameras, a number entity for the WG2 alarm panel (Duosmart C30), total production sensor support for SPM02 devices, and support for the InverGo inverter pool heat pump. Thanks, @peterlang-p, @mik-laj, @davidXire, @tbouron, @ChayoteJarocho, and @focabr!
  • SwitchBot had a great release with broad device support: the Permanent Outdoor Light, Weather Station, and Lock Vision (Pro) / Lock Pro Wifi are now supported, the Meter CO2 gained a display time offset number entity, and the Air Purifier now exposes its LED settings. Thanks, @elgris, @Onero-testdev, and @zerzhang!
  • SmartThings TVs now let you select the input source, and Copper water meters expose their sensors. Thanks, @felipecrs and @joostlek!
  • Alexa Devices got two big additions: a new media player platform that exposes your Echo devices as media players, with playback, volume, and mute controls, and a new event entity that surfaces the voice commands your Echo hears so you can react to them in automations. Thanks, @jamesonuk and @chemelli74!
  • Anthropic Claude conversations now support the web fetch tool, allowing the model to retrieve and reason about live web content. Thanks, @Shulyaka!
  • Google Nest added a nest.set_fan_timer action, so you can script your thermostatโ€™s fan timer right from Home Assistant. Thanks, @tronikos!
  • HomeWizard updated charging strategies with support for their new smart charging feature, and two new battery group sensors: target power and group power. Thanks, @DCSBL!
  • UniFi Protect added an alarm profile select entity, letting you switch between alarm profiles directly from Home Assistant. Thanks, @RaHehl!
  • FRITZ!SmartHome now ships data descriptions for all configuration fields, making setup easier to understand. Thanks, @mib1185!
  • Viessmann ViCare RadiatorActuator devices now expose a target temperature sensor. Thanks, @lackas!
  • Cambridge Audio receivers now expose a volume limit, so you can prevent overly loud playback. Thanks, @noahhusby!
  • Nord Pool picked up a binary sensor for price-based automations. Thanks, @gjohansson-ST!
  • YouTube channels now expose a video count sensor. Thanks, @nathan-osman!
  • OneDrive added a delete action so you can clean up files from your automations. Thanks, @leodrivera!
  • WeatherFlow Cloud stations now expose dedicated station-level sensors. Thanks, @jeeftor!
  • Portainer continues to grow: new system health and disk space coordinators, and recreate-container service actions. Thanks, @erwindouna!
  • Ohme EV chargers got two new controls: a state of charge input number and a solar boost switch. Thanks, @dan-r!
  • Jewish Calendar now exposes a calendar entity, perfect for tracking Jewish holidays and Shabbat in your dashboards and automations. Thanks, @tsvi!
  • BleBox picked up several improvements: a new update platform that exposes installed and latest firmware versions and lets you trigger firmware updates straight from Home Assistant, plus tilt-only mode and 180-degree tilt support for cover and shutter entities. Thanks, @bkobus-bbx!
  • PrusaLink 3D printers gained more sensors: X/Y axis position, location, minimum extrusion temperature, plus SD ready, farm mode, and connection status binary sensors. Thanks, @heikkih!
  • System Bridge gained a notify entity, so you can send desktop notifications from your automations. Thanks, @tr4nt0r!
  • Indevolt battery support expanded significantly with new battery temperature, MOS temperature, main MOS temperature, cycle count, transformer temperature, and real-time control sensors. Thanks, @Xirt and @karlbeecken!
  • Qube heat pump added a water heater entity for domestic hot water control (with a boost mode for using surplus energy), plus switches for summer mode, anti-legionella cycle, heating curve, and heating demand. Thanks, @MattieGit!
  • Eurotronic Comet Blue thermostats added a number platform exposing the eco and comfort setpoints and the temperature offset, so you can fine-tune your schedule without leaving the dashboard. Thanks, @rikroe!
  • Elk-M1 Control picked up dedicated number entities for the Elkโ€™s configurable settings (such as timers), previously buried inside a single sensor. Thanks, @gwww!
  • Control4 now supports motorized window treatments through a new cover platform. Thanks, @nayfield!
  • IMGW-PIB added river vegetation cover sensors for emergent, floating, and submerged vegetation. Disabled by default, so you can enable just the ones you need. Thanks, @bieniu!
  • Watts Vision + received HVAC action and preset mode support, plus a new timer mode service. Thanks, @theobld-ww!
  • Kiosker gained a switch to disable the screensaver, plus a set of buttons for common kiosk actions: navigate forward, backward, and home; clear cache and cookies; print; ping; and interact with the screensaver. Thanks, @Claeysson!
  • V2C EV chargers now expose their LED lights. Thanks, @dgomes!
  • Lunatone DALI lighting controllers now expose their device status as sensors. Thanks, @MoonDevLT!
  • Satel Integra alarm zones now expose temperature sensors. Thanks, @Tommatheussen!
  • Template entities now support the device tracker platform, giving you a modern replacement for the device_tracker.see action that was deprecated last release. Thanks, @Petro31!

Integration quality scale achievements

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

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

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

A big thank you to all the contributors involved! ๐Ÿ‘

Now available to set up from the UI

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

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

Farewell to the following

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:

  • Konnected has been removed. The legacy Konnected.io integration was deprecated in Home Assistant 2025.10 and is now removed. To keep using your Konnected hardware, follow the migration guide from Konnected to flash your device with ESPHome firmware.

Other noteworthy changes

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

  • A friendlier setup for MatterMatter is an open-source standard that defines how to control smart home devices on a Wi-Fi or Thread network. [Learn more] devices. When you add any Matter device, Home Assistant now asks you to name it and assign it to an area right away, so it is ready to use the way you intend from the first moment. For contact sensors and covers, you can also pick what the device is attached to (a door, window, garage door, or something else). On iOS, the pre-filled name and device class selection require an upcoming iOS app update; until then, the previous behavior is used.
  • OpenThread Border Router 1.4 is out of beta. The OpenThread Border Router app now ships ThreadThread is a low-power mesh networking standard that is specifically designed for smart home applications. It is a protocol that defines how devices communicate. [Learn more] 1.4 by default, no beta toggle required. For now, this is mostly about bug fixes and stability, including the new built-in mDNS implementation from OpenThread, which should help resolve a class of stubborn Thread connectivity issues that previously traced back to mDNS quirks in some home routers. It also lays the groundwork for bringing the new Thread 1.4 features to Home Assistant in the near future.
  • Sirens join the Matter integration. Matter sirens (like Heiman-style smoke detectors that double as a loud alarm) are now exposed as proper siren entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] you can switch on and off from automations and dashboards. Thanks, @lboue! ๐Ÿšจ
  • Bluetooth proxies are now much friendlier to battery-powered devices. Until now, every Bluetooth scanner ran in active mode, constantly polling devices and waking up your battery-powered Bluetooth sensors and trackers more often than they need to. Starting this release, the default for both the Bluetooth integration and ESPHome Bluetooth proxies is the new Auto mode, which switches to active scanning only when an integration actually needs it, and only on one scanner at a time. The result: around 95โ€“96% less battery used for Bluetooth scanning, while everything keeps working the way it did. The Bluetooth UI catches up too, labeling each adapter as Auto (active) or Auto (passive), and the device info dialog gained a Raw advertisement field for debugging. More on the default change in the backward-incompatible changes section.
  • Firmware version in the devices table. The Devices page gets a hidden-by-default Firmware column you can switch on from the table options, making it easy to check whether a firmware update actually landed without changing the default layout. Thanks, @markvp!
  • A friendlier ZHA group page. The ZHA group create and edit screens have been rebuilt around a compact, card-based layout that keeps your devices and group settings visible together, instead of one long table you had to scroll through. Thanks, @jpbede!
  • Search by label in more places. The data tables for helpersA helper is a virtual entity you create inside Home Assistant. It is not backed by a physical device. Helpers store values, track state, or do calculations that your automations and dashboards need. [Learn more], automations, scenes, and scripts now let you filter by 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], matching the search bar that devices and entities already had. Thanks, @ildar170975!
  • The backup encryption key is harder to miss. Home Assistant already creates a backupHome Assistant has built-in functionality to create files containing a copy of your configuration. This can be used to restore your Home Assistant as well as migrate to a new system. The backup feature is available for all installation types. [Learn more] automatically before every update, but that backup is only useful if you can still decrypt it. The Backup settings page has been reorganized to put your encryption key front and center, with a clear reminder to save it somewhere safe. Losing that key is one of the most painful ways to lose access to a backup, so we want to make sure you donโ€™t.
  • Color customization for graph cards. The statistics graph card and history graph card now let you pick a custom color per entity, both from the visual editor and in YAML. Thanks, @ildar170975!
  • Advanced mode is gone. The Advanced mode toggle on your user profile, and every feature that used to hide behind it, is now retired. We have been peeling away its gates release by release; this release finishes the job. A single toggle was never a great fit: it bundled unrelated features together and quietly suggested some parts of Home Assistant were only for โ€œadvancedโ€ users. Neither is true. Everything that used to live behind it is now simply available to everyone by default. More background in the Open Home Foundation roadmap.

A clearer view of your homeโ€™s energy

Two quality-of-life upgrades land in the energy dashboard this release. โšก

If you have a home battery, you can now hook up its state-of-charge sensor (the percentage one) right from Settings > Dashboards > Energy. Once it is set, the Battery node on the energy distribution card shows the current charge level alongside the energy flowing in and out, and a matching battery badge appears at the top of the energy panel so you can see at a glance how full your battery is, without leaving the dashboard. Thanks, @MindFreeze!

Screenshot of the energy distribution card showing the battery node with a 100% state-of-charge value.

The other addition is small but long-requested: you can now give your grid, solar, battery, gas, and water sources a custom name in the energy configuration. So instead of โ€œGrid consumptionโ€ and โ€œGrid returnโ€, you can call them โ€œMain meterโ€ and โ€œSolar exportโ€, or whatever makes sense for your home. The names flow through to the cards, charts, and statistics, making multi-source setups (like a separate EV meter or a second water tap) far easier to tell apart. Thanks, @karwosts!

Quick links between everything you care about

Home Assistant is full of things that are related to each other: a device has entities, those entities show up in automations and scripts, automations live in areas, areas have labels, and so on. Getting from one to the next used to mean a lot of back-and-forth between settings pages.

This release threads a generous set of quick links through those views so you can jump straight to the related thing, or create a new one without losing your place:

  • Device pages now bundle related automations, scriptsScripts are components that allow you to specify a sequence of actions to be executed by Home Assistant when turned on. [Learn more], and scenesScenes capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red. [Learn more] into a single Related card (instead of three separate ones), and the existing quick links section gains shortcuts to all the other places that reference the device.
  • Area pages got the same treatment, with quick links into the tables and dashboards that already filter by that area in a single step.
  • From an entity, device, or area, you can now create a new automation or script with that target already wired into a trigger, condition, or action, no copy-pasting entity IDs required. (This piece rides on top of the purpose-specific triggers and conditions Labs preview, so enable it at Settings > System > Labs to see the option.)
  • Label navigation actions now include scenes and scripts alongside automations, so a label like โ€œmorning routineโ€ surfaces everything tagged with it, not just a subset.

Individually these are small. Together they make Home Assistant feel even more connected than it already was, with fewer detours between the pages. Thanks, @timmo001!

Screenshot of the new Add to dialog on a device page, offering shortcuts to create an automation as a trigger, condition, or action, a script, or a scene.

YAML linting inside the UI editors

A small quality-of-life improvement that should not go unnoticed. You donโ€™t need to know or use YAML to use Home Assistant, but if you like it, or want to dive into more specific use cases, we give you the power to do so.

The YAML code editors throughout the UI now show inline linting: missing colons, unmatched quotes, and yes, that one space too many or too few in your indentation (we know, we know ๐Ÿ˜…), are all highlighted as you type, right next to the line that causes them. No more saving, hitting an obscure error, and scrolling back to find the cause.

Screenshot of the YAML editor showing inline linting with an error highlighted on the offending line.

Patch releases

We also release patch releases for Home Assistant Core. These patch releases are released on a weekly basis (on Fridays) and contain bug fixes and small improvements.

2026.6.1 - June 5

2026.6.2 - June 9

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 (Labs)

The behavior options for the Labs purpose-specific triggers have been renamed to better match what they do: any is now each, and last is now all. The default is now each.

If you have automations that use these triggers from the Labs preview at Settings > System > Labs, open them in the automation editor and re-pick the behavior option. Any YAML you wrote against the old keys needs to be updated to the new names.

(@emontnemery - #172348)

Bluetooth

The default Bluetooth scanning mode has changed to Auto, which dynamically switches between active and passive scanning depending on what is happening. This saves around 95-96% of the battery used for Bluetooth scanning while keeping the same functionality for most setups.

If you run into issues after the upgrade, you can switch your Bluetooth adapter back to Active scanning. Go to Settings > Devices & services, open the Bluetooth integration, and select Configure on your adapter to change the scanning mode.

(@bdraco - #171985) (Bluetooth documentation)

Certificate Expiry

The error attribute on the certificate expiry sensor now returns a proper None value instead of the string "None" when there is no error.

If you use this attribute in templates, update your comparisons from == "None" to is none.

(@TomFilsell - #170878) (Certificate Expiry documentation)

ESPHome

The default Bluetooth proxy scanning mode for ESPHome devices is now Auto. Devices that were previously set to Active are automatically migrated to Auto, while devices set to Passive keep their setting.

If you need Active scanning for a specific device, change it back in the device options under Settings > Devices & services.

(@bdraco - #171996) (ESPHome documentation)

HDMI-CEC

Calling the turn_off action on HDMI-CEC switch or media player entities now sends the standard CEC standby command instead of a vendor-specific power-off command. This works more reliably across devices from different manufacturers.

If you relied on the previous behavior, you can send the original command using the hdmi_cec.send_command action with keypress 0x44 followed by 0x6c.

(@pattyland - #170206) (HDMI-CEC documentation)

IronOS

The uptime sensor for IronOS soldering irons has changed from a duration sensor (reporting seconds) to a timestamp sensor that reports when the device was started.

Update any automations or dashboards that read this sensor to work with the new timestamp format.

(@tr4nt0r - #169699) (IronOS documentation)

ONVIF

When you call the onvif.ptz action with continuous_duration: 0, the integration no longer sends a Stop command after the ContinuousMove. This lets you start a continuous movement and stop it later with a separate call.

If your automations rely on the camera stopping automatically, set continuous_duration to the desired duration in seconds.

(@yoxcu - #163173) (ONVIF documentation)

Shelly

Shelly devices used as Bluetooth scanners now support the new Auto scanning mode. Existing devices set to Active are automatically migrated to Auto for better battery and performance.

You can change the scanning mode back in the device options under Settings > Devices & services.

(@bdraco - #172008) (Shelly documentation)

SmartThings

The source attribute on SmartThings media players is now normalized to standard Home Assistant values. For example, D.IN is now reported as digital_input and BT as bluetooth.

If you use the source attribute in automations, dashboards, or templates, update them to match the new values.

(@felipecrs - #160034) (SmartThings documentation)

Template entities

The legacy template platform syntax under the individual platform keys has been removed. This syntax was deprecated in Home Assistant 2025.12 and has now reached the end of its 6-month deprecation period.

This affects the following platforms:

  • alarm_control_panel
  • binary_sensor
  • cover
  • fan
  • light
  • lock
  • sensor
  • switch
  • vacuum
  • weather

Move your template entities to the modern template: syntax. A step-by-step migration guide is available in the Removal of legacy template entities forum thread.

(@Petro31 - #169608, #169610, #169611, #169613, #169615, #169725, #169728, #169730, #169732, #169734) (Template documentation)

Tuya

The unit of measurement provided by the Tuya API now takes precedence over the default unit assigned by Home Assistant. This makes the reported value match what the Tuya app shows.

If your device reports an invalid or unexpected unit, please submit a bug report with the device details and the unit it reports and adjust it accordingly.

(@epenet - #170338) (Tuya documentation)

Velux

The deprecated velux.reboot_gateway action has been removed. Use the reboot button entity on your Velux gateway instead.

(@wollew - #169796) (Velux documentation)

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

All changes

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

  •  

Ben Hutchings: FOSS activity in May 2026

2 Juni 2026 om 16:17

This was a particularly busy month for me in terms of Debian contributions.

It started with a week in Hamburg for the MiniDebConf. I talked to many colleagues face-to-face and worked on various bugs and maintenance tasks. Iโ€™m pleased to have finally found the time to reproduce and fix the boot-time crashes in the parallel port subsystem that have been reported many times recently.

A series of easily exploited kernel LPE (local privilege execution) issues were published this month, mostly with very little coordination with distributions. Salvatore and I had to upload fixes for these at roughly weekly intervals. All of these fixes needed to be applied to 4 different upstream branches (currently 5.10, 6.1, 6.12, and 7.0) and 7 Debian branches (including backports).

  •  

Distribution Release: T2 Linux SDE 26.6

3 Juni 2026 om 14:10
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. T2 Linux SDE is an independently-developed open-source system development environment (or distribution build kit). It enables the creation of custom distributions with bleeding-edge technology. The project's latest release, version 26.6, polishes the KDE Plasma build and expands RISC-V support. "This T2/Linux release continues to polish our flagship KDE....
  •  

v5.47.1

3 Juni 2026 om 14:26

5.47.1 (2026-06-03)

๐Ÿ”ฅ Bug fix

  • deleteMany respects filters combined with relation (#25420)
  • improve i18n plugin translations (#22714)
  • resolve ajv ReDoS vulnerability by forcing ajv@8.18.0 (#26141)
  • admin: use ISO 639-1 da for Danish admin locale (#26322)
  • content-manager: documentId(s) shown for relation when entry title set to numeric field (#25622)
  • content-manager: guard repeatable field .map() crash on relationโ€ฆ (#26421)
  • content-manager: fix frontend validation if not using "draft and publish" (#25300)
  • core: skip session secret check for API-only apps (#26390)
  • data-transfer: preserve core store when config stage is excluded (#26484)
  • deps: upgrade koa-session to v7.0.2 (#26140)
  • homepage: homepage count-documents slow on large D&P tables (#26370)
  • i18n: preserve non-localized field inheritance (#26367)
  • strapi: preserve tsbuildinfo across develop restarts (#26264)
  • upgrade: simplify registry URL resolution (#25027)

๐Ÿ“š Documentation Changes

  • security: overhaul vulnerability reporting policy (#26393)

โš™๏ธ Chore

  • admin: remove punycode dependency (#26189)
  • deps: bump axios from 1.16.0 to 1.16.1 (#26456)
  • deps: bump express-rate-limit from 8.2.1 to 8.5.2 (#26457)
  • deps: bump @hono/node-server from 1.19.9 to 1.19.14 (#26458)
  • deps: bump qs from 6.15.0 to 6.15.2 (#26417)
  • deps: bump @babel/plugin-transform-modules-systemjs from 7.25.9 to 7.29.4 (#26256)
  • deps: bump hono from 4.11.9 to 4.12.23 (#26455)
  • deps: bump @tootallnate/once from 2.0.0 to 2.0.1 (#26218)
  • docs: migrate docusaurus config to typescript (#26471)
  • mcp: clarify registration lifecycle and simplify error messages (#26517)
  • upload: remove aiMetadataJobsCleanup cron job (#26442)

๐Ÿ’… Enhancement

  • core: lazy-load node-schedule and umzug at boot (#26267)
  • core: eliminate @strapi/typescript-utils from boot path (#26270)
  • core/core: lazy-load typescript-utils in Strapi and compile (#26266)
  • strapi: hash-cache peer-dep check; demote env-vars log to debug (#26269)
  • strapi: lazy-require worker-only deps in dev primary (#26268)

โค๏ธ Thank You

  •  

Emmanuel Kasper: Running Linux i386 binary (steamcmd) via debootstrap foreign chroot

3 Juni 2026 om 10:50

The Steam command line client, which I need to download the game data for the Doom3 BFG shooter, is only available as an Linux i386 binary. As my main home computer is an arm64 box, this could be an issue, but today we have no less than three different ways to run a Linux i386 binary on arm64: Fex, Box32/64 and the older qemu-user mode. According to the Box64 benchmarks, qemu-user is the slowest of the three. But since this is only to run a command line tool downloader, where network speed is the bottleneck, this doesnโ€™t matter a lot.

Running steamcmd outside of a chroot via qemu-user and dpkg multiarch support was failing me with the error i386-binfmt-P: Could not open '/lib/ld-linux.so.2': No such file or directory even after installing the i386 libc. So I went the way of qemu-user and a chroot environment, a bit more convoluted but I can run any i386 binaries there in the future.

Create a debian-i386 chroot environment via deboostrap:

$ sudo apt install qemu-user qemu-user-binfmt debootstrap
$ fakeroot debootstrap --foreign --arch=i386 debian-i386
$ sudo chroot debian-i386
# inside the chroot 
# /debootstrap/debootstrap --second-stage 
# exit

Add needed mounts to run binaries inside the chroot:

$ sudo mount --bind /dev/ debian-i386/dev/
$ sudo mount --bind /dev/pts debian-i386/dev/pts
$ sudo mount -t proc none  debian-i386/proc/

Install steamcmd in the chroot client:

$ sudo chroot debian-i386

# export LANG=C
# cat /etc/apt/sources.list
deb http://deb.debian.org/debian stable main contrib non-free
# apt update && apt install --yes steamcmd 
# useradd --create-home --shell /bin/bash steam
# su - steam
$ steamcmd 
... will download an updated version of the tool, and print a lot of tracing information

Steam> quit

From now on you can follow the Doom3 BFG instructions to download the game data.

Once you exit the chroot, the game data will be available at debian-i386/home/steam/

  •  

Lang leve Europa, lang leve Ferrari | POM S11E36

Claude gedraagt zich opeens als een paternalistische betweter en Google's Whoop-kloon roept de noodtoestand uit na drie glazen wijn, compleet met dagenlange strafpreken over een te zware fietssessie. Maar het echte verhaal gaat over Ferrari, dat met de elektrische Luce voor het eerst een vijfpersoonsauto maakt die er volgens half de wereld verschrikkelijk goedkoop uitziet, ontworpen door Jony Ive's LoveFrom voor 185 miljoen euro per jaar. Toch zit er een meesterplan achter: die bak van een half miljoen is niet voor de petrolheads maar voor Chinese miljonairs en techbro's die een auto als software zien. Ferrari verkoopt amper 13.000 auto's per jaar met een marge van 30 procent en houdt zijn exclusiviteit kunstmatig overeind via een loyaliteitsscore waar je bijna niet in komt. De conclusie: zo blijft Europa relevant, door je nostalgie overboord te kieperen en te maken wat techmiljonairs en Chinezen mooi vinden. Daarnaast de vraag waarom niemand een journalistieke deep dive ร  la Acquired voor het Nederlandse nieuws maakt, terwijl dat format elk luisterboek de grond in trapt. En het inzicht dat YouTube overdag groter is dan Netflix, podcasters de nieuwe tv-sterren zijn, en Jay Shetty een deal van 100 miljoen dollar tekende met Spotify en Netflix.

Wil je 18 september ook luisteren naar het verhaal van Steven Bartlett en zijn merk Steven.com? Tickets voor het Amsterdam Business Forum vind je op DenkProducties.nl

Meer te weten te komen over Carbon Equity? Lees dan verder op carbonequity.com

En interesse in het sponsoren van Podcast over Media? Laat dan hier je gegevens achter, dan komen we bij je terug.



This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit www.pom.show

๐Ÿ’พ

  •  
โŒ