2024.8: Beta release notes (#33573)

This commit is contained in:
Franck Nijhof 2024-07-31 23:02:21 +02:00 committed by GitHub
parent 139903fe11
commit 41068e4912
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 1407 additions and 3 deletions

View File

@ -107,9 +107,9 @@ social:
# Home Assistant release details
current_major_version: 2024
current_minor_version: 7
current_patch_version: 4
date_released: 2024-07-30
current_minor_version: 8
current_patch_version: 0
date_released: 2024-08-07
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -0,0 +1,916 @@
---
layout: post
title: "2024.8: Beta release notes"
description: "Beta release notes for Home Assistant 2024.8"
date: 2024-07-31 00:00:00
date_formatted: "August 7, 2024"
author: Franck Nijhof
author_twitter: frenck
comments: true
categories:
- Release-Notes
- Core
og_image: /images/blog/2024-08/social.png
---
<a href='/integrations/#version/2024.8'><img src='/images/blog/2024-08/social.png' style='border: 0;box-shadow: none;'></a>
{% note %}
**Welcome to the beta release notes for Home Assistant 2024.8** 🎉
<br />
Please note that these release notes are a work in progress. 👷‍♀️ We will be
completing them over the next couple of days. Not all features might be final
yet, and some features _**may not** make it into the final release_.
<br />
**Want to help test the beta?** Awesome! ❤️ We have documented how you
[can join our beta channel and install the beta here](/common-tasks/os/#running-a-beta-version).
<br />
While running the beta, we highly recommend joining our _#beta_ channel on
the [Home Assistant Discord chat](/join-chat)! 💬 Most developers and beta
testers are in this channel during the beta period to share experiences, ideas,
and iterate over new features, fine-tuning them before the final release.
It's a really fun place to hang out. 😎
<br />
**Reporting issues**: As this is a beta test, you might encounter unexpected
behavior or issues. 🐞 We use the GitHub issue tracker to track beta issues.
You can find our issue trackers and the reported issues during beta here:
<br />
- [Report(ed) beta **dashboards/UI/frontend** issues](https://github.com/home-assistant/frontend/milestone/122)
- [Report(ed) beta **integrations/automations/backend/core** issues](https://github.com/home-assistant/core/milestone/680)
- [Report(ed) beta **documentation** issues](https://github.com/home-assistant/home-assistant.io/milestone/129)
🙏 When reporting issues, **make sure to mention the exact beta version you are
running** in the issue description. This will help us identify and track the
issue correctly. Read more about [reporting issues here](/help/reporting_issues/).
<br />
Issues introduced in the beta are processed with priority. 🔝
{% endnote %}
Home Assistant 2024.8! 🎉
Enjoy the (beta) release!
../Frenck
<!--more-->
- [Dashboards - Chapter 2](#dashboards---chapter-2)
- [New badges for your dashboard](#new-badges-for-your-dashboard)
- [Goodbye service calls, hello actions 👋](#goodbye-service-calls-hello-actions-)
- [Sort data tables by created or last modified](#sort-data-tables-by-created-or-last-modified)
- [Control Home Assistant using AI with Ollama](#control-home-assistant-using-ai-with-ollama)
- [Integrations](#integrations)
- [New integrations](#new-integrations)
- [Noteworthy improvements to existing integrations](#noteworthy-improvements-to-existing-integrations)
- [Integrations reaching platinum quality level](#integrations-reaching-platinum-quality-level)
- [Now available to set up from the UI](#now-available-to-set-up-from-the-ui)
- [Farewell to the following](#farewell-to-the-following)
- [Zigbee Home Automation (ZHA) updates](#zigbee-home-automation-zha-updates)
- [Matter updates](#matter-updates)
- [KNX can now be managed via the UI](#knx-can-now-be-managed-via-the-ui)
- [Other noteworthy changes](#other-noteworthy-changes)
- [Integrations and helpers set up via YAML, now visible in the UI!](#integrations-and-helpers-set-up-via-yaml-now-visible-in-the-ui)
- [Need help? Join the community!](#need-help-join-the-community)
- [Backward-incompatible changes](#backward-incompatible-changes)
- [All changes](#all-changes)
Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=fw_9A8iD1g0)
7 August 2024, at 20:00 GMT / 12:00 PST / 21:00 CEST!
<lite-youtube videoid="fw_9A8iD1g0" videotitle="Home Assistant 2024.8 Release Party"></lite-youtube>
## Dashboards - Chapter 2
As part of our [roadmap](/blog/2024/06/12/roadmap-2024h1/#dashboards), work has
continued, making the dashboard customization and organization easier and more
intuitive.
Last week, we had the ["Dashboards Chapter 2"](https://www.youtube.com/watch?v=9zmXLxQPr1o)
live stream, talking about the current state of the dashboards, the progress
we have made, the upcoming features and improvements we are working on, but
more importantly: Great insights in all the research and design philosophy
behind the dashboards. In case you missed it, you can watch the recording
on our [YouTube channel](https://www.youtube.com/watch?v=9zmXLxQPr1o) or
read the [recap blog post](/blog/2024/07/26/dashboard-chapter-2/).
As part of our continuous improvement: This month we have fully redesigned
and revamped the badges for your dashboards!
### New badges for your dashboard
We already wrote about it extensively in our [Dashboard Chapter 2 blog post](/blog/2024/07/26/dashboard-chapter-2/#new-badges):
this release introduces our redesigned badges!
A big revamp of the original badges that have been in Home Assistant since, well,
forever. The new badges are designed to match the design of the
[Mushroom] chip cards, and are
mean to sit at the top of a dashboard view, providing a summary of the most
important information that you need to know, at a glance.
<img src="/images/blog/2024-07-dashboard-chapter-2/new-badges.png" alt="New badges sitting on top of a dashboard view!">
These new badges are of course fully configurable from the UI, allowing you to
fully tweak them to your needs. You can specify whether the icon, name, and/or
state will be visible, and you can configure the contents within each of them.
Everything can, of course, be dragged and dropped in the order you like 😎
Not just that, the new badges also come with visibility options, the same
as we have [introduced for cards in Home Assistant 2024.6](/blog/2024/06/05/release-20246/#control-visibility-of-cards).
Meaning you can show or hide them based on who is viewing the dashboard, what
screen size it is displayed within, whether an entity is in a certain state, and more.
<img class="no-shadow" src="/images/blog/2024-08/badges-add-visibility.png" alt="Screenshots; left showing the add badge dialog wich include the custom mushroom template badge, on the right shows the visibility tab and options badges now have.">
The best news of all? The new badges work across both the new sections view and
the old masonry view! 🎉 Heck!, we even support for custom badges, like the
custom template one released by the [Mushroom] project 🍄.
If you have existing old-style badges today, don't worry! They will be
automatically converted to the new badges when you upgrade to this release.
[Mushroom]: https://github.com/piitaya/lovelace-mushroom
## Goodbye service calls, hello actions 👋
This release marks an important milestone in the evolution of Home Assistant:
we are saying goodbye to **service calls** and hello to **actions**!
If you are a long-time user of Home Assistant reading this now: don't be alarmed
by this change, nothing breaks with this, and everything will continue to work
as you are used to.
In the 2024.1 release, we [unified the actions](/2024/01/03/release-20241/#unified-actions)
in the Home Assistant automation & script editors. The goal of that change
was to make our automation editor easier to understand for newer users, by
removing the "Service call" layer and terminology.
<img class="no-shadow" src="/images/blog/2024-01/add-action-search.png" alt="Screenshot showing the new add action dialog utilizing the search function to find whatever you need.">
The UI in above screenshot is thus already in place since the January release,
and was very well received in general. However, the underlying terminology
in our documentation and all other places in Home Assistant was still using
the "service call" terminology.
Additionally, the term "services" in Home Assistant is overloaded and abiguous.
It is used for both the services you can call in Home Assistant, but also for
service you might integrate with, like a weather service, or a music service.
In the latter case, we are talking about integrating with a service provided by
a software program or website, the menu item in the setting called
**Devices & services** that refers to that. 😵‍💫
To make things more clear, we are now changing the terminology in Home Assistant
from "services" (as in service calls variant) to "actions" **everywhere**.
Every occurance in the documentation, the UI, the code, and everywhere else
in Home Assistant, has been replaced with "action". Unlike the previous services
which where "called", actions are "performed".
<img class="no-shadow" src="/images/blog/2024-08/actions-developers-tools.png" alt="Screenshot of the developers tools, which also renamed all occurances of services to actions.">
{% important %}
If you are writing automations in YAML, you will notice that the `service` key
in your actions is now called `action`. For example:
```yaml
- action: light.turn_on
target:
area: living_room
```
Existing UI-managed automations will be automatically converted to when they
are edited and saved the next time. If you write automation in YAML, you can
use either `action` or `service` as this change is fully backward compatible,
but we recommend using `action` from now on.
{% endimportant %}
## Sort data tables by created or last modified
You've added a new integration, a new device, or maybe just updated
Home Assistant and wondering what new entities or devices you have available?
This release is going to help you with that. Home Assistant now tracks
when entities, devices, and many other things were created or last
modified. If these are shown in a table, it means you can now sort them by
the date they were created or last modified; helping you finding those
recently added or modified items.
<img class="no-shadow" src="/images/blog/2024-08/data-tables-created-modified-columns-sorting.png" alt="Screenshot showing the new created and modified columns of the entities table, allowing one to sort on these new values.">
The created and modified columns are hidden by default, but you can make them
visible by clicking the {% icon "mdi:cog" %} icon in the top right of the
table. Sorting is always available, regardless of the visibility of the columns.
## Control Home Assistant using AI with Ollama
In the 2024.6 release, we introduced the ability to use the [OpenAI] and
[GoogleAI] {%term integrations %} to [control your home using Large Language Models]
(LLMs). Many of you request this to work with a local hosted LLM as well.
Today we are happy to announce that Home Assistant now supports being
controlled by local LLMs too!
This is achieved thanks to [@Shulyaka] adding support for the brand new tools
API in Ollama. The performance of the local models has been fine tuned by
[@AllenPorter].
Allen created a new LLM benchmark suite that is more balanced and less focused
on the edge cases. We scored the different models with this new benchmark.
The cloud-based models scored 98% on this new benchmark while local LLMs did
not do so well. Through prompt tuning and fixes included in this release,
we have been able to now get local LLMs to be able to score a reasonable 81%.
<img class="no-shadow" src="/images/blog/2024-08/llama-3.1-iteration.png" alt="Graph showing the iteration progress of implementing local Ollama support using the Llama 3.1 8B model.">
We will continue to work on testing new models and improving our prompts
and tools to achieve a higher score.
If you like to experiment with local LLMs using Home Assistant, we currently
recommend using the Llama 3.1 8B model.
_TODO: Verify numbers in this text_
[@AllenPorter]: https://github.com/AllenPorter
[@Shulyaka]: https://github.com/Shulyaka
[control your home using Large Language Models]: /blog/2024/06/05/release-20246/#dipping-our-toes-in-the-world-of-ai-using-llms
[GoogleAI]: /integrations/google_generative_ai_conversation/
[OpenAI]: /integrations/openai_conversation
## Integrations
Thanks to our community for keeping pace with the new {% term integrations %}
and improvements to existing ones! Youre all awesome 🥰
### New integrations
We welcome the following new integrations in this release:
- **[Autarco]**, added by [@klaasnicolaas]
Monitor the performance of your [Autarco](https://www.autarco.com/) connected solar panels, inverters and batteries.
- **[Bryant Evolution]**, added by [@danielsmyers]
Control your [Bryant Evolution](https://www.bryant.com/en/us/products/evolution-system/) HVAC system.
- **[Dio Chacon]**, added by [@cnico]
Connect your [Dio Chacon devices](https://chacon.com/en/) via RF 433 Mhz or Wi-Fi.
- **[iotty]**, added by [@pburgio]
Control your [iotty Smart Home](https://www.iotty.com/) light switch, gate, smart cover, and outlet devices.
- **[IronOS]**, added by [@tr4nt0r]
Integrate your IronOS powered soldering iron with Home Assistant over Bluetooth.
- **[Israel Rail]**, added by [@shaiu]
Get real-time departure information from the Israel railways.
- **[LinkPlay]**, added by [@dukeofphilberg]
Control various media player based on the [LinkPlay](https://www.linkplay.com/) protocol.
- **[madVR Envy]**, added by [@iloveicedgreentea]
Control your [madVR Envy](https://www.madvrenvy.com/) video processor for your home theater.
- **[Simplefin]**, added by [@jeeftor]
SimpleFIN is a financial data provider that offers a simple and easy-to-use API for retrieving financial data.
- **[Tesla Fleet]**, added by [@Bre77]
Connect and monitor various sensors from Tesla vehicles, PowerWall, Solar or Wall connectors through the Tesla Fleet API.
[@Bre77]: https://github.com/Bre77
[@cnico]: https://github.com/cnico
[@danielsmyers]: https://github.com/danielsmyers
[@dukeofphilberg]: https://github.com/dukeofphilberg
[@iloveicedgreentea]: https://github.com/iloveicedgreentea
[@jeeftor]: https://github.com/jeeftor
[@klaasnicolaas]: https://github.com/klaasnicolaas
[@pburgio]: https://github.com/pburgio
[@shaiu]: https://github.com/shaiu
[@tr4nt0r]: https://github.com/tr4nt0r
[Autarco]: /integrations/autarco
[Bryant Evolution]: /integrations/bryant_evolution
[Dio Chacon]: /integrations/chacon_dio
[iotty]: /integrations/iotty
[ironOS]: /integrations/iron_os
[Israel Rail]: /integrations/isreal_rail
[LinkPlay]: /integrations/linkplay
[madVR Envy]: /integrations/madvr
[Simplefin]: /integrations/simplefin
[Tesla Fleet]: /integrations/tesla_fleet
This release also has new virtual integrations. Virtual integrations
are stubs that are handled by other (existing) integrations to help with
findability. These ones are new:
- **[Mercury NZ Limited]**, provided by [Opower], added by [@SplicedNZ]
- **[MINI Connected]** provided by [BMW Connected Drive], added by [@rikroe]
[@rikroe]: https://github.com/rikroe
[@Splicednz]: https://github.com/SplicedNZ
[BMW Connected Drive]: /integrations/bmw_connected_drive
[Mercury NZ Limited]: /integrations/mercury_nz
[MINI Connected]: /integrations/mini_connected
[Opower]: /integrations/opower
### Noteworthy improvements to existing integrations
It is not just new {% term integrations %} that have been added; existing
integrations are also being constantly improved. Here are some of the noteworthy
changes to existing integrations:
- The [HomeKit Bridge] integration now support the event entities representing
doorbell and motion sensors. Big thanks [@bdraco]!
- In order to use the above HomeKit feature, [@bdraco] added support for
event entities to the [UniFi Protect], [Doorbird], and [August] integrations.
Awesome!
- Talking about event entities, [@mib1185] added event entities to the
[Feedreader] integration. So you can now easily automate when a new article
shows up in one of the news feeds you follow. Great!
- The [OpenAI conversation] integration now defaults to the, much cheaper,
gpt-4o-mini model. Thanks [@allenporter]!
- The [WLED] integration now supports CCT LED strips, thanks to [@Suxsem]!
- [Tessie] received lots of attention from [@Bre77] this release, adding
tons of new entities and features to the integration. Great job!
- [@joostlek] and [@andrew-codechimp] have been extending the [Mealie]
integration lot of new services, and features. Most notably, the ability to
import recipes, set meal plans, and view shopping lists. Thanks!
- You can now control your Reolink chime with the [Reolink] integration, thanks
to [@starkillerOG]!
- The [Roborock] integration now supports the [Roborock Zeo] washer/dryer.
Cool [@Lash-L]!
- [@tr4nt0r] migrated the [Habitica] Dailies and To-Do's to support our
todo entities. Nice!
[@tr4nt0r]: https://github.com/tr4nt0r
[Habitica]: /integrations/habitica
[@allenporter]: https://github.com/allenporter
[@andrew-codechimp]: https://github.com/andrew-codechimp
[@bdraco]: https://github.com/bdraco
[@Bre77]: https://github.com/Bre77
[@joostlek]: https://github.com/joostlek
[@Lash-L]: https://github.com/Lash-L
[@mib1185]: https://github.com/mib1185
[@starkillerOG]: https://github.com/starkillerOG
[@Suxsem]: https://github.com/Suxsem
[August]: /integrations/august
[Doorbird]: /integrations/doorbird
[Feedreader]: /integrations/feedreader
[HomeKit Bridge]: /integrations/homekit
[Mealie]: /integrations/mealie
[OpenAI conversation]: /integrations/openai_conversation
[Reolink]: /integrations/reolink
[Roborock Zeo]: https://global.roborock.com/pages/roborock-zeo-one
[Roborock]: /integrations/roborock
[Tessie]: /integrations/tessie
[UniFi Protect]: /integrations/unifiprotect
[WLED]: /integrations/wled
{% details "Potential changes to process" icon="mdi:scale-balance" %}
Processed up to _#122730_.
- Add support for Xiaomi airpurifier and humidifier ([@tanchu] - [#117791]) ([xiaomi_miio docs])
- Append multiple rows in Google Sheets ([@luca-angemi] - [#120829]) ([google_sheets docs])
- Add PrusaLink nozzle and mmu support ([@deimosfr] - [#120436]) ([prusalink docs])
- Add calendar for Rachio smart hose timer ([@brg468] - [#120030]) ([rachio docs]) (new-platform)
- Add support for Shelly virtual `boolean` component ([@bieniu] - [#119932]) ([shelly docs]) (noteworthy)
- Add support for Shelly `text` virtual component ([@bieniu] - [#121735]) ([shelly docs]) (new-platform) (noteworthy)
- Add support for Shelly `number` virtual component ([@bieniu] - [#121894]) ([shelly docs]) (noteworthy)
- Add support for Shelly `enum` virtual component ([@bieniu] - [#121997]) ([shelly docs]) (new-platform) (noteworthy)
- Add shelly overcurrent sensor for switches ([@huettner94] - [#122494]) ([shelly docs])
- Switch from WebRTC to microVAD ([@synesthesiam] - [#122861]) ([voip docs]) ([assist_pipeline docs])
{% enddetails %}
### Integrations reaching platinum quality level
The following {% term integrations %} have reached the platinum 🏆 level on our
[integration quality scale](/docs/quality_scale). These integrations are
the best of the best and give you an excellent out-of-the-box experience.
- **[BMW Connected Drive]**, done by [@rikroe]
- **[TechnoVE]**, done by [@Moustachauve]
- **[Tessie]**, done by [@Bre77]
Congratulations to all the developers who worked on these integrations!
[BMW Connected Drive]: /integrations/bmw_connected_drive
[@rikroe]: https://github.com/rikroe
[TechnoVE]: /integrations/technove
[@Moustachauve]: https://github.com/Moustachauve
[Tessie]: /integrations/tessie
[@Bre77]: https://github.com/Bre77
### Now available to set up from the UI
While most {% term integrations %} 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:
- **[Bluesound]**, done by [@LouisChrist]
- **[Genius Hub]**, done by [@GeoffAtHome]
- **[History stats]**, done by [@gjohansson-ST]
- **[Mastodon]**, done by [@andrew-codechimp]
- **[Russound RIO]**, done by [@noahhusby]
- **[Wake on LAN]**, done by [@gjohansson-ST]
- **[Worldclock]**, done by [@gjohansson-ST]
[Bluesound]: /integrations/bluesound
[@LouisChrist]: https://github.com/LouisChrist
[@GeoffAtHome]: https://github.com/GeoffAtHome
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@noahhusby]: https://github.com/noahhusby
[Genius Hub]: /integrations/geniushub
[History stats]: /integrations/history_stats
[Russound RIO]: /integrations/russound_rio
[Wake on LAN]: /integrations/wake_on_lan
[Worldclock]: /integrations/worldclock
[Mastodon]: /integrations/mastodon
[@andrew-codechimp]: https://github.com/andrew-codechimp
### Farewell to the following
The following {% term integrations %} are also no longer available as
of this release:
- **UE Smart Radio** has been removed, the service has been [discontinued](https://forums.slimdevices.com/forum/user-forums/general-discussion/1668327-uesmartradio-com-and-mysqueezebox-com-servers).
## Zigbee Home Automation (ZHA) updates
The [Zigbee Home Automation] (ZHA) integration has seen lot of improvements
and love from [@dmulcahey], [@puddly], and [@TheJulianJES] this release.
What this means for you? Well... basically nothing! And this sounds odd, but is
is a good thing!
The whole integration has been split into a separate codebases, making it
easier to maintain and improve. This is a huge step forward for the integration
that took months of work to get done.
You will not notice anything different right now, but this change will make
it easier to maintain and improve the integration in the future, including
the ability for code contributers to contribute to the integration more easily.
![Chart showing how ZHA dropping from the number one integration in terms of lines of code to about number ten](https://github.com/home-assistant/core/assets/32534428/d708f61b-1746-4306-9264-24b7ad2ec40a)
_TODO: Remove screenshot, it is fun for beta, but not for final release_
[@dmulcahey]: https://github.com/dmulcahey
[@puddly]: https://github.com/puddly
[@TheJulianJES]: https://github.com/TheJulianJES
[Zigbee Home Automation]: /integrations/zha
## Matter updates
A couple of updates for the Matter integration this release, while we are
working hard to get the integration ready for official Matter certification.
The Matter integration can now provide update entities. Meaning, if your
Matter device has a firmware update available, Home Assistant will now
be able to inform you about it and update the device for you. 🎉
_TODO: Add screenshot of a Matter device updating_
This update feature is available for all Matter devices of which the
manufacturers provide firmware updates for via the official main Matter update
channels. There are not many manufacturers yet, but this is a great step
forward and we hope many Matter manufacturers will follow this example.
Event entities provided by the Matter integration have been improved. They
will now provide more event types, allowing you to react to things like single
press or double press events with ease.
Additionally, [@jvmahon] contributed support for select entities to the Matter
integration. This is used for selecting modes if your Matter device supports
that. For example, laundry washer, oven or dishwasher modes.
[@jvmahon]: https://github.com/jvmahon
## KNX can now be managed via the UI
_TODO: Add piece of text / story / context as provided by [@farmio]_
The [KNX integration] now supports managing entities from the UI. This means
you can now create, update, and delete KNX entities directly from the UI
in the brand new dedicated KNX panel.
<img src="/images/blog/2024-08/knx-panel-for-creating-entities.png" alt="Screenshot showing the brand new KNX panel that allows you to manage the entities created by KNX right from the UI.">
[KNX integration]: /integrations/knx
[@farmio]: https://github.com/farmio
## Other noteworthy changes
There are many more improvements in this release; here are some of the other
noteworthy changes this release:
- We are proud of our [Open Home Foundation], so we now will show its pretty
logo on the loading and about screens of Home Assistant. Thanks [@balloob]!
- [Timer support] using [Assist], for mobile devices. This means you can now
control times from your mobile device or tablet. Thanks [@balloob]!
- You can now ask [Assist] for the current time and date, thanks [@synesthesiam]!
- Home Assistant will now raise a repair issue if an script can't be set up
(for example, because of YAML syntax errors). Thanks [@emontnemery]!
- If Home Assistant finds an integration set up that has been removed
(like when you remove a custom integration), it will now raise a repair issue
to help you clean up anything left behind. Thanks [@joostlek]!
- The [group] has support for grouping two new entities types. [@joostlek] added
support for grouping [notify] entities, and [@frenck] added support for grouping
[button] entities. Nice!
- The [Generic Thermostat] and [Hygrostat] helpers will now be linked to the
device that provided the actuator entity, thanks [@dougiteixeira]!
- [@gjohansson-ST] did the same, he added a link to the [History stats] helper
to the device that provided the sensor entity.
- You can now set up [button], [image], [select], and [switch] templates
entities, straight from the UI. Awesome job [@dougiteixeira]!
- [@karwosts] added a button to the actions developer tools to copy the action
response as JSON for use in templates. Nice!
[@balloob]: https://github.com/balloob
[@dougiteixeira]: https://github.com/dougiteixeira
[@emontnemery]: https://github.com/emontnemery
[@frenck]: https://github.com/frenck
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@joostlek]: https://github.com/joostlek
[@karwosts]: https://github.com/karwosts
[@synesthesiam]: https://github.com/synesthesiam
[Assist]: /voice_control/
[button]: /integrations/button
[Generic Thermostat]: /integrations/generic_thermostat
[group]: /integrations/group
[History stats]: /integrations/history_stats
[Hygrostat]: /integrations/generic_hygrostat
[image]: /integrations/image
[notify]: /integrations/notify
[Open Home Foundation]: https://openhomefoundation.org/
[select]: /integrations/select
[switch]: /integrations/switch
[Timer support]: /blog/2024/07/03/release-20247/#timers-are-here
## Integrations and helpers set up via YAML, now visible in the UI!
Most popular {% term integrations %} and helpers can be set up directly from the
Home Assistant user interface. However, we still have a lot of older or less
used integrations that can only be set up using manual YAML configuration.
We are working hard to move more and more of these integrations to the UI,
however, this takes time and effort; every release we are enabling more and
more of these integrations to be set up from the UI.
The problem with these integrations is that they are not visible in the UI
when they are set up using YAML. What we often see happening, is that someone
set up an integration using YAML, and next cannot see them on the integrations
page. Often resulting in questions in our community about where to find them.
As of this release, we have drasticly improved this situation. All integrations,
regardless of how they are set up, are now visible in the integrations page
in the UI. This means that even if you set up an integration using YAML, you
can now find them in the UI and can view their provided entities.
![CleanShot 2024-07-22 at 08 58 53](https://github.com/user-attachments/assets/fcdb16db-cfec-4490-928c-7e5486a746de)
_TODO: Replace screenshot_
Integrations originating from manual YAML configuration can be recognized by the
{% icon "mdi:code-braces" %} icon showing on their cards.
Similar, we also have a lot of helpers that can only be set up using YAML
configuration. These sometimes showed up in the UI, but often did not. We have
adjusted this as well, and made sure that all helpers are now visible in the UI,
regardless how they are set up.
{% note %}
Things set up manually using YAML are still managed using YAML. This means that
if you want to change the configuration of these integrations or helpers, you
will need to do so in the YAML configuration files.
{% endnote %}
## 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](/join-chat) is an excellent place to be
at, and don't forget to join our amazing [forums](https://community.home-assistant.io/).
Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues),
to get it fixed! Or, check [our help page](/help) for guidance for more
places you can go.
Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter)
to get the latest news about features, things happening in our community and
other news about building an 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:
{% details "Recorder database upgrade notice" %}
This notice is only relevant if you are using the recorder integration with
an MySQL or ProgreSQL database. If you are using the default SQLite database,
you can ignore this notice.
This release includes a database upgrade/migration that increases the size
of the number we can store for the idenfier fields. A more technical explanation:
We are upgrading integer fields for ID columns from a 32-bit integer to `BIGINT`,
which is a 64-bit integer.
This can cause the database upgrade to take longer than usual, depending on
the size of your database.
Please be patient and let the upgrade process finish. Do not interrupt the
upgrade process, as this can lead to a corrupted database.
([@emontnemery] - [#121093]) ([documentation](/integrations/recorder))
[@emontnemery]: https://github.com/emontnemery
[#121093]: https://github.com/home-assistant/core/pull/121093
{% enddetails %}
{% details "BlinkStick" %}
The Blinksticklight integration is disabled because it requires software that
is not open source. Any help or contributions to make this integration work
without the closed-source software is welcomed.
([@joostlek] - [#121846]) ([documentation](/integrations/blinksticklight))
[@joostlek]: https://github.com/joostlek
[#121846]: https://github.com/home-assistant/core/pull/121846
{% enddetails %}
{% details "Bluesound" %}
Sources behave slightly different. Radio station providers (like TuneIn, Radio
Paradise) are not part of the source list anymore as they are not selectable
as source.
Presets which play a specific radio station can be created in the BluOS app and
are displayed as sources in Home Assistant.
The currently selected source tries to match those presets and falls back to
the radio station provider (like TuneIn, Radio Paradise).
([@LouisChrist] - [#117257]) ([documentation](/integrations/bluesound))
[@LouisChrist]: https://github.com/LouisChrist
[#117257]: https://github.com/home-assistant/core/pull/117257
{% enddetails %}
{% details "BMW Connected Drive" %}
Describing attributes `car` and `vin` have been removed from BMW entities.
If you need to look them up, please get them from the device info screen.
([@rikroe] - [#120830]) ([documentation](/integrations/bmw_connected_drive))
[@rikroe]: https://github.com/rikroe
[#121093]: https://github.com/home-assistant/core/pull/120830
{% enddetails %}
{% details "Climate" %}
Scenes that used the deprecated auxiliary heat (`aux_heat` attribute),
will no longer restore/set the auxiliary heat state when the scene
is activated.
([@bjpetit] - [#121873]) ([documentation](/integrations/climate))
[@bjpetit]: https://github.com/bjpetit
[#121873]: https://github.com/home-assistant/core/pull/121873
{% enddetails %}
{% details "Concord232" %}
The Concord232 integration is disabled because it requires software that
is not open source. Any help or contributions to make this integration work
without the closed-source software is welcomed.
([@joostlek] - [#121974]) ([documentation](/integrations/concord232))
[@joostlek]: https://github.com/joostlek
[#121974]: https://github.com/home-assistant/core/pull/121974
{% enddetails %}
{% details "DoorBird" %}
Previously resetting the device favorites required working out a complicated
URL. A button is now available to perform this operation.
([@bdraco] - [#121720]) ([documentation](/integrations/doorbird))
[@bdraco]: https://github.com/bdraco
[#121720]: https://github.com/home-assistant/core/pull/121720
{% enddetails %}
{% details "Dovado" %}
The Dovado integration is disabled because it requires software that
is not open source. Any help or contributions to make this integration work
without the closed-source software is welcomed.
([@joostlek] - [#121871]) ([documentation](/integrations/dovado))
[@joostlek]: https://github.com/joostlek
[#121871]: https://github.com/home-assistant/core/pull/121871
{% enddetails %}
{% details "HomeKit Bridge" %}
PM2.5 airquality sensors are now mapped to the [US EPA AQI scale](https://www.epa.gov/system/files/documents/2024-02/pm-naaqs-air-quality-index-fact-sheet.pdf).
The new cutoff value for US AQI Good (0-50) is 9.0 µg/m3 is thus now used to
match the 2024 US EPA AQI standard.
([@sarabveer] - [#121093]) ([documentation](/integrations/homekit))
[@sarabveer]: https://github.com/sarabveer
[#109900]: https://github.com/home-assistant/core/pull/109900
{% enddetails %}
{% details "Lights" %}
The following attributes are no longer saved in the database for light
entities because their combinations would quickly fill up the database and
they are never used by Home Assistant:
- `brightness`
- `color_mode`
- `color_temp`
- `color_temp_kelvin`
- `effect`
- `hs_color`
- `rgb_color`
- `rgbw_color`
- `rgbww_color`
- `xy_color`
This change has no impact on the operation of your lights, but it will reduce
the amount of data stored in the database.
([@bdraco] - [#121776]) ([documentation](/integrations/light))
[@bdraco]: https://github.com/bdraco
[#121776]: https://github.com/home-assistant/core/pull/121776
{% enddetails %}
{% details "Matter" %}
Multi press events are now split of into their own dedicated event type such as
`multi_press_1`, `multi_press_2` etc. making it easier to automate on multiple
presses instead of having to look manually at the number of presses count.
If you have used the current event type in your automations, you will need to
update them to use the new event types.
([@marcelveldt] - [#122191]) ([documentation](/integrations/matter))
[@marcelveldt]: https://github.com/marcelveldt
[#122191]: https://github.com/home-assistant/core/pull/122191
{% enddetails %}
{% details "MQTT" %}
The `schema` option has been removed from the mqtt vacuum schema. YAML configs
still containing this option will break after 6 months of deprecation. Users
have been warned with with a repair. Discovery configs will not break if the
schema options is still in the config, but it will simple be ignored and an
error message will be logged to notice.
([@jbouwh] - [#121093]) ([documentation](/integrations/mqtt))
[@jbouwh]: https://github.com/jbouwh
[#121093]: https://github.com/home-assistant/core/pull/121093
{% enddetails %}
{% details "MVG" %}
([@joostlek] - [#121975]) ([documentation](/integrations/mvglive))
The MVG integration is disabled because it requires software that
is not open source. Any help or contributions to make this integration work
without the closed-source software is welcomed.
[@joostlek]: https://github.com/joostlek
[#121975]: https://github.com/home-assistant/core/pull/121975
{% enddetails %}
{% details "National Weather Service (NWS)" %}
NWS weather entities no longer have a `detailed_description` in the return
from the `weather.get_forecasts` service.
A new service, `nws.get_forecasts_extra`, is provided that includes
`detailed_description`. The `detailed_description` is no longer provided
for `hourly` forecasts in the `nws.get_forecasts_extra` service as the API
does not return data, however a `short_description` is now available.
([@MatthewFlamm] - [#117254]) ([documentation](/integrations/nws))
[@MatthewFlamm]: https://github.com/MatthewFlamm
[#117254]: https://github.com/home-assistant/core/pull/117254
{% enddetails %}
{% details "NextBus" %}
The `messages`, `directions`, and `attribution` attributes have been removed from
the sensor. The new API doesn't provide these anymore.
([@ViViDboarder] - [#121133]) ([documentation](/integrations/nextbus))
[@ViViDboarder]: https://github.com/ViViDboarder
[#121133]: https://github.com/home-assistant/core/pull/121133
{% enddetails %}
{% details "OpenAI Conversation" %}
The previously deprecated `256`, `512`, and `1024` values for size argument for
the `generate_image` service have been removed. They have already been
unsupported in the past (replaced with `1024x1024` by default).
If you still use these values in your automations or scripts, you will need to
update them to use "1024x1024", "1024x1792", or "1792x1024" values.
([@Shulyaka] - [#122388]) ([documentation](/integrations/openai_conversation))
[@Shulyaka]: https://github.com/Shulyaka
[#122388]: https://github.com/home-assistant/core/pull/122388
{% enddetails %}
{% details "WLED" %}
The WLED integration now requires a WLED device running at least
[WLED 0.14.0](https://github.com/Aircoookie/WLED/releases/tag/v0.14.0)
([@frenck] - [#122101]) ([documentation](/integrations/wled))
[@frenck]: https://github.com/frenck
[#122101]: https://github.com/home-assistant/core/pull/122101
{% enddetails %}
{% details "Xiaomi Miio" %}
The `Nature` and `Normal` preset modes will be renamed to `nature`
and `normal` to support translations.
If you have automations or scripts that use the `Nature` or `Normal` preset
modes, you will need to update them to use `nature` and `normal` instead.
([@piitaya] - [#122367]) ([documentation](/integrations/xiaomi_miio))
[@piitaya]: https://github.com/piitaya
[#122367]: https://github.com/home-assistant/core/pull/122367
{% enddetails %}
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][devblog]. The following are the most notable for this release:
- [Climate entity now validates temperature provided in action calls](https://developers.home-assistant.io/blog/2024/07/24/climate-min-max-temperature-check/)
- [model_id added to DeviceInfo](https://developers.home-assistant.io/blog/2024/07/16/device-info-model-id)
- [New entity feature flags in FanEntity](https://developers.home-assistant.io/blog/2024/07/19/fan-fanentityfeatures-turn-on_off)
- [New HVACAction DEFROSTING](https://developers.home-assistant.io/blog/2024/07/07/climate-hvacaction-defrosting/)
- [Services are now actions](https://developers.home-assistant.io/blog/2024/07/16/service-actions)
[devblog]: https://developers.home-assistant.io/blog/
## 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 2024.8](/changelogs/core-2024.8)

View File

@ -0,0 +1,488 @@
---
title: Full changelog for Home Assistant Core 2024.8
description: Detailed changelog for the Home Assistant Core 2024.8 release
replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$
---
These are all the changes included in the Home Assistant Core 2024.8 release.
For a summary in a more readable format:
[Release notes blog for this release](/blog/2024/08/07/release-20248/).
## All changes
- Bump version to 2024.8.0dev0 ([@frenck] - [#120577])
- Adapt Roborock to runtime_data ([@edenhaus] - [#120578]) ([roborock docs])
- Update pylint to 3.2.4 ([@cdce8p] - [#120606]) ([influxdb docs]) ([owntracks docs]) ([solarlog docs]) (dependency)
- Add some more VolDictType annotations ([@cdce8p] - [#120610])
- Install libturbojpeg in hassfest job [ci] ([@cdce8p] - [#120611])
- Prevent importing PLATFORM_SCHEMA/_BASE from config validation ([@epenet] - [#120571])
- Address device helper review comments ([@dougiteixeira] - [#120615])
- Bump awesomeversion from 24.2.0 to 24.6.0 ([@ludeeus] - [#120642]) (dependency)
- Remove unnecessary .coveragerc entries ([@davet2001] - [#120620])
- Add release url to lamarzocco update ([@zweckj] - [#120645]) ([lamarzocco docs])
- Improve type hints in emulated_hue tests ([@epenet] - [#120664]) ([emulated_hue docs])
- Improve type hints in esphome tests ([@epenet] - [#120674]) ([esphome docs])
- Add capsys to enforce-type-hints plugin ([@epenet] - [#120653]) ([srp_energy docs])
- Improve type hints in enphase_envoy tests ([@epenet] - [#120676]) ([enphase_envoy docs])
- Improve type hints in evil_genius_labs tests ([@epenet] - [#120677]) ([evil_genius_labs docs])
- Bump ring-doorbell to 0.8.12 ([@sdb9696] - [#120671]) ([ring docs]) (dependency)
- Fix SIM300 ([@joostlek] - [#120725])
- Improve type hints in auth tests ([@epenet] - [#120655])
- Improve type hints in flux_led tests ([@epenet] - [#120734]) ([flux_led docs])
- Add unit and state_class to heating sensor in ista EcoTrend ([@tr4nt0r] - [#120728]) ([ista_ecotrend docs])
- Improve type hints in flux tests ([@epenet] - [#120733]) ([flux docs])
- Fix ruff type comparison E721 ([@joostlek] - [#120731])
- Improve type hints in fjaraskupan tests ([@epenet] - [#120732]) ([fjaraskupan docs])
- Fix ruff manual-dict-comprehension PERF403 in tests ([@joostlek] - [#120738]) ([recorder docs])
- Fix ruff redefined-argument-from-local PLR1704 ([@joostlek] - [#120729])
- Bump aiomaps with fixed license classifier ([@devbis] - [#120654]) ([yandex_transport docs]) (dependency)
- Improve type hints in flo tests ([@epenet] - [#120730]) ([flo docs])
- Bump xiaomi-ble to 0.30.1 ([@joostlek] - [#120743]) ([xiaomi_ble docs]) (dependency)
- Improve type hints in forked_daapd tests ([@epenet] - [#120735]) ([forked_daapd docs])
- Improve type hints in frontend tests ([@epenet] - [#120739]) ([frontend docs])
- Fix ruff manual-dict-comprehension PERF403 ([@joostlek] - [#120723])
- Bump ruff to 0.5.0 ([@joostlek] - [#120749]) ([websocket_api docs]) ([command_line docs]) ([v2c docs]) ([weatherflow_cloud docs]) (dependency)
- Cleanup mqtt platform tests part 6 (last) ([@jbouwh] - [#120736]) ([mqtt docs])
- Cleanup mqtt platform tests part 5 ([@jbouwh] - [#120719]) ([mqtt docs])
- Bump Wallbox to 0.7.0 ([@kotope] - [#120768]) ([wallbox docs]) (dependency)
- Catch exceptions in service calls by buttons/switches in pyLoad integration ([@tr4nt0r] - [#120701]) ([pyload docs])
- Fix stale docstring in recorder queries ([@bdraco] - [#120763]) ([recorder docs])
- Link Generic Thermostat helper entity to actuator entity device ([@dougiteixeira] - [#120767]) ([generic_thermostat docs])
- Link Generic Hygrostat helper entity to actuator entity device ([@dougiteixeira] - [#120759]) ([generic_hygrostat docs])
- Add event platform to unifiprotect ([@bdraco] - [#120681]) ([unifiprotect docs]) (new-platform)
- Cleanup db_schema from_event constructors ([@bdraco] - [#120803]) ([recorder docs])
- Remove legacy foreign key constraint from sqlite states table ([@bdraco] - [#120779]) ([recorder docs])
- Bump pyOverkiz to 1.13.12 ([@iMicknl] - [#120819]) ([overkiz docs]) (dependency)
- Bump plexapi to 4.15.14 ([@jjlawren] - [#120832]) ([plex docs]) (dependency)
- Use eventing for some of the upnp sensors, instead of polling ([@StevenLooman] - [#120262]) ([upnp docs]) ([yeelight docs]) ([dlna_dmr docs]) ([samsungtv docs]) ([ssdp docs]) ([dlna_dms docs])
- Store runtime data inside the config entry in solarlog ([@dontinelli] - [#120773]) ([solarlog docs])
- Add linked doorbell event support to HomeKit ([@bdraco] - [#120834]) ([homekit docs])
- Bump google-cloud-texttospeech to 2.16.3 ([@tronikos] - [#120845]) ([google_cloud docs]) (dependency)
- Use TextToSpeechAsyncClient in Google Cloud TTS ([@tronikos] - [#120847]) ([google_cloud docs])
- Do not set gender if voice name is specified in Google Cloud TTS ([@tronikos] - [#120848]) ([google_cloud docs])
- Handle error when validating options in Google Cloud TTS ([@tronikos] - [#120850]) ([google_cloud docs])
- Use runtime_data for BMW ([@rikroe] - [#120837]) ([bmw_connected_drive docs])
- Axis improve fixture naming ([@Kane610] - [#120844]) ([axis docs])
- Store runtime data inside the config entry in fyta ([@dontinelli] - [#120761]) ([fyta docs])
- Correctly return file extension in Google Cloud TTS ([@tronikos] - [#120849]) ([google_cloud docs])
- Use SelectSelector in BMW config flow ([@rikroe] - [#120831]) ([bmw_connected_drive docs])
- Simplify UniFi uptime sensor test ([@Kane610] - [#120794]) ([unifi docs])
- Change schema to TextSelector to enable autocomplete ([@dontinelli] - [#120771]) ([fyta docs])
- Improve UniFi device tracker tests Pt2 ([@Kane610] - [#120796]) ([unifi docs])
- Improve UniFi device tracker tests ([@Kane610] - [#120795]) ([unifi docs])
- Migrate Ecowitt to runtime_data ([@edenhaus] - [#120675]) ([ecowitt docs])
- Fix unifi device tracker test imports ([@rikroe] - [#120864]) ([unifi docs])
- Add valve domain to HomeKit ([@sander1988] - [#115901]) ([homekit docs])
- Bump github/codeql-action from 3.25.10 to 3.25.11 (@dependabot - [#120899]) (dependency)
- Use service_calls fixture in deconz tests ([@epenet] - [#120905]) ([deconz docs])
- Import Generator from collections.abc (1) ([@cdce8p] - [#120914])
- Import Generator from collections.abc (4) ([@cdce8p] - [#120917])
- Import Generator from collections.abc (2) ([@cdce8p] - [#120915])
- Import Generator from collections.abc (3) ([@cdce8p] - [#120916])
- Add typing to Panasonic Viera ([@joostlek] - [#120772]) ([panasonic_viera docs])
- First step towards fixtures in deCONZ tests ([@Kane610] - [#120863]) ([deconz docs])
- Use service_calls fixture in google_translate tests ([@epenet] - [#120920]) ([google_translate docs])
- Use TypeVar defaults for Generator ([@cdce8p] - [#120921])
- Remove OverloadUT as codeowner from Ecovacs ([@edenhaus] - [#120517]) ([ecovacs docs])
- Add Context to service_calls fixture ([@epenet] - [#120923])
- Use service_calls fixture in knx tests ([@epenet] - [#120930]) ([knx docs])
- Use service_calls fixture in hue tests ([@epenet] - [#120928]) ([hue docs])
- Improve flume test coverage ([@allenporter] - [#120851]) ([flume docs])
- Use service_calls fixture in lutron_caseta tests ([@epenet] - [#120934]) ([lutron_caseta docs])
- Use service_calls fixture in homeassistant tests ([@epenet] - [#120922]) ([homeassistant docs])
- Use service_calls fixture in lcn tests ([@epenet] - [#120931]) ([lcn docs])
- Use fixtures in deCONZ select tests ([@Kane610] - [#120943]) ([deconz docs])
- Use service_calls fixture in media_extractor tests ([@epenet] - [#120935]) ([media_extractor docs])
- Use service_calls fixture in lg_netcast tests ([@epenet] - [#120932]) ([lg_netcast docs])
- Add exception translations ([@timmo001] - [#120937]) ([azure_devops docs])
- Use fixtures in deCONZ scene tests ([@Kane610] - [#120936]) ([deconz docs])
- Use fixtures in deCONZ number tests ([@Kane610] - [#120938]) ([deconz docs])
- Use service_calls fixture in litejet tests ([@epenet] - [#120933]) ([litejet docs])
- Replace GoogleAPICallError with GoogleAPIError ([@tronikos] - [#120902]) ([google_generative_ai_conversation docs])
- Remove a useless line in Google Generative AI test ([@tronikos] - [#120903]) ([google_generative_ai_conversation docs])
- Use service_calls fixture in kodi tests ([@epenet] - [#120929]) ([kodi docs])
- Use service_calls fixture in homekit_controller tests ([@epenet] - [#120927]) ([homekit_controller docs])
- Use service_calls fixture in geo_location tests ([@epenet] - [#120911]) ([geo_location docs])
- Use service_calls fixture in conversation tests ([@epenet] - [#120906]) ([conversation docs])
- Use fixtures in deCONZ logbook tests ([@Kane610] - [#120947]) ([deconz docs])
- Use fixtures in deCONZ lock tests ([@Kane610] - [#120948]) ([deconz docs])
- Use fixtures in deCONZ switch tests ([@Kane610] - [#120944]) ([deconz docs])
- Simplify Bang & Olufsen media_image_url property ([@mj23000] - [#120951]) ([bang_olufsen docs])
- Use service_calls fixture in core platform tests [a-l] ([@epenet] - [#120904])
- Use fixtures in deCONZ fan tests ([@Kane610] - [#120953]) ([deconz docs])
- Use fixtures in deCONZ cover tests ([@Kane610] - [#120954]) ([deconz docs])
- Use fixtures in deCONZ button tests ([@Kane610] - [#120958]) ([deconz docs])
- Use service_calls fixture in netatmo tests ([@epenet] - [#120986]) ([netatmo docs])
- Use service_calls fixture in shelly tests ([@epenet] - [#120991]) ([shelly docs])
- Use service_calls fixture in samsungtv tests ([@epenet] - [#120992]) ([samsungtv docs])
- Use service_calls fixture in mqtt tests ([@epenet] - [#120984]) ([mqtt docs])
- Use common registry fixtures in hue ([@epenet] - [#121003]) ([hue docs])
- Use common registry fixtures in tplink ([@epenet] - [#121002]) ([tplink docs])
- Use service_calls fixture in microsoft tests ([@epenet] - [#120983]) ([microsoft docs])
- Use service_calls fixture in zone tests ([@epenet] - [#120995]) ([zone docs])
- Use service_calls fixture in sun tests ([@epenet] - [#120990]) ([sun docs])
- Use service_calls fixture in yolink tests ([@epenet] - [#120997]) ([yolink docs])
- Use common fixtures in philips_js tests ([@epenet] - [#120988]) ([philips_js docs])
- Use common registry fixtures in lifx ([@epenet] - [#121004]) ([lifx docs])
- Use service_calls fixture in core platform tests [m-z] ([@epenet] - [#121001])
- Use common registry fixtures in solarlog ([@epenet] - [#121005]) ([solarlog docs])
- Use service_calls fixture in zwave_js tests ([@epenet] - [#120994]) ([zwave_js docs])
- Use service_calls fixture in xiaomi_ble tests ([@epenet] - [#120998]) ([xiaomi_ble docs])
- Use fixtures in deCONZ diagnostics tests ([@Kane610] - [#120968])
- Improve type hints in analytics tests ([@epenet] - [#121012]) ([analytics docs])
- Adjust Generator type hints in tests ([@epenet] - [#121013]) ([homekit docs]) ([tibber docs]) ([incomfort docs]) ([flume docs]) ([drop_connect docs])
- Fix typo in post_schema_migration ([@emontnemery] - [#121017]) ([recorder docs])
- Use service_calls fixture in nest tests ([@epenet] - [#120987]) ([nest docs])
- Use common fixtures in tasmota tests ([@epenet] - [#121000]) ([tasmota docs])
- Bump amberelectric to 1.1.1 ([@madpilot] - [#121010]) ([amberelectric docs]) (dependency)
- Update voluptuous to 0.15.2 ([@cdce8p] - [#120631]) (dependency)
- Bump orjson to 3.10.6 ([@bdraco] - [#121028]) (dependency)
- Improve type hints in home_connect tests ([@epenet] - [#121014]) ([home_connect docs])
- Add Beoconnect Core as selectable Bang & Olufsen device ([@mj23000] - [#121015]) ([bang_olufsen docs])
- Remove BaseTableManager active attribute ([@emontnemery] - [#121020]) ([recorder docs])
- Bump pytechnove to 1.3.0 ([@Moustachauve] - [#120975]) ([technove docs]) (dependency)
- Bump uiprotect to 5.0.0 ([@bdraco] - [#121034]) ([unifiprotect docs]) (dependency)
- Add monkeypatch type hints to shelly tests ([@epenet] - [#121057]) ([shelly docs])
- Add conversation supported feature CONTROL ([@balloob] - [#121036]) ([conversation docs])
- Use async_setup_recorder_instance fixture in recorder migration tests ([@emontnemery] - [#121050]) ([recorder docs])
- Remove unused diagnostics fixtures ([@epenet] - [#121066]) ([google docs]) ([local_calendar docs])
- Cleanup deprecated json utils ([@epenet] - [#121069])
- Add CONTROL supported feature to OpenAI conversation entities ([@balloob] - [#121064]) ([conversation docs]) ([openai_conversation docs])
- Improve logic when retrying establishing database connection ([@emontnemery] - [#121047]) ([recorder docs])
- Use async_setup_recorder_instance fixture in recorder auto_repairs tests ([@emontnemery] - [#121077]) ([recorder docs])
- Fix async knocki function ([@joostlek] - [#121048]) ([knocki docs])
- Bump uiprotect to 5.2.0 ([@bdraco] - [#121079]) ([unifiprotect docs]) (dependency)
- Cleanup v32 recorder migration test ([@bdraco] - [#121083]) ([recorder docs])
- Small speed up to writing entity state ([@bdraco] - [#121043])
- Fix leak of SQLAlchemy engine objects in recorder ([@emontnemery] - [#121085]) ([recorder docs])
- Make the async_setup_recorder_instance fixture a context manager ([@emontnemery] - [#121086]) ([recorder docs]) ([logbook docs]) ([history_stats docs])
- Fix event loop blocking I/O in command_line tests ([@bdraco] - [#121098]) ([command_line docs])
- Fix event loop blocking I/O in generic tests ([@bdraco] - [#121100]) ([generic docs])
- Remove schema option for mqtt vacuum configs ([@jbouwh] - [#121093]) ([mqtt docs]) (breaking-change)
- Fix blocking I/O in demo mailbox ([@bdraco] - [#121097]) ([demo docs])
- Remove unnecessary lambdas in timeout tests ([@bdraco] - [#121101])
- Fix blocking process call in process tests ([@bdraco] - [#121104])
- Add monkeypatch type hints to switcher_kis tests ([@epenet] - [#121055]) ([switcher_kis docs])
- Add monkeypatch type hints to webostv tests ([@epenet] - [#121054]) ([webostv docs])
- Add recorder test fixture for skipping tests by DB engine ([@emontnemery] - [#121118]) ([recorder docs])
- Fix blocking I/O in event loop in kira test ([@bdraco] - [#121127]) ([kira docs])
- Fix blocking I/O in event loop in google_assistant test ([@bdraco] - [#121126]) ([google_assistant docs])
- Bump nextcloudmonitor to 1.5.1 ([@meichthys] - [#120356]) ([nextcloud docs]) (dependency)
- Use async_test_recorder fixture in recorder auto_repairs tests ([@emontnemery] - [#121125]) ([recorder docs])
- Fix blocking I/O in media_extractor tests ([@bdraco] - [#121139]) ([media_extractor docs])
- Fix blocking I/O in mqtt tests ([@bdraco] - [#121140]) ([mqtt docs])
- Fix blocking I/O in stream tests ([@bdraco] - [#121142]) ([stream docs])
- Fix blocking I/O in tts tests ([@bdraco] - [#121143]) ([tts docs])
- Fix blocking I/O in config tests ([@bdraco] - [#121144])
- Update pytechnove to 1.3.1 ([@Moustachauve] - [#121146]) ([technove docs]) (dependency)
- Bump thermobeacon-ble to 0.7.0 ([@bdraco] - [#121136]) ([thermobeacon docs]) (dependency)
- Fix blocking I/O in event loop in core test ([@bdraco] - [#121128])
- Add port mapping entry count sensor to upnp ([@StevenLooman] - [#120263]) ([upnp docs])
- Add recorder test fixture to enable persistent SQLite database ([@emontnemery] - [#121137]) ([recorder docs])
- Improve type hints in group tests ([@epenet] - [#121174]) ([group docs])
- Improve type hints in gpslogger tests ([@epenet] - [#121173]) ([gpslogger docs])
- Improve type hints in geofency tests ([@epenet] - [#121168]) ([geofency docs])
- Improve type hints in google_travel_time tests ([@epenet] - [#121171]) ([google_travel_time docs])
- Improve type hints in generic_hygrostat/thermostat tests ([@epenet] - [#121167]) ([generic_thermostat docs]) ([generic_hygrostat docs])
- Improve type hints in generic tests ([@epenet] - [#121166]) ([generic docs])
- Convert async_get_conversation_languages from async to callback ([@balloob] - [#121162]) ([conversation docs]) ([assist_pipeline docs])
- Improve type hints in google_generative_ai tests ([@epenet] - [#121170]) ([google_generative_ai_conversation docs])
- Enable ruff asyncio event loop blocking detection rules ([@bdraco] - [#120799])
- Improve type hints in google_pubsub tests ([@epenet] - [#121172]) ([google_pubsub docs])
- Add monkeypatch type hints to numato tests ([@epenet] - [#121056]) ([numato docs])
- Add event platform to doorbird ([@bdraco] - [#121114]) ([doorbird docs]) (new-platform)
- Use fixtures in deCONZ config flow tests PT1 ([@Kane610] - [#121121]) ([deconz docs])
- Use fixtures in deCONZ sensor tests PT1 ([@Kane610] - [#121116]) ([deconz docs])
- Add support for event entity motion sensors to HomeKit ([@bdraco] - [#121123]) ([homekit docs])
- Improve type hints in guardian tests ([@epenet] - [#121175]) ([guardian docs])
- Use recorder test fixtures in recorder init tests ([@emontnemery] - [#121176]) ([recorder docs])
- Fix Google assistant SDK broadcasting command for italian ([@giulianoriccio] - [#116198]) ([google_assistant_sdk docs])
- Fix some typos in core.py ([@emontnemery] - [#121189])
- Add test fixture to control recorder migration ([@emontnemery] - [#121180]) ([recorder docs])
- Use fixtures in deCONZ alarm control panel tests ([@Kane610] - [#120967]) ([deconz docs])
- Use fixtures in deCONZ binary sensor tests ([@Kane610] - [#120966]) ([deconz docs])
- Use fixtures in deCONZ light tests PT1 ([@Kane610] - [#121112]) ([deconz docs])
- Use fixtures in deCONZ device trigger tests ([@Kane610] - [#121103]) ([deconz docs])
- Use fixtures in deCONZ service tests ([@Kane610] - [#121108]) ([deconz docs])
- Improve type hints in google tests ([@epenet] - [#121169]) ([google docs])
- Use fixtures in deCONZ sensor tests PT2 ([@Kane610] - [#121204]) ([deconz docs])
- Use fixtures in deCONZ config flow tests PT2 ([@Kane610] - [#121203]) ([deconz docs])
- Add type hints to matrix events fixtures ([@epenet] - [#121213]) ([matrix docs])
- Improve type hints in habitica tests ([@epenet] - [#121212]) ([habitica docs])
- Add type hints to homekit events fixture ([@epenet] - [#121211]) ([homekit docs])
- Add new integration for Dio Chacon cover devices ([@cnico] - [#116267]) ([dio_chacon docs]) (new-integration)
- Drop use of async_setup_recorder_instance fixture in recorder migration tests ([@emontnemery] - [#121196]) ([recorder docs])
- Drop use of async_setup_recorder_instance fixture in recorder purge tests ([@emontnemery] - [#121193]) ([recorder docs])
- Add support for the Select platform in Matter ([@jvmahon] - [#119769]) ([matter docs]) (new-platform)
- Update short_name in web app manifest ([@pkoenig10] - [#121223]) ([frontend docs])
- Update uiprotect to 5.2.2 ([@bdraco] - [#121227]) ([unifiprotect docs]) (dependency)
- Use Generator from abc instead of typing_extensions in Matter discovery ([@marcelveldt] - [#121236]) ([matter docs])
- Import AsyncGenerator from collections.abc in tests ([@epenet] - [#121019]) ([twitch docs]) ([youtube docs])
- Add .coveragerc to core files ([@epenet] - [#121182])
- Add warnings for deprecated json helpers ([@epenet] - [#121161]) (deprecation)
- Bump pytrafikverket to 1.0.0 ([@gjohansson-ST] - [#121210]) ([trafikverket_weatherstation docs]) ([trafikverket_train docs]) ([trafikverket_ferry docs]) ([trafikverket_camera docs]) (dependency)
- Fix AprilAire case ([@chamberlain2007] - [#120895]) ([aprilaire docs])
- Add MINI Connected virtual integration ([@rikroe] - [#120874]) ([mini_connected docs]) (new-integration)
- Bump `nettigo_air_monitor` to version 3.3.0 ([@bieniu] - [#120901]) ([nam docs]) (dependency)
- Improve type hints in ezviz tests ([@epenet] - [#120679]) ([ezviz docs])
- Use service_calls fixture in webostv tests ([@epenet] - [#120999]) ([webostv docs])
- Update laundrify_aio to v1.2.2 ([@xLarry] - [#121068]) ([laundrify docs]) (dependency)
[#115901]: https://github.com/home-assistant/core/pull/115901
[#116198]: https://github.com/home-assistant/core/pull/116198
[#116267]: https://github.com/home-assistant/core/pull/116267
[#119769]: https://github.com/home-assistant/core/pull/119769
[#120262]: https://github.com/home-assistant/core/pull/120262
[#120263]: https://github.com/home-assistant/core/pull/120263
[#120356]: https://github.com/home-assistant/core/pull/120356
[#120517]: https://github.com/home-assistant/core/pull/120517
[#120571]: https://github.com/home-assistant/core/pull/120571
[#120577]: https://github.com/home-assistant/core/pull/120577
[#120578]: https://github.com/home-assistant/core/pull/120578
[#120606]: https://github.com/home-assistant/core/pull/120606
[#120610]: https://github.com/home-assistant/core/pull/120610
[#120611]: https://github.com/home-assistant/core/pull/120611
[#120615]: https://github.com/home-assistant/core/pull/120615
[#120620]: https://github.com/home-assistant/core/pull/120620
[#120631]: https://github.com/home-assistant/core/pull/120631
[#120642]: https://github.com/home-assistant/core/pull/120642
[#120645]: https://github.com/home-assistant/core/pull/120645
[#120653]: https://github.com/home-assistant/core/pull/120653
[#120654]: https://github.com/home-assistant/core/pull/120654
[#120655]: https://github.com/home-assistant/core/pull/120655
[#120664]: https://github.com/home-assistant/core/pull/120664
[#120671]: https://github.com/home-assistant/core/pull/120671
[#120674]: https://github.com/home-assistant/core/pull/120674
[#120675]: https://github.com/home-assistant/core/pull/120675
[#120676]: https://github.com/home-assistant/core/pull/120676
[#120677]: https://github.com/home-assistant/core/pull/120677
[#120679]: https://github.com/home-assistant/core/pull/120679
[#120681]: https://github.com/home-assistant/core/pull/120681
[#120701]: https://github.com/home-assistant/core/pull/120701
[#120719]: https://github.com/home-assistant/core/pull/120719
[#120723]: https://github.com/home-assistant/core/pull/120723
[#120725]: https://github.com/home-assistant/core/pull/120725
[#120728]: https://github.com/home-assistant/core/pull/120728
[#120729]: https://github.com/home-assistant/core/pull/120729
[#120730]: https://github.com/home-assistant/core/pull/120730
[#120731]: https://github.com/home-assistant/core/pull/120731
[#120732]: https://github.com/home-assistant/core/pull/120732
[#120733]: https://github.com/home-assistant/core/pull/120733
[#120734]: https://github.com/home-assistant/core/pull/120734
[#120735]: https://github.com/home-assistant/core/pull/120735
[#120736]: https://github.com/home-assistant/core/pull/120736
[#120738]: https://github.com/home-assistant/core/pull/120738
[#120739]: https://github.com/home-assistant/core/pull/120739
[#120743]: https://github.com/home-assistant/core/pull/120743
[#120749]: https://github.com/home-assistant/core/pull/120749
[#120759]: https://github.com/home-assistant/core/pull/120759
[#120761]: https://github.com/home-assistant/core/pull/120761
[#120763]: https://github.com/home-assistant/core/pull/120763
[#120767]: https://github.com/home-assistant/core/pull/120767
[#120768]: https://github.com/home-assistant/core/pull/120768
[#120771]: https://github.com/home-assistant/core/pull/120771
[#120772]: https://github.com/home-assistant/core/pull/120772
[#120773]: https://github.com/home-assistant/core/pull/120773
[#120779]: https://github.com/home-assistant/core/pull/120779
[#120794]: https://github.com/home-assistant/core/pull/120794
[#120795]: https://github.com/home-assistant/core/pull/120795
[#120796]: https://github.com/home-assistant/core/pull/120796
[#120799]: https://github.com/home-assistant/core/pull/120799
[#120803]: https://github.com/home-assistant/core/pull/120803
[#120819]: https://github.com/home-assistant/core/pull/120819
[#120831]: https://github.com/home-assistant/core/pull/120831
[#120832]: https://github.com/home-assistant/core/pull/120832
[#120834]: https://github.com/home-assistant/core/pull/120834
[#120837]: https://github.com/home-assistant/core/pull/120837
[#120844]: https://github.com/home-assistant/core/pull/120844
[#120845]: https://github.com/home-assistant/core/pull/120845
[#120847]: https://github.com/home-assistant/core/pull/120847
[#120848]: https://github.com/home-assistant/core/pull/120848
[#120849]: https://github.com/home-assistant/core/pull/120849
[#120850]: https://github.com/home-assistant/core/pull/120850
[#120851]: https://github.com/home-assistant/core/pull/120851
[#120863]: https://github.com/home-assistant/core/pull/120863
[#120864]: https://github.com/home-assistant/core/pull/120864
[#120874]: https://github.com/home-assistant/core/pull/120874
[#120895]: https://github.com/home-assistant/core/pull/120895
[#120899]: https://github.com/home-assistant/core/pull/120899
[#120901]: https://github.com/home-assistant/core/pull/120901
[#120902]: https://github.com/home-assistant/core/pull/120902
[#120903]: https://github.com/home-assistant/core/pull/120903
[#120904]: https://github.com/home-assistant/core/pull/120904
[#120905]: https://github.com/home-assistant/core/pull/120905
[#120906]: https://github.com/home-assistant/core/pull/120906
[#120911]: https://github.com/home-assistant/core/pull/120911
[#120914]: https://github.com/home-assistant/core/pull/120914
[#120915]: https://github.com/home-assistant/core/pull/120915
[#120916]: https://github.com/home-assistant/core/pull/120916
[#120917]: https://github.com/home-assistant/core/pull/120917
[#120920]: https://github.com/home-assistant/core/pull/120920
[#120921]: https://github.com/home-assistant/core/pull/120921
[#120922]: https://github.com/home-assistant/core/pull/120922
[#120923]: https://github.com/home-assistant/core/pull/120923
[#120927]: https://github.com/home-assistant/core/pull/120927
[#120928]: https://github.com/home-assistant/core/pull/120928
[#120929]: https://github.com/home-assistant/core/pull/120929
[#120930]: https://github.com/home-assistant/core/pull/120930
[#120931]: https://github.com/home-assistant/core/pull/120931
[#120932]: https://github.com/home-assistant/core/pull/120932
[#120933]: https://github.com/home-assistant/core/pull/120933
[#120934]: https://github.com/home-assistant/core/pull/120934
[#120935]: https://github.com/home-assistant/core/pull/120935
[#120936]: https://github.com/home-assistant/core/pull/120936
[#120937]: https://github.com/home-assistant/core/pull/120937
[#120938]: https://github.com/home-assistant/core/pull/120938
[#120943]: https://github.com/home-assistant/core/pull/120943
[#120944]: https://github.com/home-assistant/core/pull/120944
[#120947]: https://github.com/home-assistant/core/pull/120947
[#120948]: https://github.com/home-assistant/core/pull/120948
[#120951]: https://github.com/home-assistant/core/pull/120951
[#120953]: https://github.com/home-assistant/core/pull/120953
[#120954]: https://github.com/home-assistant/core/pull/120954
[#120958]: https://github.com/home-assistant/core/pull/120958
[#120966]: https://github.com/home-assistant/core/pull/120966
[#120967]: https://github.com/home-assistant/core/pull/120967
[#120968]: https://github.com/home-assistant/core/pull/120968
[#120975]: https://github.com/home-assistant/core/pull/120975
[#120983]: https://github.com/home-assistant/core/pull/120983
[#120984]: https://github.com/home-assistant/core/pull/120984
[#120986]: https://github.com/home-assistant/core/pull/120986
[#120987]: https://github.com/home-assistant/core/pull/120987
[#120988]: https://github.com/home-assistant/core/pull/120988
[#120990]: https://github.com/home-assistant/core/pull/120990
[#120991]: https://github.com/home-assistant/core/pull/120991
[#120992]: https://github.com/home-assistant/core/pull/120992
[#120994]: https://github.com/home-assistant/core/pull/120994
[#120995]: https://github.com/home-assistant/core/pull/120995
[#120997]: https://github.com/home-assistant/core/pull/120997
[#120998]: https://github.com/home-assistant/core/pull/120998
[#120999]: https://github.com/home-assistant/core/pull/120999
[#121000]: https://github.com/home-assistant/core/pull/121000
[#121001]: https://github.com/home-assistant/core/pull/121001
[#121002]: https://github.com/home-assistant/core/pull/121002
[#121003]: https://github.com/home-assistant/core/pull/121003
[#121004]: https://github.com/home-assistant/core/pull/121004
[#121005]: https://github.com/home-assistant/core/pull/121005
[#121010]: https://github.com/home-assistant/core/pull/121010
[#121012]: https://github.com/home-assistant/core/pull/121012
[#121013]: https://github.com/home-assistant/core/pull/121013
[#121014]: https://github.com/home-assistant/core/pull/121014
[#121015]: https://github.com/home-assistant/core/pull/121015
[#121017]: https://github.com/home-assistant/core/pull/121017
[#121019]: https://github.com/home-assistant/core/pull/121019
[#121020]: https://github.com/home-assistant/core/pull/121020
[#121028]: https://github.com/home-assistant/core/pull/121028
[#121034]: https://github.com/home-assistant/core/pull/121034
[#121036]: https://github.com/home-assistant/core/pull/121036
[#121043]: https://github.com/home-assistant/core/pull/121043
[#121047]: https://github.com/home-assistant/core/pull/121047
[#121048]: https://github.com/home-assistant/core/pull/121048
[#121050]: https://github.com/home-assistant/core/pull/121050
[#121054]: https://github.com/home-assistant/core/pull/121054
[#121055]: https://github.com/home-assistant/core/pull/121055
[#121056]: https://github.com/home-assistant/core/pull/121056
[#121057]: https://github.com/home-assistant/core/pull/121057
[#121064]: https://github.com/home-assistant/core/pull/121064
[#121066]: https://github.com/home-assistant/core/pull/121066
[#121068]: https://github.com/home-assistant/core/pull/121068
[#121069]: https://github.com/home-assistant/core/pull/121069
[#121077]: https://github.com/home-assistant/core/pull/121077
[#121079]: https://github.com/home-assistant/core/pull/121079
[#121083]: https://github.com/home-assistant/core/pull/121083
[#121085]: https://github.com/home-assistant/core/pull/121085
[#121086]: https://github.com/home-assistant/core/pull/121086
[#121093]: https://github.com/home-assistant/core/pull/121093
[#121097]: https://github.com/home-assistant/core/pull/121097
[#121098]: https://github.com/home-assistant/core/pull/121098
[#121100]: https://github.com/home-assistant/core/pull/121100
[#121101]: https://github.com/home-assistant/core/pull/121101
[#121103]: https://github.com/home-assistant/core/pull/121103
[#121104]: https://github.com/home-assistant/core/pull/121104
[#121108]: https://github.com/home-assistant/core/pull/121108
[#121112]: https://github.com/home-assistant/core/pull/121112
[#121114]: https://github.com/home-assistant/core/pull/121114
[#121116]: https://github.com/home-assistant/core/pull/121116
[#121118]: https://github.com/home-assistant/core/pull/121118
[#121121]: https://github.com/home-assistant/core/pull/121121
[#121123]: https://github.com/home-assistant/core/pull/121123
[#121125]: https://github.com/home-assistant/core/pull/121125
[#121126]: https://github.com/home-assistant/core/pull/121126
[#121127]: https://github.com/home-assistant/core/pull/121127
[#121128]: https://github.com/home-assistant/core/pull/121128
[#121136]: https://github.com/home-assistant/core/pull/121136
[#121137]: https://github.com/home-assistant/core/pull/121137
[#121139]: https://github.com/home-assistant/core/pull/121139
[#121140]: https://github.com/home-assistant/core/pull/121140
[#121142]: https://github.com/home-assistant/core/pull/121142
[#121143]: https://github.com/home-assistant/core/pull/121143
[#121144]: https://github.com/home-assistant/core/pull/121144
[#121146]: https://github.com/home-assistant/core/pull/121146
[#121161]: https://github.com/home-assistant/core/pull/121161
[#121162]: https://github.com/home-assistant/core/pull/121162
[#121166]: https://github.com/home-assistant/core/pull/121166
[#121167]: https://github.com/home-assistant/core/pull/121167
[#121168]: https://github.com/home-assistant/core/pull/121168
[#121169]: https://github.com/home-assistant/core/pull/121169
[#121170]: https://github.com/home-assistant/core/pull/121170
[#121171]: https://github.com/home-assistant/core/pull/121171
[#121172]: https://github.com/home-assistant/core/pull/121172
[#121173]: https://github.com/home-assistant/core/pull/121173
[#121174]: https://github.com/home-assistant/core/pull/121174
[#121175]: https://github.com/home-assistant/core/pull/121175
[#121176]: https://github.com/home-assistant/core/pull/121176
[#121180]: https://github.com/home-assistant/core/pull/121180
[#121182]: https://github.com/home-assistant/core/pull/121182
[#121189]: https://github.com/home-assistant/core/pull/121189
[#121193]: https://github.com/home-assistant/core/pull/121193
[#121196]: https://github.com/home-assistant/core/pull/121196
[#121203]: https://github.com/home-assistant/core/pull/121203
[#121204]: https://github.com/home-assistant/core/pull/121204
[#121210]: https://github.com/home-assistant/core/pull/121210
[#121211]: https://github.com/home-assistant/core/pull/121211
[#121212]: https://github.com/home-assistant/core/pull/121212
[#121213]: https://github.com/home-assistant/core/pull/121213
[#121223]: https://github.com/home-assistant/core/pull/121223
[#121227]: https://github.com/home-assistant/core/pull/121227
[#121236]: https://github.com/home-assistant/core/pull/121236
[@Kane610]: https://github.com/Kane610
[@Moustachauve]: https://github.com/Moustachauve
[@StevenLooman]: https://github.com/StevenLooman
[@allenporter]: https://github.com/allenporter
[@balloob]: https://github.com/balloob
[@bdraco]: https://github.com/bdraco
[@bieniu]: https://github.com/bieniu
[@cdce8p]: https://github.com/cdce8p
[@chamberlain2007]: https://github.com/chamberlain2007
[@cnico]: https://github.com/cnico
[@davet2001]: https://github.com/davet2001
[@devbis]: https://github.com/devbis
[@dontinelli]: https://github.com/dontinelli
[@dougiteixeira]: https://github.com/dougiteixeira
[@edenhaus]: https://github.com/edenhaus
[@emontnemery]: https://github.com/emontnemery
[@epenet]: https://github.com/epenet
[@frenck]: https://github.com/frenck
[@giulianoriccio]: https://github.com/giulianoriccio
[@gjohansson-ST]: https://github.com/gjohansson-ST
[@iMicknl]: https://github.com/iMicknl
[@jbouwh]: https://github.com/jbouwh
[@jjlawren]: https://github.com/jjlawren
[@joostlek]: https://github.com/joostlek
[@jvmahon]: https://github.com/jvmahon
[@kotope]: https://github.com/kotope
[@ludeeus]: https://github.com/ludeeus
[@madpilot]: https://github.com/madpilot
[@marcelveldt]: https://github.com/marcelveldt
[@meichthys]: https://github.com/meichthys
[@mj23000]: https://github.com/mj23000
[@pkoenig10]: https://github.com/pkoenig10
[@rikroe]: https://github.com/rikroe
[@sander1988]: https://github.com/sander1988
[@sdb9696]: https://github.com/sdb9696
[@timmo001]: https://github.com/timmo001
[@tr4nt0r]: https://github.com/tr4nt0r
[@tronikos]: https://github.com/tronikos
[@xLarry]: https://github.com/xLarry
[@zweckj]: https://github.com/zweckj

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB