diff --git a/source/_posts/2024-01-03-release-20241.markdown b/source/_posts/2024-01-03-release-20241.markdown
index 7742788c732..b12161a4881 100644
--- a/source/_posts/2024-01-03-release-20241.markdown
+++ b/source/_posts/2024-01-03-release-20241.markdown
@@ -2,7 +2,7 @@
layout: post
title: "2024.1: Beta release notes"
description: "The beta release notes for Home Assistant 2024.1"
-date: 2023-12-07 00:00:00
+date: 2023-12-27 00:00:00
date_formatted: "January 3, 2024"
author: Franck Nijhof
author_twitter: frenck
@@ -13,7 +13,7 @@ categories:
og_image: /images/blog/2024-01/social.png
---
-
+
@@ -46,67 +46,254 @@ Enjoy the (beta) release!
-- [Lorem ipsum](#lorem-ipsum)
+- [Automation editor improvements](#automation-editor-improvements)
+- [New entity type: Valve](#new-entity-type-valve)
+- [Swappable](#swappable)
+- [New card features](#new-card-features)
- [Other noteworthy changes](#other-noteworthy-changes)
- [New integrations](#new-integrations)
- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
- [Need help? Join the community!](#need-help-join-the-community)
- [Backward-incompatible changes](#backward-incompatible-changes)
-- [Farewell to the following](#farewell-to-the-following)
- [All changes](#all-changes)
-Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=#)
+Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=dRwzSkKYIDs)
3 January 2024, at 12:00 PST / 21:00 CET!
-
+
-## Lorem ipsum
+## Automation editor improvements
-Lorem ipsum
+The automation editor got some love this release, with a lot of small
+improvements to make it easier to use.
+
+If you start out with Home Assistant, visiting your automations page would
+result in an empty page. This is not very helpful if you see this for the first
+time.
+
+Instead, you are now greeted by the little automation robot and show
+an explaination of what automations are, and reference to the documentation
+that can help you get started.
+
+_TODO: Add screenshot_
+
+Once you start create a new integration, you will be greeted by some new
+terminolgy and description to help you understand what each section is about.
+
+
+
+Don't worry, we'll hide the help text once you added elements to the section.
+The bigger change can be found in the buttons to add a trigger, condition or
+action to your automation.
+
+The first thing to notice, is that the conditions and actions have a new
+button next to them: "Add building block". Click this allows you to
+add logicial elements to your automation, like "and", "or", "If", "choose", etc.
+
+These used to be mixed in with the conditions and actions, but now have their
+own dedicated button. This makes it easier to find them, and declutters the
+list of conditions and actions.
+
+_TODO: Add screenshot_
+
+All these buttons, used to give a dropdown that allowed you to select the
+type of trigger, condition or action you wanted to add. This dropdown has
+been replaced by a new dialog, including descriptions for each item and search.
+
+These descriptions are important, as they help you understand what the
+trigger, condition or action does, and what it is used for.
+
+_TODO: Add screenshot_
+
+If you add an element, we will show you the most commonly used
+trigger/condition/action first. All other are neatly categorized in the
+other sections.
+
+Last, but not least, the "service calls" are now merged with all other actions.
+Meaning, that if you add an action, you see all actions, including service
+calls. They are neatly grouped by entity type and the integration providing them,
+provide the descriptions on what they do, and are searchable as well.
+
+_TODO: Add screenshot_
+
+## Description & due support for todo list items
+
+This feature was already hinted in the last release, but now it is here!
+
+You can add due dates and description to each item in your todo list (if
+supported by the integration of course).
+
+
+
+
+
+## New entity type: Valve
+
+A brand new entity type has been added to Home Assistant: Valve!
+
+This entity type can be used by integrations to expose valves, like for example
+a valve on a radiator, pool or sprinkler system.
+
+_TODO: Add screenshot_
+
+Currently, the Shelly integration supports it and now provides an `valve` entity
+for the Valve addon for Shelly Gas. Additionally, support for it has been
+added to MQTT, and the valve entities also work with Amazon Alexa
+and Google Assistant.
+
+## Swappable current/target on thermostat & humidifier cards
+
+By popular demand, the thermostat and humidifier cards now support setting
+current temperature/humidity as the primary information to show in the
+card.
+
+Enabling this option, will result in the target temperature/humidity to be
+swapped.
+
+
+
+## New card features
+
+Last year, we have seen many new features added to the cards, so let's start
+the new year with some more!
+
+@Quentame added the climate fan mode card feature feature. This feature can be
+used with both the thermostat and the climate card.
+
+
+
+Also new, the update actions card feature. This addition by @piitaya allows
+you to add buttons to a card that can trigger update actions when pressed.
+
+
## Other noteworthy changes
There are many more improvements in this release; here are some of the other
noteworthy changes this release:
-- Lorem ipsum, thanks [@frenck]!
-
-[@frenck]: https://github.com/frenck
+- Move cloud stt engine to config entry ([@MartinHjelmare] - [#99608])
+- Add support for Shelly Gen3 devices ([@bieniu] - [#104874])
+- Add consider home interval to ping ([@jpbede] - [#104881])
+- Add preset modes to ESPHome fan entities ([@mill1000] - [#103781])
+- Add calendar entity to Radarr ([@tkdrob] - [#79077])
+- Add support for Happy Eyeballs to homekit_controller ([@bdraco] - [#105454])
+- Add France to picnic countries ([@slhad] - [#105722])
+- Rename zamg to GeoSphere Austria ([@killer0071234] - [#105494])
+- Make the minimum number of samples used by the trend sensor configurable ([@jpbede] - [#101102])
+- Add new price sensors with API token access to pvpc hourly pricing ([@azogue] - [#85769])
+- Add Starline Service Mode switch ([@Anonym-tsk] - [#105741])
+- Add Energyzero get_gas_prices and get_energy_price services ([@iamrgroot] - [#101374])
+- Add subwoofer crossover support to Sonos Amp devices ([@jjlawren] - [#106290])
+- Add alarm platform to Comelit ([@chemelli74] - [#104718])
+- Add Support for SleepIQ Foot Warmers ([@kbickar] - [#105931])
## New integrations
We welcome the following new integrations in this release:
+- **[A. O. Smith]**, added by [@bdr99]
+ Integrate and control your A. O. Smith water heater.
+- **[Blue Current]**, added by [@Floris272]
+ Monitor your Blue Current EV charger charge point(s).
+- **[DROP]**, added by [@pfrazer]
+ Manage your DROP Smart Water System with Home Assistant.
- **[Flexit BACnet]**, added by [@lellky]
Control and monitor your Flexit Nordic series air handling units.
- **[Holiday]**, added by [@jrieger]
Add holiday calendars to Home Assistant for powering automations.
+- **[Midea CCM15 AC Controller]**, added by [@ocalvo]
+ Use your AC connected to an Midea CCM15 AC Controller.
+- **[OSO Energy]**, added by [@osohotwateriot]
+ Use your OSO Energy water heater with Home Assistant.
+- **[Sun WEG]**, added by [@rokam]
+ Collect and monitor energy production data from your Sun WEG inverter.
+- **[Tailwind]**, added by [@frenck]
+ Operate your garage door openers connected to a Tailwind smart garage door controller.
+- **[Tessie]**, added by [@Bre77]
+ Integrate, monitor and control your Tesla vehicle connected to the Tessie platform.
+- **[Refoss]**, added by [@ashionky]
+ Use your Refoss smart devices directly with Home Assistant.
+- **[Valve]**, added by [@cibernox]
+ An entity type for valves, which can be used by integrations to expose valves.
+- **[Vogel's MotionMount]**, added by [@RJPoelstra]
+ Control the position of your Vogel's MotionMount TV mount.
+[@ashionky]: https://github.com/ashionky
+[@bdr99]: https://github.com/bdr99
+[@Bre77]: https://github.com/Bre77
+[@cibernox]: https://github.com/cibernox
+[@Floris272]: https://github.com/Floris272
+[@frenck]: https://github.com/frenck
[@jrieger]: https://github.com/jrieger
[@lellky]: https://github.com/lellky
+[@ocalvo]: https://github.com/ocalvo
+[@osohotwateriot]: https://github.com/osohotwateriot
+[@pfrazer]: https://github.com/pfrazer
+[@RJPoelstra]: https://github.com/RJPoelstra
+[@rokam]: https://github.com/rokam
+[A. O. Smith]: /integrations/aosmith
+[Blue Current]: /integrations/blue_current
+[DROP]: /integrations/drop
[Flexit BACnet]: /integrations/flexit_bacnet
[Holiday]: /integrations/holiday
+[Midea CCM15 AC Controller]: /integrations/ccm15
+[OSO Energy]: /integrations/osoenergy
+[Refoss]: /integrations/refoss
+[Sun WEG]: /integrations/sunweg
+[Tailwind]: /integrations/tailwind
+[Tessie]: /integrations/tessie
+[Valve]: /integrations/valve
+[Vogel's MotionMount]: /integrations/motionmount
This release also has a new virtual integration. Virtual integrations are stubs
that are handled by other (existing) integrations to help with findability.
The following virtual integrations have been added:
+- **[AEP Ohio]**, provided by [Opower]
+- **[AEP Texas]**, provided by [Opower]
+- **[Appalachian Power]**, provided by [Opower]
- **[Fujitsu anywAIR]**, provided by [Advantage Air]
+- **[Indiana Michigan Power]**, provided by [Opower]
+- **[Kentucky Power]**, provided by [Opower]
+- **[Public Service Company of Oklahoma (PSO)]**, provided by [Opower]
- **[Seattle City Light]**, provided by [Opower]
+- **[Southwestern Electric Power Company (SWEPCO)]**, provided by [Opower]
[Advantage Air]: /integrations/advantage_air
+[AEP Ohio]: /integrations/aepohio
+[AEP Texas]: /integrations/aeptexas
+[Appalachian Power]: /integrations/appalachianpower
[Fujitsu anywAIR]: /integrations/fujitsu_anywair
+[Indiana Michigan Power]: /integrations/indianamichiganpower
+[Kentucky Power]: /integrations/kentuckypower
[Opower]: /integrations/opower
+[Public Service Company of Oklahoma (PSO)]: /integrations/psoklahoma
[Seattle City Light]: /integrations/scl
+[Southwestern Electric Power Company (SWEPCO)]: /integrations/swepco
## Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-- **[Lorem ipsum]**, done by [@frenck]
+- **[Netgear LTE]**, done by [@tkdrob]
+- **[StreamLabs]**, done by [@joostlek]
+- **[Suez Water]**, done by [@joostlek]
+- **[Swiss public transport]**, done by [@miaucl]
+- **[System Monitor]**, done by [@gjohansson-ST]
+- **[Trend]**, done by [@jpbede]
-[@frenck]: https://github.com/frenck
-[Lorem ipsum]: /integrations/lorem_ipsum
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@joostlek]: https://github.com/joostlek
+[@jpbede]: https://github.com/jpbede
+[@miaucl]: https://github.com/miaucl
+[@tkdrob]: https://github.com/tkdrob
+[Netgear LTE]: /integrations/netgear_lte
+[StreamLabs]: /integrations/streamlabswater
+[Suez Water]: /integrations/suez_water
+[Swiss public transport]: /integrations/swiss_public_transport
+[System Monitor]: /integrations/systemmonitor
+[Trend]: /integrations/trend
## Need help? Join the community!
@@ -151,24 +338,64 @@ it is identical to omitting it: `swap:`.
{% enddetails %}
+{% details "PrusaLink" %}
+
+- The printer state now contains several new statuses, most importantly
+ "attention" which always needs your invention.
+- Firmware 4.7.0 is now the minimum version for Prusa XL and MK4.
+- Firmware 5.1.0 is now the minimum version for Prusa Mini since 4.7.x and 5.0.x
+ aren't available for the Mini
+
+([@Skaronator] - [#103396]) ([documentation](/integrations/prusalink))
+
+[@Skaronator]: https://github.com/Skaronator
+[#103396]: https://github.com/home-assistant/core/pull/103396
+
+{% enddetails %}
+
+{% details "Reolink" %}
+
+The Reolink `Infra red lights in night mode` entity has been migrated from
+the `light` to the `switch` domain.
+
+This means the entity ID also changed and automations and dashboards may need
+to be adjusted to use the new entity ID.
+
+If you want to go back to the light domain, use the
+[switch_as_x "Show as" option](/integrations/switch_as_x/#change-device-type-of-a-switch-from-the-existing-entity)
+on the new `Infra red lights in night mode` switch entity and select light.
+
+([@starkillerOG] - [#104713]) ([documentation](/integrations/reolink))
+
+[@starkillerOG]: https://github.com/starkillerOG
+[#105916]: https://github.com/home-assistant/core/pull/105916
+
+{% enddetails %}
+
+{% details "Shelly" %}
+
+The minimum supported firmware version for generation 1 devices is 1.11.0 (2021-07-15).
+The minimum supported firmware version for generation 2 devices is 1.0.0 (2023-08-03).
+
+You must update your devices to the firmware versions listed or newer.
+
+([@bieniu] - [#105384]) ([documentation](/integrations/shelly))
+
+[@bieniu]: https://github.com/bieniu
+[#105384]: https://github.com/home-assistant/core/pull/105384
+
+{% enddetails %}
+
If you are a custom integration developer and want to learn about breaking
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:
-- [Lorem ipsum](https://developers.home-assistant.io/blog)
+- [Changes to EntityDescription data classes](https://developers.home-assistant.io/blog/2023/12/11/entity-description-changes/)
+- [Config entry now supports minor versions](https://developers.home-assistant.io/blog/2023/12/18/config-entry-minor-version/)
+- [Deprecated constants create a log entry](https://developers.home-assistant.io/blog/2023/12/19/constant-deprecation/)
[devblog]: https://developers.home-assistant.io/blog/
-## Farewell to the following
-
-The following integrations are also no longer available as of this release:
-
-- **Lorem ipsum** has been removed. Lorem slipsum might be a good replacement.
- ([@frenck] - [#12345])
-
-[@frenck]: https://github.com/frenck
-[#12345]: https://github.com/home-assistant/core/pull/12345
-
## All changes
Of course, there is a lot more in this release. You can find a list of
diff --git a/source/changelogs/core-2024.1.markdown b/source/changelogs/core-2024.1.markdown
index ea34848d0c8..c4f0293cf4e 100644
--- a/source/changelogs/core-2024.1.markdown
+++ b/source/changelogs/core-2024.1.markdown
@@ -7,7 +7,7 @@ replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$
These are all the changes included in the Home Assistant Core 2024.1 release.
For a summary in a more readable format:
-[Release notes blog for this release](/blog/2023/12/07/release-20241/).
+[Release notes blog for this release](/blog/2023/12/27/release-20241/).
## All changes
@@ -49,7 +49,6 @@ For a summary in a more readable format:
- Add MELCloud token refresh upon firmware upgrade ([@erwindouna] - [#104391])
- Refactor bluetooth scanners for better seperation of concerns ([@bdraco] - [#104909])
- Bump python-holidays to 0.37 ([@jrieger] - [#104937])
-- Bump zeroconf to 0.128.0 ([@bdraco] - [#104936])
- Remove CONF_PRECISION remainder from dsmr ([@jbouwh] - [#104919])
- Add Holiday integration ([@jrieger] - [#103795])
- Bump bluetooth-data-tools to 1.17.0 ([@bdraco] - [#104935])
@@ -113,15 +112,542 @@ For a summary in a more readable format:
- Add preset modes to ESPHome fan entities ([@mill1000] - [#103781])
- Modernize and cleanup trend tests ([@jpbede] - [#105010])
- Add Modbus fan speed support ([@cian] - [#104577])
-- Expose todo entities to Assist by default ([@synesthesiam] - [#105150])
- Add extra tests for HomeWizard for unsupported entity creation ([@DCSBL] - [#105149])
- Bump actions/setup-python from 4.8.0 to 5.0.0 (@dependabot - [#105193])
- Use brightness scaling util in HomeWizard Number entity ([@DCSBL] - [#105147])
- Add custom services for renson fans ([@jimmyd-be] - [#94497])
- Add Seattle City Light virtual integration via Opower ([@dewdropawoo] - [#104997])
+- Bump easyenergy lib to v2.1.0 ([@klaasnicolaas] - [#105224])
+- Bump energyzero lib to v2.1.0 ([@klaasnicolaas] - [#105228])
+- Migrate auth tests to use freezegun ([@jpbede] - [#105243])
+- Use freezegun in cert_expiry tests ([@jpbede] - [#105125])
+- Migrate Gree to has entity name ([@joostlek] - [#104739])
+- Migrate non-component tests to use freezegun/freezer ([@jpbede] - [#105142])
+- Add Wyoming satellite audio settings ([@synesthesiam] - [#105261])
+- Add OSO Energy integration ([@osohotwateriot] - [#70365])
+- Bump actions/stale from 8.0.0 to 9.0.0 (@dependabot - [#105275])
+- Bump github/codeql-action from 2.22.8 to 2.22.9 (@dependabot - [#105274])
+- Bump habluetooth to 0.10.0 ([@bdraco] - [#105118])
+- Adjust stale bot policy for PRs ([@frenck] - [#105280])
+- Remove workaround for default lock code in Matter ([@oyvindwe] - [#105173])
+- Update yarl to 1.9.4 ([@frenck] - [#105282])
+- Replace apcaccess dependency with aioapcaccess in apcupsd ([@yuxincs] - [#104571])
+- Migrate samsungtv tests to use freezegun ([@jpbede] - [#105286])
+- Add support for accessing Squeezebox over over https ([@rajlaud] - [#95088])
+- Add A. O. Smith integration ([@bdr99] - [#104976])
+- Migrate homeassistant component tests to use freezegun ([@jpbede] - [#105333])
+- Add myself as code owner for co2signal ([@VIKTORVAV99] - [#105302])
+- Replace aiohttp mock with patch in Advantage Air ([@Bre77] - [#104932])
+- Fix SSLCipherList typing error in IMAP coordinator ([@vexofp] - [#105362])
+- Sun WEG integration ([@rokam] - [#88272])
+- Migrate template tests to use freezegun ([@jpbede] - [#105341])
+- Make network fixture scoped to session to speed up tests ([@bdraco] - [#105353])
+- Migrate gree tests to use freezegun ([@jpbede] - [#105340])
+- Fix the ruff-format error ([@Bre77] - [#105376])
+- Update freezegun to 1.3.1 ([@cdce8p] - [#105377])
+- Migrate unifi tests to use freezegun ([@jpbede] - [#105343])
+- Add data descriptions to Reolink ([@starkillerOG] - [#105298])
+- Bump `aioshelly` to version 7.0.0 ([@bieniu] - [#105384])
+- Avoid ffmpeg subprocess for many component tests ([@bdraco] - [#105354])
+- Migrate time_date tests to use freezegun ([@jpbede] - [#105409])
+- Prevent duplicate default SSLContext instances ([@vexofp] - [#105348])
+- Remove zwave_js device on device reset ([@raman325] - [#104291])
+- Accept HTTP 200 through 206 as success for RESTful Switch ([@vexofp] - [#105358])
+- Add Tessie Integration ([@Bre77] - [#104684])
+- Migrate roku tests to use freezegun ([@jpbede] - [#105418])
+- Make API init async in Minecraft Server ([@elmurato] - [#105403])
+- Add reauth to Tessie ([@Bre77] - [#105419])
+- Migrate mqtt tests to use freezegun ([@jpbede] - [#105414])
+- Improve Amazon Alexa endpoint validation ([@frenck] - [#105287])
+- Add reauth to A. O. Smith integration ([@bdr99] - [#105320])
+- Bump pylitejet to v0.6.0 ([@joncar] - [#105472])
+- Migrate tag & tts tests to use freezegun ([@jpbede] - [#105411])
+- Migrate octoprint tests to use freezegun ([@jpbede] - [#105408])
+- Migrate sonarr tests to use freezegun ([@jpbede] - [#105410])
+- Bump python-holidays to 0.38 ([@jrieger] - [#105482])
+- Make Workday UI setup nicer ([@gjohansson-ST] - [#105407])
+- Bump openai end switch from dall-e-2 to dall-e-3 ([@Shulyaka] - [#104998])
+- Follow Alpine 3.18 raspberrypi package updates ([@agners] - [#105486])
+- Reduce modbus validator for "swap" (remove special handling) ([@janiversen] - [#105021])
+- Improve test of config entry store ([@emontnemery] - [#105487])
+- Update typing-extensions to 4.9.0 ([@cdce8p] - [#105490])
+- Correctly report unavailable battery for value 255 of percentage ([@elupus] - [#104566])
+- Make it possible to inherit EntityDescription in frozen and mutable dataclasses ([@emontnemery] - [#105211])
+- Add typing in Melcloud config flow ([@erwindouna] - [#105510])
+- Relocate Bluetooth manager to habluetooth library ([@bdraco] - [#105110])
+- Add config flow to Suez water ([@joostlek] - [#104730])
+- Add Fastdotcom DataUpdateCoordinator ([@erwindouna] - [#104839])
+- Add support for Shelly Gen3 devices ([@bieniu] - [#104874])
+- Remove unneeded class _EntityDescriptionBase ([@emontnemery] - [#105518])
+- Improve tests in Tessie ([@Bre77] - [#105430])
+- Updates V2C sensor icons ([@dgomes] - [#105534])
+- Bump sigstore/cosign-installer from 3.2.0 to 3.3.0 (@dependabot - [#105537])
+- Bump anyio to 4.1.0 ([@bdraco] - [#105529])
+- Update stale doc strings in entity platform tests ([@jbouwh] - [#105526])
+- Migrate device_sun_light_trigger tests to use freezegun ([@jpbede] - [#105520])
+- Migrate geonetnz_* tests to use freezegun ([@jpbede] - [#105521])
+- Bump bluetooth libraries ([@bdraco] - [#105522])
+- Add minor version to config entries ([@emontnemery] - [#105479])
+- Add Fast.com Device Info ([@erwindouna] - [#105528])
+- Add Tado error handling to fetching devices ([@erwindouna] - [#105546])
+- Patch aiohttp server app router freeze in tests ([@MartinHjelmare] - [#105555])
+- Add Suez Water to strict typing ([@joostlek] - [#105559])
+- Use mocked entity platform for lock service tests ([@jbouwh] - [#105020])
+- Add Airvisual pro to strict typing ([@joostlek] - [#105568])
+- Add support for Happy Eyeballs to homekit_controller ([@bdraco] - [#105454])
+- Bump dbus-fast to 2.21.0 ([@bdraco] - [#105536])
+- Bump aiohomekit to 3.1.0 ([@bdraco] - [#105584])
+- Bump aioesphomeapi to 20.0.0 ([@bdraco] - [#105586])
+- Migrate homematicip_cloud tests to use freezegun ([@jpbede] - [#105592])
+- Bump PyTado to 0.17.0 ([@erwindouna] - [#105573])
+- Add Apprise to strict typing ([@joostlek] - [#105575])
+- Add Aranet to strict typing ([@joostlek] - [#105577])
+- Add Android IP webcam to strict typing ([@joostlek] - [#105570])
+- Add Fastdotcom service ([@erwindouna] - [#105553])
+- Improve FrozenOrThawed ([@emontnemery] - [#105541])
+- Refactor all Bluetooth scanners to inherit from BaseHaRemoteScanner ([@bdraco] - [#105523])
+- Add Adax to strict typing ([@joostlek] - [#105562])
+- Mark more entities secondary on Fully Kiosk Browser ([@frenck] - [#105595])
+- Bump `brother` library, use `pysnmp-lextudio` with SNMP integration ([@bieniu] - [#105591])
+- Bump aioesphomeapi to 20.1.0 ([@bdraco] - [#105602])
+- Add sensor platform to A. O. Smith integration ([@bdr99] - [#105604])
+- Bump aioesphomeapi to 21.0.0 ([@bdraco] - [#105609])
+- Bump github/codeql-action from 2.22.9 to 2.22.10 (@dependabot - [#105620])
+- Add diagnostics platform to BraviaTV ([@bieniu] - [#105603])
+- Refactor Bluetooth scanners to avoid the need to pass a callback ([@bdraco] - [#105607])
+- Allow inheriting `FrozenOrThawed` with custom init ([@emontnemery] - [#105624])
+- Fix entity descriptions in philips_js ([@emontnemery] - [#105625])
+- Reduce code duplication in Suez config flow ([@joostlek] - [#105558])
+- Use issue registry fixture ([@joostlek] - [#105633])
+- Add diagnostics download to goodwe integration ([@mletenay] - [#102928])
+- Improve cloud http api tests ([@MartinHjelmare] - [#105610])
+- Clean cloud client fixture from cloud http api tests ([@MartinHjelmare] - [#105649])
+- Deduplicate constants A-D ([@joostlek] - [#105638])
+- Migrate demo test to use freezegun ([@jpbede] - [#105644])
+- Fix goodwe tests ([@emontnemery] - [#105653])
+- Avoid mutating entity descriptions in efergy ([@emontnemery] - [#105626])
+- Avoid mutating entity descriptions in lidarr ([@emontnemery] - [#105628])
+- Avoid mutating entity descriptions in airthings_ble ([@emontnemery] - [#105627])
+- Add country code constant ([@joostlek] - [#105640])
+- Avoid mutating entity descriptions in melcloud ([@emontnemery] - [#105629])
+- Deduplicate constants E-Z ([@joostlek] - [#105657])
+- Add volume_step property to MediaPlayerEntity ([@emontnemery] - [#105574])
+- Keep capabilities up to date in the entity registry ([@emontnemery] - [#101748])
+- Migrate homekit_controller tests to use freezegun ([@jpbede] - [#105646])
+- Use Textselector in Trafikverket Camera ([@gjohansson-ST] - [#105677])
+- Set volume_step in sonos media_player ([@emontnemery] - [#105671])
+- Add error translations for Sensibo ([@gjohansson-ST] - [#105600])
+- Add error translations to Yale Smart Living ([@gjohansson-ST] - [#105678])
+- Set volume_step in enigma2 media_player ([@emontnemery] - [#105669])
+- Bump zeroconf to 0.129.0 ([@bdraco] - [#105701])
+- Remove context_recent_time property from entity base class ([@emontnemery] - [#105652])
+- Remove device_state_attributes property from entity base class ([@emontnemery] - [#105650])
+- Bump iammeter to 0.2.1 ([@yangbo1979] - [#95885])
+- Remove cloud details from assist pipeline ([@MartinHjelmare] - [#105687])
+- Allow multiple configs for srp energy ([@briglx] - [#96573])
+- Avoid mutating entity descriptions in efergy tests ([@emontnemery] - [#105717])
+- Replace Starline horn switch with button ([@Anonym-tsk] - [#105728])
+- Bump bluetooth-data-tools to 1.18.0 ([@bdraco] - [#105685])
+- Bump sunweg to 2.0.1 ([@rokam] - [#105613])
+- Add France to picnic countries ([@slhad] - [#105722])
+- Small speed up to data entry flow steps ([@bdraco] - [#105713])
+- Migrate ESPHome bleak implementation to bleak-esphome library ([@bdraco] - [#105611])
+- Include Envoy firmware version in Enphase diagnostics ([@cgarwood] - [#105742])
+- Bump bleak-esphome to 0.3.0 ([@bdraco] - [#105748])
+- Bump pytrafikverket to 0.3.9.2 ([@gjohansson-ST] - [#105752])
+- Bump brottsplatskartan 1.0.5 ([@gjohansson-ST] - [#105759])
+- Refactor cloud assist pipeline ([@MartinHjelmare] - [#105723])
+- Set volume_step in monoprice media_player ([@emontnemery] - [#105670])
+- Set volume_step in bluesound media_player ([@emontnemery] - [#105672])
+- Set volume_step in aquostv media_player ([@emontnemery] - [#105665])
+- Set volume_step in clementine media_player ([@emontnemery] - [#105666])
+- Set volume_step in cmus media_player ([@emontnemery] - [#105667])
+- Avoid mutating entity descriptions in solaredge tests ([@emontnemery] - [#105718])
+- Fix mqtt tests modifying globals ([@jbouwh] - [#105774])
+- Partly migrate Plex to has entity name ([@joostlek] - [#98841])
+- Bump opower to 0.0.41 ([@tronikos] - [#105791])
+- Add data descriptions to MQTT config flow. ([@jbouwh] - [#105301])
+- Fix translation keys in Tessie ([@Bre77] - [#105824])
+- Quality fixes for Tessie ([@Bre77] - [#105838])
+- Add Binary Sensor platform to Tessie ([@Bre77] - [#105421])
+- Bump soco to 0.30.0 ([@jjlawren] - [#105823])
+- Add Unifi device state for additional diagnostics ([@JosephBlock] - [#105138])
+- Reduce overhead to connect dispatcher ([@bdraco] - [#105715])
+- Allow inheriting base component entity descriptions in frozen dataclasses ([@emontnemery] - [#105512])
+- Update pre-commit to 3.6.0 ([@cdce8p] - [#105856])
+- Update coverage to 7.3.3 ([@cdce8p] - [#105855])
+- Update feedparser to 6.0.11 ([@cdce8p] - [#105857])
+- Ensure bluetooth auto recovery does not run in tests ([@bdraco] - [#105841])
+- Bump glances-api to 0.5.0 ([@cohenchris] - [#105813])
+- Bump bthome_ble to 3.3.1 ([@Ernst79] - [#105834])
+- Bump qingping_ble to 0.9.0 ([@Ernst79] - [#105876])
+- Fix cloud tests doing socket I/O ([@bdraco] - [#105874])
+- Bump aiodiscover to 1.6.0 ([@bdraco] - [#105885])
+- Bump bluetooth-adapters to 0.16.2 ([@bdraco] - [#105878])
+- Refactor ESPHome Bluetooth connection logic to prepare for esphome-bleak ([@bdraco] - [#105747])
+- Migrate file test to use freezegun ([@jpbede] - [#105892])
+- Bump zeroconf to 0.130.0 ([@bdraco] - [#105868])
+- Bump bleak-esphome to 0.4.0 ([@bdraco] - [#105909])
+- Remove bluetooth-data-tools dep from ESPHome ([@bdraco] - [#105912])
+- Use library constants instead of literals in Evohome ([@zxdavb] - [#105039])
+- Bump lru-dict to 1.3.0 ([@bdraco] - [#105914])
+- Add first TypeVarTuple annotations ([@cdce8p] - [#105379])
+- Implement Review Feedback for Tessie ([@Bre77] - [#105937])
+- Bump pyasuswrt to 0.1.21 ([@ollo69] - [#105922])
+- Bump asyncsleepiq to v1.4.0 ([@kbickar] - [#105939])
+- Address late review comments for A. O. Smith reauth ([@bdr99] - [#105941])
+- Add Tailwind integration ([@frenck] - [#105926])
+- Add prices service calls for easyEnergy ([@klaasnicolaas] - [#105175])
+- Add AndroidTV remote to strict typing ([@joostlek] - [#105571])
+- Add Tailwind zeroconf discovery ([@frenck] - [#105949])
+- Set volume_step in frontier_silicon media_player ([@emontnemery] - [#105953])
+- Reolink change ir to switch ([@starkillerOG] - [#105916])
+- Add reauth support to Tailwind ([@frenck] - [#105959])
+- Bump opower to 0.1.0 ([@tronikos] - [#105957])
+- Improve rfxtrx typing ([@cdce8p] - [#105966])
+- Fix easyenergy async_setup_services declaration ([@edenhaus] - [#105947])
+- Avoid mutating entity descriptions in solaredge ([@emontnemery] - [#105974])
+- Avoid mutating entity descriptions in tomorrowio ([@emontnemery] - [#105975])
+- Avoid mutating entity descriptions in onewire ([@emontnemery] - [#105970])
+- Avoid mutating entity descriptions in radarr ([@emontnemery] - [#105972])
+- Avoid mutating entity descriptions in ovo_energy ([@emontnemery] - [#105971])
+- Fix typo in deprecated comment ([@mkmer] - [#105969])
+- Add diagnostics platform to Tailwind ([@frenck] - [#105965])
+- Bump google-generativeai to 0.3.1 ([@tronikos] - [#105783])
+- Remove HaAsyncServiceBrowser from zeroconf ([@bdraco] - [#105881])
+- Add button platform to Tailwind integration ([@frenck] - [#105961])
+- Migrate directv test to use freezegun ([@jpbede] - [#105894])
+- Add significant Change support for camera ([@mib1185] - [#105866])
+- Improve logging util typing ([@cdce8p] - [#105968])
+- Allow step size any for number selector in slider mode ([@emontnemery] - [#105978])
+- Rename zamg to GeoSphere Austria ([@killer0071234] - [#105494])
+- Add DHCP discovery to Tailwind ([@frenck] - [#105981])
+- Improve Transmission Entity description class ([@engrbm87] - [#105924])
+- Avoid mutating entity descriptions in screenlogic ([@emontnemery] - [#105983])
+- Add Valve integration ([@cibernox] - [#102184])
+- Avoid mutating entity descriptions in unifiprotect ([@emontnemery] - [#105976])
+- Avoid mutating entity descriptions in sunweg ([@emontnemery] - [#105982])
+- Add new price sensors with API token access to pvpc hourly pricing ([@azogue] - [#85769])
+- Add PLC PHY rates as sensor to devolo Home Network ([@Shutgun] - [#87039])
+- Set aiohttp shutdown_timeout on AppRunner instead of TCPSite ([@cdce8p] - [#105973])
+- Add significant change helper check_valid_float ([@mib1185] - [#106005])
+- Remove leftover logging in onewire ([@epenet] - [#105986])
+- Avoid mutating entity descriptions in screenlogic ([@emontnemery] - [#106022])
+- Fix entity descriptions in upnp ([@emontnemery] - [#106023])
+- Avoid mutating entity descriptions in sunweg tests ([@emontnemery] - [#106024])
+- Update enigma2 codeowners ([@autinerd] - [#106000])
+- Bump Roborock to 0.38.0 ([@Lash-L] - [#106025])
+- Upgrade gardena_bluetooth to 1.4.1 ([@elupus] - [#106017])
+- Freeze integration entity descriptions ([@emontnemery] - [#105984])
+- Clean up device registry for doors that no longer exist in Aladdin Connect ([@mkmer] - [#99743])
+- Fix opower for AEP utilities ([@tronikos] - [#106010])
+- Correct logic in honeywell for cleaning up stale devices ([@mkmer] - [#106018])
+- Add significant Change support for alarm control panel ([@mib1185] - [#106021])
+- Bump devolo_home_control_api to 0.18.3 ([@Shutgun] - [#106035])
+- Remove ipma entity description required fields mixin ([@jpbede] - [#106039])
+- Remove gree switch entity description required fields mixin ([@jpbede] - [#105849])
+- Add significant Change support for water heater ([@mib1185] - [#106003])
+- Add binary sensor platform to Tailwind integration ([@frenck] - [#106033])
+- Remove sun entity description required fields mixin ([@jpbede] - [#105848])
+- Add myself as code owner for rest_command ([@jpbede] - [#106047])
+- Use freezegun in ign_sismologia test ([@jpbede] - [#106051])
+- Use freezegun in nsw_rural_fire_service_feed test ([@jpbede] - [#106050])
+- Use freezegun in qld_bushfire test ([@jpbede] - [#106049])
+- Use freezegun in image_upload test ([@jpbede] - [#106045])
+- Add significant Change support for climate ([@mib1185] - [#106020])
+- Use check_valid_float helper in significant change support of sensor and weather ([@mib1185] - [#106013])
+- Workday create repair if named holiday missing ([@gjohansson-ST] - [#101201])
+- Deprecate binary sensor device class constants ([@edenhaus] - [#105736])
+- Add cover platform to Tailwind integration ([@frenck] - [#106042])
+- Bump hass-nabucasa from 0.74.0 to 0.75.1 ([@ludeeus] - [#105958])
+- Update gotailwind to 0.2.2 ([@frenck] - [#106054])
+- Add dir_with_deprecated_constants function to deprecation helper ([@edenhaus] - [#106059])
+- Move common function for testing derepcation constants to util ([@edenhaus] - [#106063])
+- Upgrade Prusa Link to new Digest Authentication and /v1/ API ([@Skaronator] - [#103396])
+- Improve tests for easyEnergy ([@klaasnicolaas] - [#105989])
+- Deprecate deprecated automation constants ([@edenhaus] - [#106067])
+- Add valve support to switch_as_x ([@emontnemery] - [#105988])
+- Bump async-upnp-client to 0.38.0 ([@chishm] - [#105980])
+- Small cleanup in Tailwind ([@frenck] - [#106073])
+- Bump switchbot-api to 1.3.0 ([@raww] - [#105594])
+- Bump aioesphomeapi to 21.0.1 ([@bdraco] - [#106079])
+- Move shared enigma2 constants ([@autinerd] - [#106064])
+- Add MQTT valve platform ([@jbouwh] - [#105766])
+- Add Starline Service Mode switch ([@Anonym-tsk] - [#105741])
+- Use patch.dict in deprecation test "test_check_if_deprecated_constant" ([@edenhaus] - [#106117])
+- Add water_heater to alexa ([@jbouwh] - [#106011])
+- Deprecate deprecated remote constants ([@edenhaus] - [#106116])
+- Deprecate deprecated number constants ([@edenhaus] - [#106114])
+- Bump zeroconf to 0.131.0 ([@bdraco] - [#106037])
+- Deprecate deprecated fan constants ([@edenhaus] - [#106111])
+- Deprecate deprecated cover constants ([@edenhaus] - [#106098])
+- Deprecate deprecated humidifier constants ([@edenhaus] - [#106112])
+- Deprecate deprecated device tracker constants ([@edenhaus] - [#106099])
+- Deprecate deprecated lock constants ([@edenhaus] - [#106113])
+- Deprecate deprecated alarm control panel constants ([@edenhaus] - [#106058])
+- Move prusalink migration to async_migrate_entry and use a minor version bump ([@edenhaus] - [#106109])
+- Deprecate deprecated siren constants ([@edenhaus] - [#106121])
+- Improve error mqtt valve error logging ([@jbouwh] - [#106129])
+- Add note on overkiz measurement sensor fix ([@jbouwh] - [#105141])
+- Add water_heater to google_assistant ([@jbouwh] - [#105915])
+- Update Ruff to 0.1.8, avoid linter/formatter conflicts ([@scop] - [#106080])
+- Remove unneeded usage of run_callback_threadsafe in entity helper ([@bdraco] - [#106138])
+- Deprecate deprecated climate constants ([@edenhaus] - [#106096])
+- Deprecate deprecated sensor constants ([@edenhaus] - [#106120])
+- Break out the ESPHome Bluetooth scanner connection logic into bleak-esphome ([@bdraco] - [#105908])
+- Fix ESPHome Bluetooth diagnostics ([@bdraco] - [#106151])
+- Add climate platform to Tessie ([@Bre77] - [#105420])
+- Add switch platform to Tessie ([@Bre77] - [#106153])
+- Add virtual integrations for AEP utilities supported by opower ([@tronikos] - [#106146])
+- Add Select platform to Tessie ([@Bre77] - [#105423])
+- Update habluetooth to 2.0.0 ([@bdraco] - [#106145])
+- Bump SunWEG to 2.0.3 ([@rokam] - [#106135])
+- Refactor media_player test classes ([@emontnemery] - [#105630])
+- Bump bluetooth-data-tools to 1.19.0 ([@bdraco] - [#106156])
+- Add flags to EntityDescriptions in Tessie ([@Bre77] - [#105847])
+- Improve performance of dhcp integration client processing ([@bdraco] - [#106137])
+- Allow Fronius devices to be deleted ([@farmio] - [#106141])
+- Refactor ranging utils for mqtt cover ([@jbouwh] - [#105739])
+- Migrate google related tests to use freezegun ([@jpbede] - [#105552])
+- Fix typo's en and improve language on MQTT data descriptions ([@jbouwh] - [#106165])
+- Add update platform to Tessie ([@Bre77] - [#106093])
+- Remove warning message on BMW initialization ([@rikroe] - [#106169])
+- Make evohome strictly typed ([@zxdavb] - [#106012])
+- Remove gios sensor description required fields mixin ([@jpbede] - [#106174])
+- Move cloud stt engine to config entry ([@MartinHjelmare] - [#99608])
+- Improve entity tests ([@emontnemery] - [#106175])
+- Add Energyzero get_gas_prices and get_energy_price services ([@iamrgroot] - [#101374])
+- Bump pyvlx to 0.2.21 ([@DeerMaximum] - [#105800])
+- Improve performance of dhcp on high activity networks ([@bdraco] - [#105884])
+- Swiss public transport config flow ([@miaucl] - [#105648])
+- Bump httpx to 0.26.0 and httpcore to 1.0.2 ([@Shulyaka] - [#106194])
+- Update mypy to 1.8.0 ([@cdce8p] - [#106189])
+- Bump python-opendata-transport to 0.4.0 ([@miaucl] - [#106199])
+- Skip logging deprecated constant if the calling integration couldn't be indentified ([@edenhaus] - [#106181])
+- Fix lacrosse view sensor units ([@killercode] - [#106203])
+- Bump aiohttp-zlib-ng to 0.1.2 ([@bdraco] - [#106193])
+- Use call_soon_threadsafe in face processing of image_processing ([@jpbede] - [#106168])
+- Deprecate legacy_templates ([@edenhaus] - [#105556])
+- Add device tracker to Tessie ([@Bre77] - [#105428])
+- Add button platform to Tessie ([@Bre77] - [#106210])
+- Bump pylitejet to v0.6.2 ([@joncar] - [#106222])
+- Quality improvements for Tessie ([@Bre77] - [#106218])
+- Add lock platform to Tessie ([@Bre77] - [#106216])
+- Add cover platform to Tessie ([@Bre77] - [#105422])
+- Deprecate deprecated device_registry helper constants ([@edenhaus] - [#106227])
+- Deprecate deprecated water_heater constants ([@edenhaus] - [#106226])
+- Deprecate deprecated switch constants ([@edenhaus] - [#106225])
+- Increase version default timeout from 10 to 30 seconds ([@N3rdix] - [#106158])
+- Add number platform to Tessie ([@Bre77] - [#106205])
+- Add integration for Vogel's MotionMount ([@RJPoelstra] - [#103498])
+- Add media player platform to Tessie ([@Bre77] - [#106214])
+- Add valve support to Amazon Alexa ([@jbouwh] - [#106053])
+- Add Refoss integration ([@ashionky] - [#100573])
+- Add starline binary sensors ([@Anonym-tsk] - [#105724])
+- Add DROP integration ([@pfrazer] - [#104319])
+- Don't make huawei_lte entity classes dataclasses ([@emontnemery] - [#106160])
+- Update coverage to 7.3.4 ([@cdce8p] - [#106233])
+- Add consider home interval to ping ([@jpbede] - [#104881])
+- Update pytest warnings filter ([@cdce8p] - [#106234])
+- Return multiple trains in Trafikverket Train ([@gjohansson-ST] - [#106206])
+- Add location selector to Islamic prayer times ([@engrbm87] - [#105911])
+- Clean up swiss public transport ([@joostlek] - [#106245])
+- Add bluecurrent integration ([@Floris272] - [#82483])
+- Add full test coverage to Trafikverket Train ([@gjohansson-ST] - [#106247])
+- Log when swiss_public_transport loses connection ([@miaucl] - [#106200])
+- Add foscam coordinator ([@krmarien] - [#92665])
+- Add support for re-ordering Google Tasks ([@allenporter] - [#104769])
+- Add binary sensors to drop_connect integration ([@pfrazer] - [#106248])
+- Improve cloud binary sensor tests ([@MartinHjelmare] - [#106238])
+- Add support for caching entity properties ([@emontnemery] - [#100601])
+- Filter by supported features for todo services ([@bramkragten] - [#106241])
+- Reduce Life360 update time by fetching Places & Members in parallel ([@pnbruckner] - [#106277])
+- Add support for attribute caching to the humidifier platform ([@bdraco] - [#106271])
+- Add support for attribute caching to the number platform ([@bdraco] - [#106254])
+- Add subwoofer crossover support to Sonos Amp devices ([@jjlawren] - [#106290])
+- Add support for attribute caching to the update platform ([@bdraco] - [#106261])
+- Improve cloud system health tests ([@MartinHjelmare] - [#106235])
+- Fix flaky Tailwind tests by fixing via_device ([@frenck] - [#106294])
+- Deprecate deprecated camera constants ([@edenhaus] - [#106095])
+- Add significant Change support for humidifier ([@mib1185] - [#106015])
+- Reduce zeroconf matcher complexity ([@bdraco] - [#105880])
+- Bump github/codeql-action from 2.22.10 to 3.22.12 (@dependabot - [#106221])
+- Add support for attribute caching to the lock platform ([@bdraco] - [#106275])
+- Add support for attribute caching to the remote platform ([@bdraco] - [#106274])
+- Add support for attribute caching to the button platform ([@bdraco] - [#106259])
+- Add support for attribute caching to the text platform ([@bdraco] - [#106262])
+- Add support for attribute caching to ToggleEntity ([@bdraco] - [#106272])
+- Add support for attribute caching to the binary_sensor platform ([@bdraco] - [#106253])
+- Add support for attribute caching to the sensor platform ([@bdraco] - [#106252])
+- Add significant Change support for vacuum ([@mib1185] - [#106002])
+- Deprecate deprecated data entry flow constants ([@edenhaus] - [#106229])
+- Add support for attribute caching to the fan platform ([@bdraco] - [#106269])
+- Add diagnostics support to Tankerkoenig ([@mib1185] - [#106301])
+- Apply units of measure provided in API when available in LaCrosse View ([@doggkruse] - [#106299])
+- Rework entity description functions in Tessie ([@Bre77] - [#106287])
+- Fix mqtt valve is not resetting opening or closing state ([@jbouwh] - [#106240])
+- Restructure enigma2 integration to use async ([@autinerd] - [#104206])
+- Improve mikrotik error handling ([@Marco98] - [#106244])
+- Add switches to drop_connect integration ([@pfrazer] - [#106264])
+- Add valve platform support to google_assistant ([@jbouwh] - [#106139])
+- Fix feedreader date comparison to allow RSS entries with identical timestamps ([@mattmattmatt] - [#104925])
+- Add energy usage sensor to A. O. Smith integration ([@bdr99] - [#105616])
+- ISY994: remove reference to reload service ([@c0ffeeca7] - [#106302])
+- Add support for attribute caching to the cover platform ([@bdraco] - [#106268])
+- Add support for attribute caching to the alarm_control_panel platform ([@bdraco] - [#106265])
+- Add support for attribute caching to the light platform ([@bdraco] - [#106260])
+- Add support for attribute caching to the select platform ([@bdraco] - [#106255])
+- Improve typing on drop_connect switch entity description ([@jbouwh] - [#106314])
+- Add entity translations to Steamist ([@joostlek] - [#96182])
+- Update psutil to 5.9.7 ([@frenck] - [#106295])
+- Deprecate some deprecated const constants ([@edenhaus] - [#106230])
+- Add support for attribute caching to the switch platform ([@bdraco] - [#106258])
+- New integration Midea ccm15 climate ([@ocalvo] - [#94824])
+- Ensure MQTT attributes are bound to the respective platform entity ([@bdraco] - [#106316])
+- Add support for attribute caching to the climate platform ([@bdraco] - [#106266])
+- Update test data for screenlogic ([@dieselrabbit] - [#106325])
+- Use shorthand attributes in enigma2 ([@autinerd] - [#106318])
+- Remove unnecessary async_add_job in face processing of image_processing ([@jpbede] - [#106323])
+- Add support for attribute caching to the camera platform ([@bdraco] - [#106256])
+- Fix native_step in number not looking at _attr_native_step ([@bdraco] - [#106327])
+- Add 4 more entities in V2C Trydan EVSE ([@dgomes] - [#105531])
+- Add support for attribute caching to the event platform ([@bdraco] - [#106330])
+- Optimize use_device_name check in base entity class ([@bdraco] - [#106209])
+- Add support for attribute caching to the media_player platform ([@bdraco] - [#106257])
+- Add support for attribute caching to the image platform ([@bdraco] - [#106333])
+- Add support for attribute caching to the siren platform ([@bdraco] - [#106337])
+- Add support for attribute caching to the weather platform ([@bdraco] - [#106334])
+- Add support for attribute caching to the lawn_mower platform ([@bdraco] - [#106335])
+- Add support for attribute caching to the water_heater platform ([@bdraco] - [#106336])
+- Add support for attribute caching to the date platform ([@bdraco] - [#106338])
+- Add support for attribute caching to the time platform ([@bdraco] - [#106339])
+- Add support for attribute caching to the datetime platform ([@bdraco] - [#106340])
+- Add support for attribute caching to the todo platform ([@bdraco] - [#106341])
+- Add Airnow to strict typing ([@joostlek] - [#105566])
+- Add diagnostics to ccm15 ([@joostlek] - [#106329])
+- Add support for attribute caching to the vacuum platform ([@bdraco] - [#106332])
+- Bump openwebifpy to 4.0.2 ([@autinerd] - [#106345])
+- Bump temperusb to 1.6.1 ([@davet2001] - [#106346])
+- Add select platform to drop_connect integration ([@pfrazer] - [#106309])
+- Deprecate parameter "retries" in modbus ([@janiversen] - [#105024])
+- Split out shared screenlogic switch code ([@dieselrabbit] - [#106344])
+- Add missing sensors for Shelly Pro Dimmer 2PM ([@bieniu] - [#105008])
+- Add delay to manual refresh in Advantage Air ([@Bre77] - [#104918])
+- Add full coverage to Fast.com ([@gjohansson-ST] - [#105596])
+- Add data model to Tessie ([@Bre77] - [#106285])
+- Enable toggle on valve/cover start in google_assistant ([@jbouwh] - [#106378])
+- Use identity checks for sensor device class enums ([@bdraco] - [#106383])
+- Avoid clearing the attr cache in setter when nothing has changed ([@bdraco] - [#106384])
+- Bump getmac 0.9.4 ([@mari8i] - [#106321])
+- Add config flow to Netgear LTE ([@tkdrob] - [#93002])
+- Bump zwave-js-server-python to 0.55.1 ([@raman325] - [#105502])
+- Use shorthand attrs for more tplink light attributes ([@bdraco] - [#106399])
+- Add valve platform for Shelly Gas Valve ([@bieniu] - [#106087])
+- Cache media player url hashing ([@bdraco] - [#106400])
+- Avoid recreating a set each time sensor unit_of_measurement is called ([@bdraco] - [#106401])
+- Improve drop_connect typing ([@cdce8p] - [#106404])
+- Switch unifi_direct to external library ([@tofuSCHNITZEL] - [#105046])
+- Move cloud binary sensor to config entry ([@MartinHjelmare] - [#106409])
+- Fix pytest test collection warning ([@cdce8p] - [#106405])
+- Add alarm platform to Comelit ([@chemelli74] - [#104718])
+- Add config flow to System Monitor ([@gjohansson-ST] - [#104906])
+- Add missing translations to Tessie Button platform ([@Bre77] - [#106232])
+- Fix freeze entity description ([@chemelli74] - [#106418])
+- Use faster contains check in camera for stream feature ([@bdraco] - [#106429])
+- Add config flow to Streamlabs water ([@joostlek] - [#104962])
+- Add more binary sensors to Tessie ([@Bre77] - [#106212])
+- Add install to Tessie update platform ([@Bre77] - [#106352])
+- Use faster contains check in climate ([@bdraco] - [#106430])
+- Use faster contains check in fan ([@bdraco] - [#106431])
+- Add Support for SleepIQ Foot Warmers ([@kbickar] - [#105931])
+- Handle Auto Fan and MyFan in Advantage Air ([@Bre77] - [#95594])
+- Use faster contains check in media_player ([@bdraco] - [#106434])
+- Handle failed updates in Tessie ([@Bre77] - [#106450])
+- Move Trunks from Button to Cover in Tessie ([@Bre77] - [#106448])
+- Add names to all Tessie entities ([@Bre77] - [#106267])
+- Deprecate deprecated core constants ([@edenhaus] - [#106456])
+- Use faster contains check in vacuum ([@bdraco] - [#106437])
+- Use faster contains check in remote ([@bdraco] - [#106435])
+- Use faster contains check in update ([@bdraco] - [#106436])
+- Use faster contains check in humidifier ([@bdraco] - [#106433])
+- Add attr caching support to the geo_location platform ([@bdraco] - [#106432])
+- Improve cloud tts tests ([@MartinHjelmare] - [#106427])
+- Use faster contains check in water_heater ([@bdraco] - [#106438])
+- Raise HomeAssistantError if event is triggered with invalid event_type ([@jbouwh] - [#106357])
+- Use translation placeholders in Swiss public transport ([@joostlek] - [#106416])
+- Deprecate deprecated unit of measurement constants ([@edenhaus] - [#106455])
+- Raise ServiceValidationError on invalid select option ([@jbouwh] - [#106350])
+- Add qBittorrent torrent sensors ([@finder39] - [#105781])
+- Flip around Tailwind locked out binary sensor ([@frenck] - [#106457])
+- Remove IP / mDNS validation in airq integration setup ([@Sibgatulin] - [#106326])
+- Update quality scale for Aladdin ([@mkmer] - [#99342])
+- Revert "Raise HomeAssistantError if event is triggered with invalid event_type" ([@frenck] - [#106458])
+- Add error handling to Tailwind service methods ([@frenck] - [#106463])
+- Fix Comelit alarm state ([@chemelli74] - [#106466])
+- Fix update platform in Tessie ([@Bre77] - [#106465])
+- Mark Tailwind a platinum quality integration ([@frenck] - [#106468])
+- Bump millheater to 0.11.8 ([@Danielhiversen] - [#106464])
+- Add preselect_remember_me to `/auth/providers` ([@edenhaus] - [#106462])
+- Fix RainMachine bugs ([@kingy444] - [#106231])
+- Fix MQTT retained event messages should be discarded ([@jbouwh] - [#106425])
+- Add translation to ServiceValidationError in Lock ([@gjohansson-ST] - [#105746])
+- Add typing to config flow A ([@joostlek] - [#105721])
+- Add coordinator to Swiss public transport ([@miaucl] - [#106278])
+- Improve glances tests ([@engrbm87] - [#106402])
+- Add significant Change support for fan ([@mib1185] - [#105867])
+- Add significant Change support for media player ([@mib1185] - [#105999])
+- Add supports_response to ServiceRegistry.register() ([@rikroe] - [#106164])
+- Changed setup of easyEnergy services ([@klaasnicolaas] - [#106288])
+- Add translatable title to Persistent Notification ([@steffenrapp] - [#104661])
+- Allow clearing To-do list item extended fields ([@allenporter] - [#106208])
+- Fix Hydrawise watering time duration unit ([@dknowles2] - [#105919])
+- Revert "Add preselect_remember_me to `/auth/providers`" ([@frenck] - [#106472])
+- Fix roon volume truncation bug ([@pavoni] - [#105696])
+- Use entity descriptions in Netgear LTE ([@joostlek] - [#106414])
+- Adjust the GitHub config flow ([@ludeeus] - [#105295])
+- Bump PyViCare to 2.32.0 ([@CFenner] - [#106467])
+- Fix Generic Camera interval calculation ([@dschall] - [#105820])
+- Use snapshot assertion in homekit_controller diagnostics tests ([@jpbede] - [#105647])
+- Refactor Tado to use OAuth in the DeviceTracker ([@erwindouna] - [#102610])
+- Add config flow to trend ([@jpbede] - [#99761])
+- Implement mode validation in Climate entity component ([@gjohansson-ST] - [#105745])
+- Add device to swiss public transport ([@miaucl] - [#106475])
+- Jinja filter and function for `median` and `statistical_mode` ([@TheFes] - [#105554])
+- Remove initial entity update from swiss_public_transport ([@miaucl] - [#106478])
+- Remove hardcoded bits from LiteJet integration ([@joncar] - [#106281])
+- Delay all ZHA polling until initialization of entities has completed ([@dmulcahey] - [#105814])
+- Add Comelit alarm zones sensor ([@chemelli74] - [#106421])
+- Add significant Change support for number ([@mib1185] - [#105863])
+- Add more fine grained control over Matter server commissioning for the Companion apps ([@marcelveldt] - [#106237])
+- Add more Withings measurement sensors ([@joostlek] - [#105561])
+- Fix Starline attributes timezone ([@Anonym-tsk] - [#105645])
+- Match ZHA Custom ClusterHandler on a Custom Cluster using a unique id for the quirk ([@Caius-Bonus] - [#101709])
+- Add query type validation independent of declaration position for SQL ([@dougiteixeira] - [#105921])
+- Update frontend to 20231227.0 ([@bramkragten] - [#106486])
+- Check and register cloud hook if needed for mobile_app ([@edenhaus] - [#106461])
+- Add significant Change support for cover ([@mib1185] - [#106016])
+- Bump aiohttp-zlib-ng to 0.1.3 ([@bdraco] - [#106489])
+- Add Color Night Vision switch for UniFi Protect ([@cmsimike] - [#106500])
+- Bump zwave-js-server-python to 0.55.2 ([@MartinHjelmare] - [#106496])
+- Bump ZHA quirks to 109 and add associated configuration entities ([@dmulcahey] - [#106492])
+- Add ZHA configuration number entity to set/get thermostat cluster local temperature offset ([@theorlangur] - [#105765])
+- Opentherm gateway: Set unit of measurement for count sensors ([@bajansen] - [#106313])
+- Synchronize and cache Generic Camera still image fetching ([@dschall] - [#105821])
+- Add AsusWrt temperature sensors provided by http protocol ([@ollo69] - [#105692])
+[#100573]: https://github.com/home-assistant/core/pull/100573
+[#100601]: https://github.com/home-assistant/core/pull/100601
[#101102]: https://github.com/home-assistant/core/pull/101102
+[#101201]: https://github.com/home-assistant/core/pull/101201
+[#101374]: https://github.com/home-assistant/core/pull/101374
+[#101709]: https://github.com/home-assistant/core/pull/101709
+[#101748]: https://github.com/home-assistant/core/pull/101748
+[#102184]: https://github.com/home-assistant/core/pull/102184
+[#102610]: https://github.com/home-assistant/core/pull/102610
+[#102928]: https://github.com/home-assistant/core/pull/102928
[#102978]: https://github.com/home-assistant/core/pull/102978
+[#103396]: https://github.com/home-assistant/core/pull/103396
+[#103498]: https://github.com/home-assistant/core/pull/103498
[#103660]: https://github.com/home-assistant/core/pull/103660
[#103781]: https://github.com/home-assistant/core/pull/103781
[#103795]: https://github.com/home-assistant/core/pull/103795
@@ -132,22 +658,33 @@ For a summary in a more readable format:
[#104087]: https://github.com/home-assistant/core/pull/104087
[#104142]: https://github.com/home-assistant/core/pull/104142
[#104157]: https://github.com/home-assistant/core/pull/104157
+[#104206]: https://github.com/home-assistant/core/pull/104206
[#104238]: https://github.com/home-assistant/core/pull/104238
[#104242]: https://github.com/home-assistant/core/pull/104242
[#104275]: https://github.com/home-assistant/core/pull/104275
+[#104291]: https://github.com/home-assistant/core/pull/104291
+[#104319]: https://github.com/home-assistant/core/pull/104319
[#104391]: https://github.com/home-assistant/core/pull/104391
[#104503]: https://github.com/home-assistant/core/pull/104503
+[#104566]: https://github.com/home-assistant/core/pull/104566
+[#104571]: https://github.com/home-assistant/core/pull/104571
[#104577]: https://github.com/home-assistant/core/pull/104577
[#104614]: https://github.com/home-assistant/core/pull/104614
[#104627]: https://github.com/home-assistant/core/pull/104627
+[#104661]: https://github.com/home-assistant/core/pull/104661
+[#104684]: https://github.com/home-assistant/core/pull/104684
[#104713]: https://github.com/home-assistant/core/pull/104713
[#104716]: https://github.com/home-assistant/core/pull/104716
+[#104718]: https://github.com/home-assistant/core/pull/104718
[#104720]: https://github.com/home-assistant/core/pull/104720
+[#104730]: https://github.com/home-assistant/core/pull/104730
[#104733]: https://github.com/home-assistant/core/pull/104733
+[#104739]: https://github.com/home-assistant/core/pull/104739
[#104746]: https://github.com/home-assistant/core/pull/104746
[#104748]: https://github.com/home-assistant/core/pull/104748
[#104749]: https://github.com/home-assistant/core/pull/104749
[#104753]: https://github.com/home-assistant/core/pull/104753
+[#104769]: https://github.com/home-assistant/core/pull/104769
[#104793]: https://github.com/home-assistant/core/pull/104793
[#104807]: https://github.com/home-assistant/core/pull/104807
[#104809]: https://github.com/home-assistant/core/pull/104809
@@ -160,32 +697,40 @@ For a summary in a more readable format:
[#104828]: https://github.com/home-assistant/core/pull/104828
[#104831]: https://github.com/home-assistant/core/pull/104831
[#104832]: https://github.com/home-assistant/core/pull/104832
+[#104839]: https://github.com/home-assistant/core/pull/104839
[#104840]: https://github.com/home-assistant/core/pull/104840
[#104842]: https://github.com/home-assistant/core/pull/104842
[#104849]: https://github.com/home-assistant/core/pull/104849
[#104854]: https://github.com/home-assistant/core/pull/104854
[#104864]: https://github.com/home-assistant/core/pull/104864
[#104866]: https://github.com/home-assistant/core/pull/104866
+[#104874]: https://github.com/home-assistant/core/pull/104874
[#104875]: https://github.com/home-assistant/core/pull/104875
[#104877]: https://github.com/home-assistant/core/pull/104877
[#104878]: https://github.com/home-assistant/core/pull/104878
+[#104881]: https://github.com/home-assistant/core/pull/104881
[#104882]: https://github.com/home-assistant/core/pull/104882
[#104889]: https://github.com/home-assistant/core/pull/104889
[#104892]: https://github.com/home-assistant/core/pull/104892
+[#104906]: https://github.com/home-assistant/core/pull/104906
[#104909]: https://github.com/home-assistant/core/pull/104909
+[#104918]: https://github.com/home-assistant/core/pull/104918
[#104919]: https://github.com/home-assistant/core/pull/104919
+[#104925]: https://github.com/home-assistant/core/pull/104925
[#104930]: https://github.com/home-assistant/core/pull/104930
+[#104932]: https://github.com/home-assistant/core/pull/104932
[#104935]: https://github.com/home-assistant/core/pull/104935
-[#104936]: https://github.com/home-assistant/core/pull/104936
[#104937]: https://github.com/home-assistant/core/pull/104937
[#104949]: https://github.com/home-assistant/core/pull/104949
[#104957]: https://github.com/home-assistant/core/pull/104957
[#104958]: https://github.com/home-assistant/core/pull/104958
[#104960]: https://github.com/home-assistant/core/pull/104960
+[#104962]: https://github.com/home-assistant/core/pull/104962
[#104964]: https://github.com/home-assistant/core/pull/104964
[#104965]: https://github.com/home-assistant/core/pull/104965
[#104969]: https://github.com/home-assistant/core/pull/104969
[#104970]: https://github.com/home-assistant/core/pull/104970
+[#104976]: https://github.com/home-assistant/core/pull/104976
[#104977]: https://github.com/home-assistant/core/pull/104977
[#104978]: https://github.com/home-assistant/core/pull/104978
[#104979]: https://github.com/home-assistant/core/pull/104979
@@ -193,13 +738,20 @@ For a summary in a more readable format:
[#104986]: https://github.com/home-assistant/core/pull/104986
[#104989]: https://github.com/home-assistant/core/pull/104989
[#104997]: https://github.com/home-assistant/core/pull/104997
+[#104998]: https://github.com/home-assistant/core/pull/104998
+[#105008]: https://github.com/home-assistant/core/pull/105008
[#105010]: https://github.com/home-assistant/core/pull/105010
[#105012]: https://github.com/home-assistant/core/pull/105012
[#105015]: https://github.com/home-assistant/core/pull/105015
+[#105020]: https://github.com/home-assistant/core/pull/105020
+[#105021]: https://github.com/home-assistant/core/pull/105021
+[#105024]: https://github.com/home-assistant/core/pull/105024
[#105027]: https://github.com/home-assistant/core/pull/105027
[#105029]: https://github.com/home-assistant/core/pull/105029
[#105030]: https://github.com/home-assistant/core/pull/105030
[#105037]: https://github.com/home-assistant/core/pull/105037
+[#105039]: https://github.com/home-assistant/core/pull/105039
+[#105046]: https://github.com/home-assistant/core/pull/105046
[#105052]: https://github.com/home-assistant/core/pull/105052
[#105062]: https://github.com/home-assistant/core/pull/105062
[#105067]: https://github.com/home-assistant/core/pull/105067
@@ -211,60 +763,618 @@ For a summary in a more readable format:
[#105096]: https://github.com/home-assistant/core/pull/105096
[#105108]: https://github.com/home-assistant/core/pull/105108
[#105109]: https://github.com/home-assistant/core/pull/105109
+[#105110]: https://github.com/home-assistant/core/pull/105110
[#105111]: https://github.com/home-assistant/core/pull/105111
[#105114]: https://github.com/home-assistant/core/pull/105114
[#105117]: https://github.com/home-assistant/core/pull/105117
+[#105118]: https://github.com/home-assistant/core/pull/105118
[#105119]: https://github.com/home-assistant/core/pull/105119
[#105121]: https://github.com/home-assistant/core/pull/105121
[#105123]: https://github.com/home-assistant/core/pull/105123
+[#105125]: https://github.com/home-assistant/core/pull/105125
[#105131]: https://github.com/home-assistant/core/pull/105131
+[#105138]: https://github.com/home-assistant/core/pull/105138
+[#105141]: https://github.com/home-assistant/core/pull/105141
+[#105142]: https://github.com/home-assistant/core/pull/105142
[#105147]: https://github.com/home-assistant/core/pull/105147
[#105149]: https://github.com/home-assistant/core/pull/105149
-[#105150]: https://github.com/home-assistant/core/pull/105150
+[#105173]: https://github.com/home-assistant/core/pull/105173
+[#105175]: https://github.com/home-assistant/core/pull/105175
[#105193]: https://github.com/home-assistant/core/pull/105193
+[#105211]: https://github.com/home-assistant/core/pull/105211
+[#105224]: https://github.com/home-assistant/core/pull/105224
+[#105228]: https://github.com/home-assistant/core/pull/105228
+[#105243]: https://github.com/home-assistant/core/pull/105243
+[#105261]: https://github.com/home-assistant/core/pull/105261
+[#105274]: https://github.com/home-assistant/core/pull/105274
+[#105275]: https://github.com/home-assistant/core/pull/105275
+[#105280]: https://github.com/home-assistant/core/pull/105280
+[#105282]: https://github.com/home-assistant/core/pull/105282
+[#105286]: https://github.com/home-assistant/core/pull/105286
+[#105287]: https://github.com/home-assistant/core/pull/105287
+[#105295]: https://github.com/home-assistant/core/pull/105295
+[#105298]: https://github.com/home-assistant/core/pull/105298
+[#105301]: https://github.com/home-assistant/core/pull/105301
+[#105302]: https://github.com/home-assistant/core/pull/105302
+[#105320]: https://github.com/home-assistant/core/pull/105320
+[#105333]: https://github.com/home-assistant/core/pull/105333
+[#105340]: https://github.com/home-assistant/core/pull/105340
+[#105341]: https://github.com/home-assistant/core/pull/105341
+[#105343]: https://github.com/home-assistant/core/pull/105343
+[#105348]: https://github.com/home-assistant/core/pull/105348
+[#105353]: https://github.com/home-assistant/core/pull/105353
+[#105354]: https://github.com/home-assistant/core/pull/105354
+[#105358]: https://github.com/home-assistant/core/pull/105358
+[#105362]: https://github.com/home-assistant/core/pull/105362
+[#105376]: https://github.com/home-assistant/core/pull/105376
+[#105377]: https://github.com/home-assistant/core/pull/105377
+[#105379]: https://github.com/home-assistant/core/pull/105379
+[#105384]: https://github.com/home-assistant/core/pull/105384
+[#105403]: https://github.com/home-assistant/core/pull/105403
+[#105407]: https://github.com/home-assistant/core/pull/105407
+[#105408]: https://github.com/home-assistant/core/pull/105408
+[#105409]: https://github.com/home-assistant/core/pull/105409
+[#105410]: https://github.com/home-assistant/core/pull/105410
+[#105411]: https://github.com/home-assistant/core/pull/105411
+[#105414]: https://github.com/home-assistant/core/pull/105414
+[#105418]: https://github.com/home-assistant/core/pull/105418
+[#105419]: https://github.com/home-assistant/core/pull/105419
+[#105420]: https://github.com/home-assistant/core/pull/105420
+[#105421]: https://github.com/home-assistant/core/pull/105421
+[#105422]: https://github.com/home-assistant/core/pull/105422
+[#105423]: https://github.com/home-assistant/core/pull/105423
+[#105428]: https://github.com/home-assistant/core/pull/105428
+[#105430]: https://github.com/home-assistant/core/pull/105430
+[#105454]: https://github.com/home-assistant/core/pull/105454
+[#105472]: https://github.com/home-assistant/core/pull/105472
+[#105479]: https://github.com/home-assistant/core/pull/105479
+[#105482]: https://github.com/home-assistant/core/pull/105482
+[#105486]: https://github.com/home-assistant/core/pull/105486
+[#105487]: https://github.com/home-assistant/core/pull/105487
+[#105490]: https://github.com/home-assistant/core/pull/105490
+[#105494]: https://github.com/home-assistant/core/pull/105494
+[#105502]: https://github.com/home-assistant/core/pull/105502
+[#105510]: https://github.com/home-assistant/core/pull/105510
+[#105512]: https://github.com/home-assistant/core/pull/105512
+[#105518]: https://github.com/home-assistant/core/pull/105518
+[#105520]: https://github.com/home-assistant/core/pull/105520
+[#105521]: https://github.com/home-assistant/core/pull/105521
+[#105522]: https://github.com/home-assistant/core/pull/105522
+[#105523]: https://github.com/home-assistant/core/pull/105523
+[#105526]: https://github.com/home-assistant/core/pull/105526
+[#105528]: https://github.com/home-assistant/core/pull/105528
+[#105529]: https://github.com/home-assistant/core/pull/105529
+[#105531]: https://github.com/home-assistant/core/pull/105531
+[#105534]: https://github.com/home-assistant/core/pull/105534
+[#105536]: https://github.com/home-assistant/core/pull/105536
+[#105537]: https://github.com/home-assistant/core/pull/105537
+[#105541]: https://github.com/home-assistant/core/pull/105541
+[#105546]: https://github.com/home-assistant/core/pull/105546
+[#105552]: https://github.com/home-assistant/core/pull/105552
+[#105553]: https://github.com/home-assistant/core/pull/105553
+[#105554]: https://github.com/home-assistant/core/pull/105554
+[#105555]: https://github.com/home-assistant/core/pull/105555
+[#105556]: https://github.com/home-assistant/core/pull/105556
+[#105558]: https://github.com/home-assistant/core/pull/105558
+[#105559]: https://github.com/home-assistant/core/pull/105559
+[#105561]: https://github.com/home-assistant/core/pull/105561
+[#105562]: https://github.com/home-assistant/core/pull/105562
+[#105566]: https://github.com/home-assistant/core/pull/105566
+[#105568]: https://github.com/home-assistant/core/pull/105568
+[#105570]: https://github.com/home-assistant/core/pull/105570
+[#105571]: https://github.com/home-assistant/core/pull/105571
+[#105573]: https://github.com/home-assistant/core/pull/105573
+[#105574]: https://github.com/home-assistant/core/pull/105574
+[#105575]: https://github.com/home-assistant/core/pull/105575
+[#105577]: https://github.com/home-assistant/core/pull/105577
+[#105584]: https://github.com/home-assistant/core/pull/105584
+[#105586]: https://github.com/home-assistant/core/pull/105586
+[#105591]: https://github.com/home-assistant/core/pull/105591
+[#105592]: https://github.com/home-assistant/core/pull/105592
+[#105594]: https://github.com/home-assistant/core/pull/105594
+[#105595]: https://github.com/home-assistant/core/pull/105595
+[#105596]: https://github.com/home-assistant/core/pull/105596
+[#105600]: https://github.com/home-assistant/core/pull/105600
+[#105602]: https://github.com/home-assistant/core/pull/105602
+[#105603]: https://github.com/home-assistant/core/pull/105603
+[#105604]: https://github.com/home-assistant/core/pull/105604
+[#105607]: https://github.com/home-assistant/core/pull/105607
+[#105609]: https://github.com/home-assistant/core/pull/105609
+[#105610]: https://github.com/home-assistant/core/pull/105610
+[#105611]: https://github.com/home-assistant/core/pull/105611
+[#105613]: https://github.com/home-assistant/core/pull/105613
+[#105616]: https://github.com/home-assistant/core/pull/105616
+[#105620]: https://github.com/home-assistant/core/pull/105620
+[#105624]: https://github.com/home-assistant/core/pull/105624
+[#105625]: https://github.com/home-assistant/core/pull/105625
+[#105626]: https://github.com/home-assistant/core/pull/105626
+[#105627]: https://github.com/home-assistant/core/pull/105627
+[#105628]: https://github.com/home-assistant/core/pull/105628
+[#105629]: https://github.com/home-assistant/core/pull/105629
+[#105630]: https://github.com/home-assistant/core/pull/105630
+[#105633]: https://github.com/home-assistant/core/pull/105633
+[#105638]: https://github.com/home-assistant/core/pull/105638
+[#105640]: https://github.com/home-assistant/core/pull/105640
+[#105644]: https://github.com/home-assistant/core/pull/105644
+[#105645]: https://github.com/home-assistant/core/pull/105645
+[#105646]: https://github.com/home-assistant/core/pull/105646
+[#105647]: https://github.com/home-assistant/core/pull/105647
+[#105648]: https://github.com/home-assistant/core/pull/105648
+[#105649]: https://github.com/home-assistant/core/pull/105649
+[#105650]: https://github.com/home-assistant/core/pull/105650
+[#105652]: https://github.com/home-assistant/core/pull/105652
+[#105653]: https://github.com/home-assistant/core/pull/105653
+[#105657]: https://github.com/home-assistant/core/pull/105657
+[#105665]: https://github.com/home-assistant/core/pull/105665
+[#105666]: https://github.com/home-assistant/core/pull/105666
+[#105667]: https://github.com/home-assistant/core/pull/105667
+[#105669]: https://github.com/home-assistant/core/pull/105669
+[#105670]: https://github.com/home-assistant/core/pull/105670
+[#105671]: https://github.com/home-assistant/core/pull/105671
+[#105672]: https://github.com/home-assistant/core/pull/105672
+[#105677]: https://github.com/home-assistant/core/pull/105677
+[#105678]: https://github.com/home-assistant/core/pull/105678
+[#105685]: https://github.com/home-assistant/core/pull/105685
+[#105687]: https://github.com/home-assistant/core/pull/105687
+[#105692]: https://github.com/home-assistant/core/pull/105692
+[#105696]: https://github.com/home-assistant/core/pull/105696
+[#105701]: https://github.com/home-assistant/core/pull/105701
+[#105713]: https://github.com/home-assistant/core/pull/105713
+[#105715]: https://github.com/home-assistant/core/pull/105715
+[#105717]: https://github.com/home-assistant/core/pull/105717
+[#105718]: https://github.com/home-assistant/core/pull/105718
+[#105721]: https://github.com/home-assistant/core/pull/105721
+[#105722]: https://github.com/home-assistant/core/pull/105722
+[#105723]: https://github.com/home-assistant/core/pull/105723
+[#105724]: https://github.com/home-assistant/core/pull/105724
+[#105728]: https://github.com/home-assistant/core/pull/105728
+[#105736]: https://github.com/home-assistant/core/pull/105736
+[#105739]: https://github.com/home-assistant/core/pull/105739
+[#105741]: https://github.com/home-assistant/core/pull/105741
+[#105742]: https://github.com/home-assistant/core/pull/105742
+[#105745]: https://github.com/home-assistant/core/pull/105745
+[#105746]: https://github.com/home-assistant/core/pull/105746
+[#105747]: https://github.com/home-assistant/core/pull/105747
+[#105748]: https://github.com/home-assistant/core/pull/105748
+[#105752]: https://github.com/home-assistant/core/pull/105752
+[#105759]: https://github.com/home-assistant/core/pull/105759
+[#105765]: https://github.com/home-assistant/core/pull/105765
+[#105766]: https://github.com/home-assistant/core/pull/105766
+[#105774]: https://github.com/home-assistant/core/pull/105774
+[#105781]: https://github.com/home-assistant/core/pull/105781
+[#105783]: https://github.com/home-assistant/core/pull/105783
+[#105791]: https://github.com/home-assistant/core/pull/105791
+[#105800]: https://github.com/home-assistant/core/pull/105800
+[#105813]: https://github.com/home-assistant/core/pull/105813
+[#105814]: https://github.com/home-assistant/core/pull/105814
+[#105820]: https://github.com/home-assistant/core/pull/105820
+[#105821]: https://github.com/home-assistant/core/pull/105821
+[#105823]: https://github.com/home-assistant/core/pull/105823
+[#105824]: https://github.com/home-assistant/core/pull/105824
+[#105834]: https://github.com/home-assistant/core/pull/105834
+[#105838]: https://github.com/home-assistant/core/pull/105838
+[#105841]: https://github.com/home-assistant/core/pull/105841
+[#105847]: https://github.com/home-assistant/core/pull/105847
+[#105848]: https://github.com/home-assistant/core/pull/105848
+[#105849]: https://github.com/home-assistant/core/pull/105849
+[#105855]: https://github.com/home-assistant/core/pull/105855
+[#105856]: https://github.com/home-assistant/core/pull/105856
+[#105857]: https://github.com/home-assistant/core/pull/105857
+[#105863]: https://github.com/home-assistant/core/pull/105863
+[#105866]: https://github.com/home-assistant/core/pull/105866
+[#105867]: https://github.com/home-assistant/core/pull/105867
+[#105868]: https://github.com/home-assistant/core/pull/105868
+[#105874]: https://github.com/home-assistant/core/pull/105874
+[#105876]: https://github.com/home-assistant/core/pull/105876
+[#105878]: https://github.com/home-assistant/core/pull/105878
+[#105880]: https://github.com/home-assistant/core/pull/105880
+[#105881]: https://github.com/home-assistant/core/pull/105881
+[#105884]: https://github.com/home-assistant/core/pull/105884
+[#105885]: https://github.com/home-assistant/core/pull/105885
+[#105892]: https://github.com/home-assistant/core/pull/105892
+[#105894]: https://github.com/home-assistant/core/pull/105894
+[#105908]: https://github.com/home-assistant/core/pull/105908
+[#105909]: https://github.com/home-assistant/core/pull/105909
+[#105911]: https://github.com/home-assistant/core/pull/105911
+[#105912]: https://github.com/home-assistant/core/pull/105912
+[#105914]: https://github.com/home-assistant/core/pull/105914
+[#105915]: https://github.com/home-assistant/core/pull/105915
+[#105916]: https://github.com/home-assistant/core/pull/105916
+[#105919]: https://github.com/home-assistant/core/pull/105919
+[#105921]: https://github.com/home-assistant/core/pull/105921
+[#105922]: https://github.com/home-assistant/core/pull/105922
+[#105924]: https://github.com/home-assistant/core/pull/105924
+[#105926]: https://github.com/home-assistant/core/pull/105926
+[#105931]: https://github.com/home-assistant/core/pull/105931
+[#105937]: https://github.com/home-assistant/core/pull/105937
+[#105939]: https://github.com/home-assistant/core/pull/105939
+[#105941]: https://github.com/home-assistant/core/pull/105941
+[#105947]: https://github.com/home-assistant/core/pull/105947
+[#105949]: https://github.com/home-assistant/core/pull/105949
+[#105953]: https://github.com/home-assistant/core/pull/105953
+[#105957]: https://github.com/home-assistant/core/pull/105957
+[#105958]: https://github.com/home-assistant/core/pull/105958
+[#105959]: https://github.com/home-assistant/core/pull/105959
+[#105961]: https://github.com/home-assistant/core/pull/105961
+[#105965]: https://github.com/home-assistant/core/pull/105965
+[#105966]: https://github.com/home-assistant/core/pull/105966
+[#105968]: https://github.com/home-assistant/core/pull/105968
+[#105969]: https://github.com/home-assistant/core/pull/105969
+[#105970]: https://github.com/home-assistant/core/pull/105970
+[#105971]: https://github.com/home-assistant/core/pull/105971
+[#105972]: https://github.com/home-assistant/core/pull/105972
+[#105973]: https://github.com/home-assistant/core/pull/105973
+[#105974]: https://github.com/home-assistant/core/pull/105974
+[#105975]: https://github.com/home-assistant/core/pull/105975
+[#105976]: https://github.com/home-assistant/core/pull/105976
+[#105978]: https://github.com/home-assistant/core/pull/105978
+[#105980]: https://github.com/home-assistant/core/pull/105980
+[#105981]: https://github.com/home-assistant/core/pull/105981
+[#105982]: https://github.com/home-assistant/core/pull/105982
+[#105983]: https://github.com/home-assistant/core/pull/105983
+[#105984]: https://github.com/home-assistant/core/pull/105984
+[#105986]: https://github.com/home-assistant/core/pull/105986
+[#105988]: https://github.com/home-assistant/core/pull/105988
+[#105989]: https://github.com/home-assistant/core/pull/105989
+[#105999]: https://github.com/home-assistant/core/pull/105999
+[#106000]: https://github.com/home-assistant/core/pull/106000
+[#106002]: https://github.com/home-assistant/core/pull/106002
+[#106003]: https://github.com/home-assistant/core/pull/106003
+[#106005]: https://github.com/home-assistant/core/pull/106005
+[#106010]: https://github.com/home-assistant/core/pull/106010
+[#106011]: https://github.com/home-assistant/core/pull/106011
+[#106012]: https://github.com/home-assistant/core/pull/106012
+[#106013]: https://github.com/home-assistant/core/pull/106013
+[#106015]: https://github.com/home-assistant/core/pull/106015
+[#106016]: https://github.com/home-assistant/core/pull/106016
+[#106017]: https://github.com/home-assistant/core/pull/106017
+[#106018]: https://github.com/home-assistant/core/pull/106018
+[#106020]: https://github.com/home-assistant/core/pull/106020
+[#106021]: https://github.com/home-assistant/core/pull/106021
+[#106022]: https://github.com/home-assistant/core/pull/106022
+[#106023]: https://github.com/home-assistant/core/pull/106023
+[#106024]: https://github.com/home-assistant/core/pull/106024
+[#106025]: https://github.com/home-assistant/core/pull/106025
+[#106033]: https://github.com/home-assistant/core/pull/106033
+[#106035]: https://github.com/home-assistant/core/pull/106035
+[#106037]: https://github.com/home-assistant/core/pull/106037
+[#106039]: https://github.com/home-assistant/core/pull/106039
+[#106042]: https://github.com/home-assistant/core/pull/106042
+[#106045]: https://github.com/home-assistant/core/pull/106045
+[#106047]: https://github.com/home-assistant/core/pull/106047
+[#106049]: https://github.com/home-assistant/core/pull/106049
+[#106050]: https://github.com/home-assistant/core/pull/106050
+[#106051]: https://github.com/home-assistant/core/pull/106051
+[#106053]: https://github.com/home-assistant/core/pull/106053
+[#106054]: https://github.com/home-assistant/core/pull/106054
+[#106058]: https://github.com/home-assistant/core/pull/106058
+[#106059]: https://github.com/home-assistant/core/pull/106059
+[#106063]: https://github.com/home-assistant/core/pull/106063
+[#106064]: https://github.com/home-assistant/core/pull/106064
+[#106067]: https://github.com/home-assistant/core/pull/106067
+[#106073]: https://github.com/home-assistant/core/pull/106073
+[#106079]: https://github.com/home-assistant/core/pull/106079
+[#106080]: https://github.com/home-assistant/core/pull/106080
+[#106087]: https://github.com/home-assistant/core/pull/106087
+[#106093]: https://github.com/home-assistant/core/pull/106093
+[#106095]: https://github.com/home-assistant/core/pull/106095
+[#106096]: https://github.com/home-assistant/core/pull/106096
+[#106098]: https://github.com/home-assistant/core/pull/106098
+[#106099]: https://github.com/home-assistant/core/pull/106099
+[#106109]: https://github.com/home-assistant/core/pull/106109
+[#106111]: https://github.com/home-assistant/core/pull/106111
+[#106112]: https://github.com/home-assistant/core/pull/106112
+[#106113]: https://github.com/home-assistant/core/pull/106113
+[#106114]: https://github.com/home-assistant/core/pull/106114
+[#106116]: https://github.com/home-assistant/core/pull/106116
+[#106117]: https://github.com/home-assistant/core/pull/106117
+[#106120]: https://github.com/home-assistant/core/pull/106120
+[#106121]: https://github.com/home-assistant/core/pull/106121
+[#106129]: https://github.com/home-assistant/core/pull/106129
+[#106135]: https://github.com/home-assistant/core/pull/106135
+[#106137]: https://github.com/home-assistant/core/pull/106137
+[#106138]: https://github.com/home-assistant/core/pull/106138
+[#106139]: https://github.com/home-assistant/core/pull/106139
+[#106141]: https://github.com/home-assistant/core/pull/106141
+[#106145]: https://github.com/home-assistant/core/pull/106145
+[#106146]: https://github.com/home-assistant/core/pull/106146
+[#106151]: https://github.com/home-assistant/core/pull/106151
+[#106153]: https://github.com/home-assistant/core/pull/106153
+[#106156]: https://github.com/home-assistant/core/pull/106156
+[#106158]: https://github.com/home-assistant/core/pull/106158
+[#106160]: https://github.com/home-assistant/core/pull/106160
+[#106164]: https://github.com/home-assistant/core/pull/106164
+[#106165]: https://github.com/home-assistant/core/pull/106165
+[#106168]: https://github.com/home-assistant/core/pull/106168
+[#106169]: https://github.com/home-assistant/core/pull/106169
+[#106174]: https://github.com/home-assistant/core/pull/106174
+[#106175]: https://github.com/home-assistant/core/pull/106175
+[#106181]: https://github.com/home-assistant/core/pull/106181
+[#106189]: https://github.com/home-assistant/core/pull/106189
+[#106193]: https://github.com/home-assistant/core/pull/106193
+[#106194]: https://github.com/home-assistant/core/pull/106194
+[#106199]: https://github.com/home-assistant/core/pull/106199
+[#106200]: https://github.com/home-assistant/core/pull/106200
+[#106203]: https://github.com/home-assistant/core/pull/106203
+[#106205]: https://github.com/home-assistant/core/pull/106205
+[#106206]: https://github.com/home-assistant/core/pull/106206
+[#106208]: https://github.com/home-assistant/core/pull/106208
+[#106209]: https://github.com/home-assistant/core/pull/106209
+[#106210]: https://github.com/home-assistant/core/pull/106210
+[#106212]: https://github.com/home-assistant/core/pull/106212
+[#106214]: https://github.com/home-assistant/core/pull/106214
+[#106216]: https://github.com/home-assistant/core/pull/106216
+[#106218]: https://github.com/home-assistant/core/pull/106218
+[#106221]: https://github.com/home-assistant/core/pull/106221
+[#106222]: https://github.com/home-assistant/core/pull/106222
+[#106225]: https://github.com/home-assistant/core/pull/106225
+[#106226]: https://github.com/home-assistant/core/pull/106226
+[#106227]: https://github.com/home-assistant/core/pull/106227
+[#106229]: https://github.com/home-assistant/core/pull/106229
+[#106230]: https://github.com/home-assistant/core/pull/106230
+[#106231]: https://github.com/home-assistant/core/pull/106231
+[#106232]: https://github.com/home-assistant/core/pull/106232
+[#106233]: https://github.com/home-assistant/core/pull/106233
+[#106234]: https://github.com/home-assistant/core/pull/106234
+[#106235]: https://github.com/home-assistant/core/pull/106235
+[#106237]: https://github.com/home-assistant/core/pull/106237
+[#106238]: https://github.com/home-assistant/core/pull/106238
+[#106240]: https://github.com/home-assistant/core/pull/106240
+[#106241]: https://github.com/home-assistant/core/pull/106241
+[#106244]: https://github.com/home-assistant/core/pull/106244
+[#106245]: https://github.com/home-assistant/core/pull/106245
+[#106247]: https://github.com/home-assistant/core/pull/106247
+[#106248]: https://github.com/home-assistant/core/pull/106248
+[#106252]: https://github.com/home-assistant/core/pull/106252
+[#106253]: https://github.com/home-assistant/core/pull/106253
+[#106254]: https://github.com/home-assistant/core/pull/106254
+[#106255]: https://github.com/home-assistant/core/pull/106255
+[#106256]: https://github.com/home-assistant/core/pull/106256
+[#106257]: https://github.com/home-assistant/core/pull/106257
+[#106258]: https://github.com/home-assistant/core/pull/106258
+[#106259]: https://github.com/home-assistant/core/pull/106259
+[#106260]: https://github.com/home-assistant/core/pull/106260
+[#106261]: https://github.com/home-assistant/core/pull/106261
+[#106262]: https://github.com/home-assistant/core/pull/106262
+[#106264]: https://github.com/home-assistant/core/pull/106264
+[#106265]: https://github.com/home-assistant/core/pull/106265
+[#106266]: https://github.com/home-assistant/core/pull/106266
+[#106267]: https://github.com/home-assistant/core/pull/106267
+[#106268]: https://github.com/home-assistant/core/pull/106268
+[#106269]: https://github.com/home-assistant/core/pull/106269
+[#106271]: https://github.com/home-assistant/core/pull/106271
+[#106272]: https://github.com/home-assistant/core/pull/106272
+[#106274]: https://github.com/home-assistant/core/pull/106274
+[#106275]: https://github.com/home-assistant/core/pull/106275
+[#106277]: https://github.com/home-assistant/core/pull/106277
+[#106278]: https://github.com/home-assistant/core/pull/106278
+[#106281]: https://github.com/home-assistant/core/pull/106281
+[#106285]: https://github.com/home-assistant/core/pull/106285
+[#106287]: https://github.com/home-assistant/core/pull/106287
+[#106288]: https://github.com/home-assistant/core/pull/106288
+[#106290]: https://github.com/home-assistant/core/pull/106290
+[#106294]: https://github.com/home-assistant/core/pull/106294
+[#106295]: https://github.com/home-assistant/core/pull/106295
+[#106299]: https://github.com/home-assistant/core/pull/106299
+[#106301]: https://github.com/home-assistant/core/pull/106301
+[#106302]: https://github.com/home-assistant/core/pull/106302
+[#106309]: https://github.com/home-assistant/core/pull/106309
+[#106313]: https://github.com/home-assistant/core/pull/106313
+[#106314]: https://github.com/home-assistant/core/pull/106314
+[#106316]: https://github.com/home-assistant/core/pull/106316
+[#106318]: https://github.com/home-assistant/core/pull/106318
+[#106321]: https://github.com/home-assistant/core/pull/106321
+[#106323]: https://github.com/home-assistant/core/pull/106323
+[#106325]: https://github.com/home-assistant/core/pull/106325
+[#106326]: https://github.com/home-assistant/core/pull/106326
+[#106327]: https://github.com/home-assistant/core/pull/106327
+[#106329]: https://github.com/home-assistant/core/pull/106329
+[#106330]: https://github.com/home-assistant/core/pull/106330
+[#106332]: https://github.com/home-assistant/core/pull/106332
+[#106333]: https://github.com/home-assistant/core/pull/106333
+[#106334]: https://github.com/home-assistant/core/pull/106334
+[#106335]: https://github.com/home-assistant/core/pull/106335
+[#106336]: https://github.com/home-assistant/core/pull/106336
+[#106337]: https://github.com/home-assistant/core/pull/106337
+[#106338]: https://github.com/home-assistant/core/pull/106338
+[#106339]: https://github.com/home-assistant/core/pull/106339
+[#106340]: https://github.com/home-assistant/core/pull/106340
+[#106341]: https://github.com/home-assistant/core/pull/106341
+[#106344]: https://github.com/home-assistant/core/pull/106344
+[#106345]: https://github.com/home-assistant/core/pull/106345
+[#106346]: https://github.com/home-assistant/core/pull/106346
+[#106350]: https://github.com/home-assistant/core/pull/106350
+[#106352]: https://github.com/home-assistant/core/pull/106352
+[#106357]: https://github.com/home-assistant/core/pull/106357
+[#106378]: https://github.com/home-assistant/core/pull/106378
+[#106383]: https://github.com/home-assistant/core/pull/106383
+[#106384]: https://github.com/home-assistant/core/pull/106384
+[#106399]: https://github.com/home-assistant/core/pull/106399
+[#106400]: https://github.com/home-assistant/core/pull/106400
+[#106401]: https://github.com/home-assistant/core/pull/106401
+[#106402]: https://github.com/home-assistant/core/pull/106402
+[#106404]: https://github.com/home-assistant/core/pull/106404
+[#106405]: https://github.com/home-assistant/core/pull/106405
+[#106409]: https://github.com/home-assistant/core/pull/106409
+[#106414]: https://github.com/home-assistant/core/pull/106414
+[#106416]: https://github.com/home-assistant/core/pull/106416
+[#106418]: https://github.com/home-assistant/core/pull/106418
+[#106421]: https://github.com/home-assistant/core/pull/106421
+[#106425]: https://github.com/home-assistant/core/pull/106425
+[#106427]: https://github.com/home-assistant/core/pull/106427
+[#106429]: https://github.com/home-assistant/core/pull/106429
+[#106430]: https://github.com/home-assistant/core/pull/106430
+[#106431]: https://github.com/home-assistant/core/pull/106431
+[#106432]: https://github.com/home-assistant/core/pull/106432
+[#106433]: https://github.com/home-assistant/core/pull/106433
+[#106434]: https://github.com/home-assistant/core/pull/106434
+[#106435]: https://github.com/home-assistant/core/pull/106435
+[#106436]: https://github.com/home-assistant/core/pull/106436
+[#106437]: https://github.com/home-assistant/core/pull/106437
+[#106438]: https://github.com/home-assistant/core/pull/106438
+[#106448]: https://github.com/home-assistant/core/pull/106448
+[#106450]: https://github.com/home-assistant/core/pull/106450
+[#106455]: https://github.com/home-assistant/core/pull/106455
+[#106456]: https://github.com/home-assistant/core/pull/106456
+[#106457]: https://github.com/home-assistant/core/pull/106457
+[#106458]: https://github.com/home-assistant/core/pull/106458
+[#106461]: https://github.com/home-assistant/core/pull/106461
+[#106462]: https://github.com/home-assistant/core/pull/106462
+[#106463]: https://github.com/home-assistant/core/pull/106463
+[#106464]: https://github.com/home-assistant/core/pull/106464
+[#106465]: https://github.com/home-assistant/core/pull/106465
+[#106466]: https://github.com/home-assistant/core/pull/106466
+[#106467]: https://github.com/home-assistant/core/pull/106467
+[#106468]: https://github.com/home-assistant/core/pull/106468
+[#106472]: https://github.com/home-assistant/core/pull/106472
+[#106475]: https://github.com/home-assistant/core/pull/106475
+[#106478]: https://github.com/home-assistant/core/pull/106478
+[#106486]: https://github.com/home-assistant/core/pull/106486
+[#106489]: https://github.com/home-assistant/core/pull/106489
+[#106492]: https://github.com/home-assistant/core/pull/106492
+[#106496]: https://github.com/home-assistant/core/pull/106496
+[#106500]: https://github.com/home-assistant/core/pull/106500
+[#70365]: https://github.com/home-assistant/core/pull/70365
[#79077]: https://github.com/home-assistant/core/pull/79077
+[#82483]: https://github.com/home-assistant/core/pull/82483
+[#85769]: https://github.com/home-assistant/core/pull/85769
[#86026]: https://github.com/home-assistant/core/pull/86026
+[#87039]: https://github.com/home-assistant/core/pull/87039
[#87493]: https://github.com/home-assistant/core/pull/87493
+[#88272]: https://github.com/home-assistant/core/pull/88272
[#91165]: https://github.com/home-assistant/core/pull/91165
+[#92665]: https://github.com/home-assistant/core/pull/92665
+[#93002]: https://github.com/home-assistant/core/pull/93002
[#94497]: https://github.com/home-assistant/core/pull/94497
+[#94824]: https://github.com/home-assistant/core/pull/94824
+[#95088]: https://github.com/home-assistant/core/pull/95088
+[#95594]: https://github.com/home-assistant/core/pull/95594
+[#95885]: https://github.com/home-assistant/core/pull/95885
+[#96182]: https://github.com/home-assistant/core/pull/96182
+[#96573]: https://github.com/home-assistant/core/pull/96573
+[#98841]: https://github.com/home-assistant/core/pull/98841
+[#99342]: https://github.com/home-assistant/core/pull/99342
[#99538]: https://github.com/home-assistant/core/pull/99538
+[#99608]: https://github.com/home-assistant/core/pull/99608
+[#99743]: https://github.com/home-assistant/core/pull/99743
+[#99761]: https://github.com/home-assistant/core/pull/99761
+[@Anonym-tsk]: https://github.com/Anonym-tsk
[@Betacart]: https://github.com/Betacart
[@Bre77]: https://github.com/Bre77
[@CFenner]: https://github.com/CFenner
+[@Caius-Bonus]: https://github.com/Caius-Bonus
[@DCSBL]: https://github.com/DCSBL
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@DeerMaximum]: https://github.com/DeerMaximum
+[@Ernst79]: https://github.com/Ernst79
+[@Floris272]: https://github.com/Floris272
+[@JosephBlock]: https://github.com/JosephBlock
+[@Lash-L]: https://github.com/Lash-L
+[@Marco98]: https://github.com/Marco98
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@N3rdix]: https://github.com/N3rdix
+[@RJPoelstra]: https://github.com/RJPoelstra
+[@Shulyaka]: https://github.com/Shulyaka
+[@Shutgun]: https://github.com/Shutgun
+[@Sibgatulin]: https://github.com/Sibgatulin
+[@Skaronator]: https://github.com/Skaronator
+[@TheFes]: https://github.com/TheFes
+[@VIKTORVAV99]: https://github.com/VIKTORVAV99
+[@agners]: https://github.com/agners
+[@allenporter]: https://github.com/allenporter
+[@ashionky]: https://github.com/ashionky
+[@autinerd]: https://github.com/autinerd
+[@azogue]: https://github.com/azogue
+[@bajansen]: https://github.com/bajansen
+[@bdr99]: https://github.com/bdr99
[@bdraco]: https://github.com/bdraco
+[@bieniu]: https://github.com/bieniu
+[@bramkragten]: https://github.com/bramkragten
+[@briglx]: https://github.com/briglx
[@c0ffeeca7]: https://github.com/c0ffeeca7
[@cdce8p]: https://github.com/cdce8p
[@cdnninja]: https://github.com/cdnninja
+[@cgarwood]: https://github.com/cgarwood
+[@chemelli74]: https://github.com/chemelli74
+[@chishm]: https://github.com/chishm
[@cian]: https://github.com/cian
+[@cibernox]: https://github.com/cibernox
+[@cmsimike]: https://github.com/cmsimike
+[@cohenchris]: https://github.com/cohenchris
[@davet2001]: https://github.com/davet2001
[@dewdropawoo]: https://github.com/dewdropawoo
+[@dgomes]: https://github.com/dgomes
[@dieselrabbit]: https://github.com/dieselrabbit
+[@dknowles2]: https://github.com/dknowles2
+[@dmulcahey]: https://github.com/dmulcahey
+[@doggkruse]: https://github.com/doggkruse
+[@dougiteixeira]: https://github.com/dougiteixeira
+[@dschall]: https://github.com/dschall
[@dupondje]: https://github.com/dupondje
+[@edenhaus]: https://github.com/edenhaus
+[@elmurato]: https://github.com/elmurato
+[@elupus]: https://github.com/elupus
[@emontnemery]: https://github.com/emontnemery
[@engrbm87]: https://github.com/engrbm87
+[@epenet]: https://github.com/epenet
[@erwindouna]: https://github.com/erwindouna
+[@farmio]: https://github.com/farmio
+[@finder39]: https://github.com/finder39
[@frenck]: https://github.com/frenck
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@iamrgroot]: https://github.com/iamrgroot
[@janiversen]: https://github.com/janiversen
[@jbouwh]: https://github.com/jbouwh
[@jimmyd-be]: https://github.com/jimmyd-be
[@jjlawren]: https://github.com/jjlawren
+[@joncar]: https://github.com/joncar
[@joostlek]: https://github.com/joostlek
[@jpbede]: https://github.com/jpbede
[@jrieger]: https://github.com/jrieger
+[@kbickar]: https://github.com/kbickar
+[@killer0071234]: https://github.com/killer0071234
+[@killercode]: https://github.com/killercode
+[@kingy444]: https://github.com/kingy444
[@klaasnicolaas]: https://github.com/klaasnicolaas
+[@krmarien]: https://github.com/krmarien
[@lellky]: https://github.com/lellky
+[@ludeeus]: https://github.com/ludeeus
+[@marcelveldt]: https://github.com/marcelveldt
+[@mari8i]: https://github.com/mari8i
+[@mattmattmatt]: https://github.com/mattmattmatt
[@mdunda]: https://github.com/mdunda
+[@miaucl]: https://github.com/miaucl
[@mib1185]: https://github.com/mib1185
[@mill1000]: https://github.com/mill1000
+[@mkmer]: https://github.com/mkmer
+[@mletenay]: https://github.com/mletenay
[@nmaggioni]: https://github.com/nmaggioni
+[@ocalvo]: https://github.com/ocalvo
+[@ollo69]: https://github.com/ollo69
+[@osohotwateriot]: https://github.com/osohotwateriot
+[@oyvindwe]: https://github.com/oyvindwe
+[@pavoni]: https://github.com/pavoni
+[@pfrazer]: https://github.com/pfrazer
+[@pnbruckner]: https://github.com/pnbruckner
+[@rajlaud]: https://github.com/rajlaud
+[@raman325]: https://github.com/raman325
+[@raww]: https://github.com/raww
+[@rikroe]: https://github.com/rikroe
+[@rokam]: https://github.com/rokam
[@scop]: https://github.com/scop
[@sergeymaysak]: https://github.com/sergeymaysak
+[@slhad]: https://github.com/slhad
[@starkillerOG]: https://github.com/starkillerOG
+[@steffenrapp]: https://github.com/steffenrapp
[@synesthesiam]: https://github.com/synesthesiam
[@tetele]: https://github.com/tetele
+[@theorlangur]: https://github.com/theorlangur
[@tjhorner]: https://github.com/tjhorner
[@tkdrob]: https://github.com/tkdrob
+[@tofuSCHNITZEL]: https://github.com/tofuSCHNITZEL
[@tronikos]: https://github.com/tronikos
[@tzahari]: https://github.com/tzahari
+[@vexofp]: https://github.com/vexofp
+[@yangbo1979]: https://github.com/yangbo1979
+[@yuxincs]: https://github.com/yuxincs
[@zxdavb]: https://github.com/zxdavb
diff --git a/source/images/blog/2024-01/social.png b/source/images/blog/2024-01/social.png
new file mode 100644
index 00000000000..ea06706893c
Binary files /dev/null and b/source/images/blog/2024-01/social.png differ