Full Changelog for Home Assistant Core 2023.5
These are all the changes included in the Home Assistant Core 2023.5 release.
For a summary in a more readable format: Release notes blog for this release.
Full Changelog
- Add config flow to qBittorrent (@chrisx8
- #82560 )  - Bump version to 2023.5.0dev0 (@frenck
- #90477 )  - Move ProxmoxEntity to entity.py (@dougiteixeira
- #90480 )  - Remove callback decorators where unneeded (@raman325
- #90478 )  - Add config-flow to Snapcast (@luar123
- #80288 )  - Add reauth to frontier_silicon config flow (@wlcrs
- #90443 )  - Add dimmable lights support to niko home control (@jellenijhof12
- #90141 )  - Add Landis+Gyr MWh-readings from ultraheat-api (@vpathuis
- #89937 )  - Add new control4 helper function (@nalin29
- #90234 )  - Make hassfest.dependencies faster with multiprocessing (@akx
- #81486 )  - Rename hassfest _validate_dependencies_exist (@emontnemery
- #90503 )  - Add preferred wind speed unit to unit systems (@emontnemery
- #90504 )  - Use metric units internally in Accuweather integration (@bieniu
- #90444 )  - Add EV charging remote services for BMW/Mini (@rikroe
- #88759 )  - Avoid creating a task on callback in owntracks when using mqtt (@bdraco
- #90548 )  - Avoid more task creation in the discovery helper (@bdraco
- #90552 )  - Move icon constants to entity attributes (@epenet
- #90518 )  - Bump PyVicare to 2.25.0 (@oischinger
- #90536 )  - Update ruff to v0.0.260 (@frenck
- #90566 )  - Add CI timeout to codecov job (@frenck
- #90572 )  - Update black to 23.3.0 (@frenck
- #90569 )  - Use more meaningful states for snapcast groups and clients (@luar123
- #77449 )  - Update sentry-sdk to 1.18.0 (@frenck
- #90571 )  - Update orjson to 3.8.9 (@frenck
- #90570 )  - Add attachments to simplepush (@tymm
- #81033 )  - Ensure numeric sensors have a valid value (@epenet
- #85605 )  - Move attribution constants to entity attributes (@epenet
- #90519 )  - Use 
get_ha_sensor_datamethod to update glances sensors (@engrbm87- #83983 )  - Refactor vicare config_flow tests (@oischinger
- #90568 )  - Remove unnecessary calls to 
async_update_entryfromasync_migrate_entry(@emontnemery- #90575 )  - Remove some dead code from google_assistant (@emontnemery
- #90581 )  - Drop eq dunder method from Entity (@emontnemery
- #90585 )  - Add ComponentProtocol to improve type checking (@epenet
- #90586 )  - Remove xbox_live integration (@MartinHjelmare
- #90592 )  - TTS: allow resolving engine and test supported options (@balloob
- #90539 )  - Conversation: allow getting agent info (@balloob
- #90540 )  - Voice Assistant: improve error handling (@balloob
- #90541 )  - Speed up entity filter when there are many glob matchers (@bdraco
- #90615 )  - Use webrcvad to detect silence in pipelines (@synesthesiam
- #90610 )  - Bump securetar to 2023.3.0 (@bdraco
- #90612 )  - Adjust context id variable names in the logbook processor to improve readability (@bdraco
- #90617 )  - Use async_timeout instead of asyncio.wait_for (@starkillerOG
- #90496 )  - Speed up backups (@bdraco
- #90613 )  - Cleanup some duplicate code in recorder statistics (@bdraco
- #90549 )  - Fix voice assistant error variable (@balloob
- #90658 )  - Rename Android TV to Android Debug Bridge (@tronikos
- #90657 )  - Reolink late review comments (@starkillerOG
- #90668 )  - Deprecate imap_content_sensor (@jbouwh
- #90429 )  - Upgrade dwd_weather_warnings dependency dwdwfsapi to 1.0.6 (@andarotajo
- #90683 )  - Add support for Supla garage doors (@alh84001
- #90593 )  - Add DHCP discovery to Obihai (@ejpenney
- #88984 )  - Add sort list service to Shopping List (@mib1185
- #90671 )  - Make service field filter parameters exclusive (@emontnemery
- #90728 )  - Remove the LIFX sensor update coordinator (@Djelibeybi
- #90740 )  - Run pipeline from audio stream function (@balloob
- #90748 )  - Add myself to rest code owners (@epenet
- #90770 )  - Add 
msto units comment for duration sensor device class (@raman325- #90757 )  - Use slots for discovery dataclasses (@bdraco
- #90751 )  - Bump sqlalchemy to 2.0.8 (@bdraco
- #90756 )  - Preliminary support for Matter cover (@hidaris
- #90262 )  - Add core as codeowner for stt integration (@MartinHjelmare
- #90777 )  - Use domain constants in rest tests (@epenet
- #90765 )  - Rename renault coordinator and base entity (@epenet
- #90760 )  - Move legacy stt (@MartinHjelmare
- #90776 )  - Prevent legacy device tracker from creating hundreds of executor jobs (@bdraco
- #90690 )  - Extract Supla base entity into its own file (@alh84001
- #90781 )  - Run prettier on matter fixture (@emontnemery
- #90784 )  - Remove legacy services from lock/services.yaml (@emontnemery
- #90779 )  - Fix glob expansion for partial prettier run (@emontnemery
- #90787 )  - Rework MQTT config merging and adding defaults (@jbouwh
- #90529 )  - Bump locationsharinglib to 5.0.0 (@GuyKh
- #90790 )  - Remove getattr for Landis+Gyr Heat Meter (@vpathuis
- #90637 )  - Update to goodwe v0.2.31 (@mletenay
- #90808 )  - Remove myself from vicare codeowners (@oischinger
- #90755 )  - Add names to common helper tasks (@bdraco
- #90803 )  - Move dwd_weather_warnings constants to separate file (@andarotajo
- #90810 )  - Improve type hints in calendar trigger tests (@epenet
- #90827 )  - Fix lingering timers in image processing tests (@epenet
- #90829 )  - Fix lingering timers in mailbox tests (@epenet
- #90830 )  - Improve the HomeKit (de)humidifier min/max humidity handling (@stackia
- #90854 )  - Use built-in percentage unit for ISY994 relative humidity (@shbatm
- #90863 )  - Fix lingering timers in sensor tests (@epenet
- #90856 )  - Allow import of deprecated audioop module (@emontnemery
- #90869 )  - Use send_json_auto_id in voice_assistant tests (@emontnemery
- #90857 )  - Fix lingering timers in calendar tests (@epenet
- #90845 )  - Switch to fnv-hash-fast from fnvhash (@bdraco
- #90761 )  - Android TV Remote integration (@tronikos
- #89935 )  - Add device name fallback if no hostname in PrusaLink (@piitaya
- #90831 )  - Fix lingering timer in device_tracker (@epenet
- #90824 )  - Bump xiaomi-ble to 0.17.0 (@Ernst79
- #90806 )  - Move enum mapper to own file to prevent circular dependency (@jesserockz
- #90890 )  - Move local calendar diagnostics to pytest.mark.freezetime (@allenporter
- #90886 )  - Revert “Move local calendar diagnostics to pytest.mark.freezetime” (@bdraco
- #90899 )  - Add entity name translations to CO2signal (@mib1185
- #90877 )  - Drop unused logger argument for StorageCollection() (@emontnemery
- #90913 )  - Rewrite mailbox tests (@epenet
- #90906 )  - Remove the coronavirus integration (@emontnemery
- #90934 )  - Allow storing other items than untyped 
dictinStorageCollection(@emontnemery- #90932 )  - Allow TTS requests to resolve in the background (@balloob
- #90944 )  - Update mypy to 1.2.0 (@cdce8p
- #90947 )  - Add a pipeline store to voice_assistant (@emontnemery
- #90844 )  - Refactor handling of exposed entities for cloud Alexa and Google (@emontnemery
- #89877 )  - Add mysql 8.0.32 to the CI (@bdraco
- #90898 )  - Bump androidtvremote2 to 0.0.5 (@tronikos
- #90922 )  - Improve proxmoxve generic typing (@cdce8p
- #90948 )  - Fix lingering timer in cloud (@epenet
- #90822 )  - Move plant const to separate file (@joostlek
- #91008 )  - Disable lazy discover in xiaomi_miio (@mrwogu
- #82601 )  - Filtered values are no longer rounded if values are not changed/calculated (@dgomes
- #76164 )  - Android TV Remote: Bump androidtvremote2==0.0.7 (@tronikos
- #91001 )  - Handle all three operating modes in Advantage Air climate (@Bre77
- #91107 )  - Require a list of entity ids when fetching history (@bdraco
- #90992 )  - Switch back to using call_later for the slow entity update warning (@bdraco
- #91067 )  - Clarify HomeKit include behavior in the config flow (@bdraco
- #91106 )  - Reduce bond fallback polling interval when BPUP is alive (@bdraco
- #90871 )  - Convert tasmota discovery callback function to a normal function (@bdraco
- #90865 )  - Add names to homekit tasks to better track startup problems (@bdraco
- #90802 )  - Reduce creation of MQTT related discovery tasks (@bdraco
- #90801 )  - Bump transmission-rpc to 4.1.5 (@Mic92
- #91088 )  - Bump homematicip to 1.0.14 (@hahn-th
- #91140 )  - Bump Advantage Air to 0.4.2 (@Bre77
- #91144 )  - Bump sqlalchemy to 2.0.9 (@bdraco
- #91151 )  - Reduce space to store state_attributes and event_data for new MariaDB/MySQL databases (@bdraco
- #91150 )  - Reduce overhead of legacy database columns on new installs (@bdraco
- #90246 )  - Bump orjson to 3.8.10 (@bdraco
- #91132 )  - Voice Assistant: Require sample rate as input (@balloob
- #91182 )  - Fix flaky filesize tests (@epenet
- #91200 )  - Use tmp_path in recorder tests (@epenet
- #91202 )  - Remove incorrect constant usage in test (@epenet
- #91198 )  - Remove myself as a codeowner of the LIFX integration (@Djelibeybi
- #91143 )  - Fix UniFi client tracker host_name missing (@Kane610
- #91188 )  - Bump aioswitcher to 3.3.0 (@regevbr
- #91215 )  - Update spotipy to 2.23.0 (@frenck
- #91217 )  - Update Pillow to 9.5.0 (@frenck
- #91218 )  - Cleanup mqtt CONFIG_SCHEMA_ENTRY (@jbouwh
- #90791 )  - Make dataclasses in HA core slotted (@rlippmann
- #91208 )  - Voip integration (@synesthesiam
- #90945 )  - Fix config entry unload in withings tests (@epenet
- #91210 )  - Ensure entry is unloaded in azure event hub tests (@epenet
- #91224 )  - Avoid multiple round trips to the database for history API calls (@bdraco
- #91193 )  - Call sqlite pragma optimize during periodic cleanup task (@bdraco
- #91245 )  - Allow UI configuration of entities exposed to voice_assistant (@emontnemery
- #91233 )  - Catch ssl errors in rest (@mib1185
- #91074 )  - Add a name to the background service call tasks (@bdraco
- #91252 )  - Suppress CancelledError in zwave-js unload (@epenet
- #91222 )  - Use tmp_path in tests (@epenet
- #91203 )  - Use RestoreSensor in derivative (@gjohansson-ST
- #91071 )  - Rename MQTT entry mock and cleanup (@jbouwh
- #91223 )  - Run 
socket.gethostbynamein executor in Obihai and Sonos (@farmio- #91190 )  - Update zwave-me-ws version to 0.4.2 (@lawfulchaos
- #91068 )  - Add config flow to Brottsplatskartan (@gjohansson-ST
- #70233 )  - Bump codecov/codecov-action from 3.1.1 to 3.1.2 (@dependabot - #91258
)  - Bump hass-nabucasa from 0.63.1 to 0.64.1 (@ludeeus
- #91271 )  - Fix Lutron keypad led state always off at startup (@mikeknoop
- #91149 )  - Add platform state tests for vesync integration (@chuckdeal97
- #90466 )  - Allow multiple instances for OpenAI (@balloob
- #90609 )  - Allow None device_class and UOM for mqtt entities (@jbouwh
- #91240 )  - Add tests to honeywell (@mkmer
- #87209 )  - Preserves config flow information in case of error for SQL (@dougiteixeira
- #91142 )  - Support unknown state, position or tilt for template cover (@jbouwh
- #91172 )  - Add h264_v4l2m2m codec and profiles to HomeKit cameras (@shmuelzon
- #91246 )  - Clean up srp_energy (@briglx
- #86822 )  - Make hass test fixture async (@epenet
- #91264 )  - Update typing on recorder pool for sqlalchemy 2.0 (@bdraco
- #91244 )  - Add pretty printing, key sorting, and better performance to to_json in Jinja (@depoll
- #91253 )  - Add certificate status for cloud remote (@ludeeus
- #91277 )  - Dockerdev: Improve docker caching layers (@oliv3r
- #85186 )  - Update sentry-sdk to 1.19.1 (@frenck
- #91310 )  - Update coverage to 7.2.3 (@frenck
- #91309 )  - Fix combined translation in Pi-hole strings (@frenck
- #91305 )  - Raise HomeAssistant error on failed Spotify service calls (@frenck
- #91299 )  - Update debugpy to 1.6.7 (@frenck
- #91267 )  - Make auth test fixtures async (@epenet
- #91263 )  - Add language util (@synesthesiam
- #91290 )  - Add VoIP entities (@balloob
- #91320 )  - Pipelines to default to Home Assistant agent (@balloob
- #91321 )  - Bump httpx to 0.24.0 and httpcore to 0.17.0 (@bdraco
- #91308 )  - Adjust shutdown registration in EntityComponent (@epenet
- #90938 )  - Use async_write_ha_state in generic hygrostat (@frenck
- #91331 )  - Use async_write_ha_state in tests (@frenck
- #91333 )  - Fix race condition in deconz (@epenet
- #91328 )  - Fix lingering timers in tts (@epenet
- #90834 )  - Move picnic sensor definitions (@joostlek
- #91367 )  - Fail CI on lingering timers (part 2) (@epenet
- #89976 )  - Avoid task creation when calling schedule_update_ha_state without force update (@frenck
- #91352 )  - Warn for unneeded use of async_update_ha_state (@frenck
- #91372 )  - Add stt entity (@MartinHjelmare
- #91230 )  - Add entity name translations to Picnic (@joostlek
- #91362 )  - Add ability to auto-cancel track_time_interval (@epenet
- #91381 )  - Bump actions/checkout from 3.5.0 to 3.5.2 (@dependabot - #91373
)  - Fix incorrect warn of async_update_ha_state use (@frenck
- #91387 )  - Rename voice_assistant to assist_pipeline (@emontnemery
- #91371 )  - Improve performance of sums in the energy dashboard (@bdraco
- #91342 )  - Fix lingering timers in flux_led (@epenet
- #91379 )  - ESPHome voice assistant (@jesserockz
- #90691 )  - Fix lingering timers in analytics (@epenet
- #91363 )  - Fix lingering timer in EntityRegistryDisabledHandler (@epenet
- #91376 )  - Support Sonos announcements using websockets (@jjlawren
- #91145 )  - Do not allow mqtt lights to set brightness to zero (@jbouwh
- #91296 )  - Rename Particulate matter sensors to PM (@frenck
- #91384 )  - Allow GET in webhook triggers (@swiergot
- #56446 )  - Add webhook trigger allowed_methods/local_only options (@esev
- #66494 )  - Bump accuweather to version 0.5.1 (@bieniu
- #91412 )  - Remove duplicate webhook test (@epenet
- #91420 )  - Delete obsolete lines and add some missing type hints in OpenTherm Gateway integration (@PatrickGlesner
- #90530 )  - Add slots to dataclasses in default_config (@rlippmann
- #91410 )  - History API entity_id validation (@flip-dots
- #90067 )  - Bump yalexs to 1.3.0 (@bdraco
- #91431 )  - Add ability to shutdown a Debouncer (@epenet
- #91439 )  - Improve performance of tracking time changes (@bdraco
- #91433 )  - Use fast path for track_time_change that fires every second (@bdraco
- #91432 )  - Ensure recorder always attempts clean shutdown if recorder thread raises (@bdraco
- #91261 )  - Remove combined translations in integrations (@epenet
- #91337 )  - Update screenshot of featured integrations (@joostlek
- #91345 )  - Support marking an assist pipeline as preferred (@emontnemery
- #91418 )  - Improve async_track_point_in_time (@epenet
- #91451 )  - Improve tests subscribe connection for mqtt status (@jbouwh
- #91463 )  - Add option to select list of accepted ssl ciphers in httpx client (@mib1185
- #91389 )  - Add ssl_cipher_list option to rest (@mib1185
- #91078 )  - Fix error for when column does not exist in query to SQL (@dougiteixeira
- #91166 )  - Fix lingering timer in samsungtv (@epenet
- #91450 )  - Bump nextdns to version 1.4.0 (@bieniu
- #91490 )  - Remove 
ozonestate attribute andozonesensors from Accuweather (@bieniu- #91492 )  - Streamline todoist test fixtures (@allenporter
- #91405 )  - Fix lingering timer in buienradar (@epenet
- #91378 )  - Automatically retry lost/timed out LIFX requests (@bdraco
- #91157 )  - Update pytest to 7.3.1 (@frenck
- #91497 )  - Expose ping drop rate Starlink sensor (@boswelja
- #91444 )  - Continue recording events until final write (@bdraco
- #91260 )  - Add dhcp ip update support to onvif (@bdraco
- #91474 )  - Bump aioruuvigateway to 0.1.0 (@bdraco
- #91512 )  - Bump TP-Link Omada API to enforce minimum controller version (@MarkGodwin
- #91498 )  - Bump bluetooth-data-tools to 0.4.0 (@bdraco
- #91442 )  - Use bluetooth data tools for address conversion in esphome (@bdraco
- #91443 )  - Add MyPlace support to Advantage Air (@Bre77
- #91108 )  - Add Synology Photos support (@lodesmets
- #86894 )  - Bump Advantage Air to 0.4.4 (@Bre77
- #91147 )  - Add a data model to Advantage Air (@Bre77
- #91519 )  - VoIP: Add is active call binary sensor (@balloob
- #91486 )  - Add RAPT Bluetooth integration (@sairon
- #87872 )  - Remove deprecated set_doorbell_message UniFi Protect service (@AngellusMortis
- #91523 )  - ESPHome: Use existing property with generated signal string (@jesserockz
- #91525 )  - Prevent combined translations in strings.json (@epenet
- #91334 )  - Handle invalidated Plex token (@jjlawren
- #91438 )  - Update pyfibaro to 0.7.0 (@rappenze
- #91510 )  - Default homekit to listening on all interfaces to match Home Assistant behavior (@bdraco
- #91520 )  - Add monessen virtual integration for Intellifire (@jeeftor
- #89315 )  - Build protobuf upb wheels (@bdraco
- #90812 )  - Enable strict typing of assist_pipeline (@emontnemery
- #91529 )  - Fix lingering timer in alert integration (@epenet
- #91452 )  - Fix lingering timers in sia tests (@epenet
- #91407 )  - Change entity category of IR light setting from control to config (@krazos
- #91382 )  - Add core as codeowner to tts (@MartinHjelmare
- #91539 )  - Fix incorrect regex in translation script (@epenet
- #91536 )  - Update pip constraint to allow for pip 23.1 (@frenck
- #91535 )  - SQL strings update db_url (@gjohansson-ST
- #91537 )  - Add more rule parsers to onvif (@bdraco
- #91533 )  - Update Todoist all day event handling following best practices (@allenporter
- #90491 )  - Update cryptography to 40.0.2 (@frenck
- #91528 )  - Allow config entries unload action to be coroutine (@epenet
- #91531 )  - Don’t reload integration for AuthError in Honeywell (@mkmer
- #91228 )  - Remove PipelineEvent.as_dict (@emontnemery
- #91546 )  - Make it non-optional to implement supported_languages in tts.Provider (@emontnemery
- #91347 )  - Add WS API for debugging previous assist_pipeline runs (@emontnemery
- #91541 )  - Move legacy tts (@MartinHjelmare
- #91538 )  - Allow picking a pipeline for voip devices (@balloob
- #91524 )  - Create base TriggerEntity (@gjohansson-ST
- #91128 )  - Make tts/stt/conversation optional on pipeline (@bramkragten
- #91555 )  - Add WS API to 
stt(@emontnemery- #91329 )  - Bump intents dependency (@synesthesiam
- #91556 )  - Add WS API to tts (@emontnemery
- #91330 )  - Make Debouncer shutdown async (@epenet
- #91542 )  - Fix history stats query using incorrect microseconds (@bdraco
- #91250 )  - Remove previously deprecated ISY994 services (@shbatm
- #91569 )  - Fix pipeline select (@bramkragten
- #91570 )  - Remove duplicate code in update coordinator (@epenet
- #91573 )  - ESPHome binary sensor representing assist pipeline running (@jesserockz
- #91406 )  - Remove previously deprecated ISY994 YAML support (@shbatm
- #91575 )  - ESPHome select for assist pipeline selection (@jesserockz
- #91526 )  - VoIP audio queue (@synesthesiam
- #91577 )  - Use language util in stt/tts (@synesthesiam
- #91521 )  - Use cache to lookup event type ids in logbook (@bdraco
- #91576 )  - EasyEnergy: Add two additional sensors to help pick the best hours (@sstriker
- #90543 )  - Dynamically size recorder max backlog based on available memory (@bdraco
- #90894 )  - Cleanup MQTT platform set up and discovery start (@jbouwh
- #91007 )  - Bump hass-nabucasa to 0.65.0 (@balloob
- #91565 )  - Improve comment in conversation (@emontnemery
- #91595 )  - Remove check on remove deprecated call back for mqtt subscribe (@jbouwh
- #91464 )  - Add timestamp to pipeline runs (@emontnemery
- #91599 )  - Use the preferred assist pipeline if none was specified (@emontnemery
- #91611 )  - Drop language parameter from async_get_pipeline (@emontnemery
- #91612 )  - Add ability to shutdown update coordinator (@epenet
- #91456 )  - Remove webhook translation file (@epenet
- #91616 )  - Add property 
supported_languagestoAbstractConversationAgent(@emontnemery- #91588 )  - Support both stt entity and legacy providers (@synesthesiam
- #91633 )  - Make repairs out of select supervisor issues (@mdegat01
- #90893 )  - Add config flow to Workday (@gjohansson-ST
- #72558 )  - Add wyoming integration with stt (@synesthesiam
- #91579 )  - Add async_get_supported_voices to tts.Provider (@emontnemery
- #91649 )  - Refactor LastFM to use shorthand attributes (@joostlek
- #91606 )  - Move Steam Entity to separate file (@joostlek
- #91630 )  - Make context a mandatory parameter for async_pipeline_from_audio_stream (@emontnemery
- #91658 )  - Refactor ZHA (@dmulcahey
- #91476 )  - Refactor conversation agent WS API for listing agents (@emontnemery
- #91590 )  - Adjust typing of AbstractConversationAgent.supported_languages (@emontnemery
- #91648 )  - Add assist_pipeline to default_config (@emontnemery
- #91651 )  - Cleanup device handles on ZHA controller shutdown (@epenet
- #91591 )  - Add test for WS conversation/agent/info (@emontnemery
- #91652 )  - Add test coverage for bluetooth devices being rediscoverable after they go unavailable (@bdraco
- #91645 )  - Update bluetooth debug logging for newer bleak (@bdraco
- #91643 )  - Add test case for matching the shelly button (@bdraco
- #91642 )  - Allow complex schemas for validating WS commands (@emontnemery
- #91655 )  - Fix lingering timer in SinopeTechnologiesThermostat (@epenet
- #91681 )  - Fix lingering timer in ZHA light transition (@epenet
- #91683 )  - Fix lingering timer in ZHA debouncers (@epenet
- #91685 )  - Fix lingering timer in ZHA tests (@epenet
- #91688 )  - Fix lingering timer in unifiprotect discovery (@epenet
- #91695 )  - Fix lingering timer in ZHA cluster tests (@epenet
- #91693 )  - Detect eero brand for Thread (@balloob
- #91699 )  - Fix from feedback on supervisor issues to repairs (@mdegat01
- #91680 )  - Remove legacy context lookup implementation from logbook (@bdraco
- #91710 )  - Make sure MQTT client is available when starting depending platforms (@jbouwh
- #91164 )  - Update Home Assistant base image to 2023.04.0 (@frenck
- #91720 )  - Fix lingering timers in bluetooth (part 2) (@epenet
- #91674 )  - Add missing callback decorator on StorageCollectionWebsocket.ws_list_item (@emontnemery
- #91727 )  - Add WS API for listing languages supported by a full assist pipeline (@emontnemery
- #91669 )  - Include matching languages in WS tts/engine/list (@emontnemery
- #91732 )  - Include matching languages in WS stt/engine/list (@emontnemery
- #91731 )  - Include matching languages in WS conversation/agent/list (@emontnemery
- #91730 )  - Test specifying pipeline in calls to async_pipeline_from_audio_stream (@emontnemery
- #91739 )  - Rename HomeKit to HomeKit Bridge (@frenck
- #91741 )  - Add WS command for getting an assist pipeline (@emontnemery
- #91725 )  - Add new Roborock Integration (@Lash-L
- #89456 )  - Add additional parameters to assist pipelines (@emontnemery
- #91619 )  - Fix lingering timers in bluetooth (part 1) (@epenet
- #91673 )  - Fix assist_pipeline tests (@emontnemery
- #91757 )  - Add pjlink const (@HarlemSquirrel
- #91749 )  - Prefer country over language family + MATCH_ALL (@synesthesiam
- #91753 )  - Add Supervisor add-on discovery to Wyoming integration (@frenck
- #91761 )  - Fix wallbox tests (@epenet
- #91752 )  - Update URLs forwarding to HA blog posts (@DutchDeffy
- #91698 )  - Fix lingering timer in hassio (@epenet
- #91702 )  - Fix lingering timer in netatmo (@epenet
- #91728 )  - Bump asyncsleepiq lib to 1.3.3 (@kbickar
- #91772 )  - VoIP listening tone and “not configured” message (@synesthesiam
- #91762 )  - Bump recommended esphome version to 2023.4.0 for bluetooth (@bdraco
- #91509 )  - Bump aioesphomeapi to 13.7.1 (@bdraco
- #91783 )  - Add tts entity (@MartinHjelmare
- #91692 )  - Bump arcam-fmj to 1.3.0 (@kernelpanic85
- #91747 )  - Update ruff to v0.0.262 (@frenck
- #91767 )  - Update sentry-sdk to 1.20.0 (@frenck
- #91771 )  - Load quirks in ZHA unit tests (@puddly
- #91779 )  - Bump dbus-fast to 1.85.0 (@bdraco
- #91784 )  - Ensure dependencies are awaited correctly when setting up integrations (@jbouwh
- #91454 )  - Let MQTT availability for 
snipsbe managed by dependencies (@jbouwh- #91790 )  - Build wheels for CPython ABI cp311 (@frenck
- #91736 )  - Shutdown coordinator on entry unload (@epenet
- #91748 )  - Remove libexecinfo-dev package from Wheels jobs (@frenck
- #91798 )  - Bump actions/setup-python from 4.5.0 to 4.6.0 (@dependabot - #91792
)  - Bump codecov/codecov-action from 3.1.2 to 3.1.3 (@dependabot - #91791
)  - Update pysiaalarm to 3.1.0 (@eavanvalkenburg
- #91500 )  - Bump openwrt-luci-rpc version to 1.1.16 (@mzdrale
- #91358 )  - Fix lingering timer in discovery (@epenet
- #91804 )  - Update psutil to 5.9.5 (@frenck
- #91807 )  - Update opencv-python-headless to 4.7.0.72 (@frenck
- #91802 )  - Use Selectors for waze_travel_time flows (@eifinger
- #91778 )  - Fix lingering timer in usb (@epenet
- #91800 )  - Fix lingering timer in todoist (@epenet
- #91808 )  - Fix lingering timer in tplink (@epenet
- #91806 )  - Fix lingering timer in traccar (@epenet
- #91812 )  - Fix lingering timer in smartthings tests (@epenet
- #91697 )  - Bump pyeconet to 0.1.20 (@CodingSquirrel
- #90950 )  - Add type hints to broadlink device/heartbeat (@epenet
- #91737 )  - Clean up gateway logic from Plugwise (@frenck
- #91769 )  - Follow up on comments on changes bootstrap tests (@jbouwh
- #91803 )  - Bump 
aionotionto 2023.04.2 to address imminent API change (@bachya- #91786 )  - Add name to tts voices (@emontnemery
- #91814 )  - Speed up LazyEventPartialState for logbook (@bdraco
- #91840 )  - Speed up sql queries where ORM rows are not needed (@bdraco
- #91839 )  - Bump sense_energy to 0.11.2 (@bdraco
- #91836 )  - Remove unreachable code in mqtt integration discovery (@jbouwh
- #91796 )  - Bump plugwise to v0.31.0 (@bouwew
- #91831 )  - Improve comment on patching the _import method in test bootstrap dependencies test (@jbouwh
- #91848 )  - Speed up processing binary columns on SQLite/MariaDB/MySQL (@bdraco
- #91818 )  - Add tests mqtt light with single supported color_mode (@jbouwh
- #91811 )  - Reolink doorbell extend features (@starkillerOG
- #90469 )  - Add a negative cache to the recorder event type manager (@bdraco
- #91770 )  - Reduce number of columns when selecting attributes for history (@bdraco
- #91717 )  - Reduce number of columns selected for logbook (@bdraco
- #91718 )  - Add more PrusaLink sensors (@5n8ke
- #80424 )  - Update YARL to 1.9.1 (@frenck
- #91852 )  - CI: Add automatic retries to codecov upload action (@frenck
- #91857 )  - Add air quality sensors to Accuweather integration (@bieniu
- #91516 )  - Refactor SnapshotAssertion is SFR Box (@epenet
- #90775 )  - Use SnapshotAssertion in 1-wire tests (@epenet
- #90782 )  - Several changes to Wheels building for the cp311 ABI (@frenck
- #91850 )  - Add webhook support to onvif (@bdraco
- #91485 )  - Bump whirlpool-sixth-sense to 0.18.3 (@mkmer
- #91859 )  - Substate will never be None when subscribing mqtt topics (@jbouwh
- #91856 )  - Bump tplink-omada-client to 1.2.4 (@MarkGodwin
- #91853 )  - Add new parental control switches for NextDNS (@bieniu
- #91507 )  - Updated list of supported voices in Watson TTS integration (@rutkai
- #91458 )  - Update xknx to 2.9.0 (@farmio
- #91282 )  - Conversation list command to support match-all languages agents (@balloob
- #91844 )  - Bump pyunifiprotect to 4.8.2 (@AngellusMortis
- #91861 )  - Update Egardia to support more devices (@tristangrichard
- #91430 )  - Add device_trackers attribute to person entities (@depoll
- #91312 )  - Create repair issue if Sonos subscriptions fail (@jjlawren
- #87437 )  - Add diagnostics to PI-Hole (@mib1185
- #91383 )  - Wheels: Don’t build azure-servicebus on cp311 (@frenck
- #91862 )  - CI: Cancel concurrent Wheel jobs (@frenck
- #91867 )  - Add events to BTHome (@Ernst79
- #91691 )  - Correct unit of measurement for Synology DSM sensors (@mib1185
- #90633 )  - Fix lingering timer in wiz (@epenet
- #91745 )  - Fix lingering timer in yeelight SSDP discovery (@epenet
- #91694 )  - Add entity name translations to Supervisor (@mib1185
- #90937 )  - Ensure config entries are unloaded in tests (@epenet
- #90850 )  - Add missing ViCare diagnostics tests (@epenet
- #90821 )  - Wheels: Don’t build beacontools on cp311 (@frenck
- #91868 )  - Bump locationsharinglib to 5.0.1 (@cirrusblau
- #91259 )  - Wheels: Don’t build opencv-python-headless on cp311 (@frenck
- #91872 )  - Skip adding WeMo device on failure (@esev
- #91621 )  - Add Anova integration (@Lash-L
- #86254 )  - Revert “Update opencv-python-headless to 4.7.0.72” (@frenck
- #91871 )  - Mark onvif events as stale when the subscription renewal fails (@bdraco
- #91567 )  - Add run-name for workflow_dispatch runs [ci] (@cdce8p
- #91873 )  - Raise an exception when trying to save camera snapshots to a not allowed path (@bdraco
- #91869 )  - Handle 404 for media/ptz/image onvif services to allow setup to proceed (@bdraco
- #91875 )  - Add balance entity for Sonos speakers (@pyos
- #85205 )  - Ensure onvif retries setup if camera fails to respond correctly (@bdraco
- #91866 )  - Add entity name translations to KNX system sensors (@farmio
- #91396 )  - Use configured voice in TTS output for assist pipeline (@balloob
- #91878 )  - Rename raw audio files to .pcm (@synesthesiam
- #91879 )  - Ensure .pcm binary files do not have line endings changed (@synesthesiam
- #91881 )  - Add a VoIP user (@balloob
- #91884 )  - Improve notion generic typing (@cdce8p
- #91883 )  - Bump ulid-transform to 0.7.0 (@bdraco
- #91888 )  - Update pylint to 2.17.2 (@cdce8p
- #91894 )  - HA deconz: Add support for Tuya Smart Air Housekeeper 6in1 Air Quality Monitor (@m4k2k
- #87866 )  - Wheels: Disable Pandas for Python 3.11 on armhf (@frenck
- #91898 )  - Assist pipeline to use configured values (@balloob
- #91901 )  - Wyoming tts (@synesthesiam
- #91712 )  - Add NUT device actions (@pestevez
- #80986 )  - Wheels: Fix typo in env_canada dep for armhf (@frenck
- #91918 )  - Bump zeroconf to 0.58.0 (@bdraco
- #91917 )  - Suppress events for tns1:MediaControl/VideoEncoderConfiguration with onvif (@bdraco
- #91916 )  - Fix migration with negative event type cache (@bdraco
- #91910 )  - Avoid creating onvif switches on unsupported devices (@bdraco
- #91907 )  - Remove duplicate name from Wyoming TTS entity (@balloob
- #91930 )  - Add processing tone (@synesthesiam
- #91931 )  - Cleanup onvif topic before lookup (@bdraco
- #91914 )  - Remove deprecated async_get_registry (@bdraco
- #91928 )  - Allow entity names for STT entities (@balloob
- #91932 )  - Remove deprecated async_setup_platforms (@bdraco
- #91929 )  - Add MQTT fan direction support (@rubenbe
- #91700 )  - Remove unneeded pygatt package from machine builds (@frenck
- #91940 )  - Bump Pylast to 5.1.0 (@joostlek
- #91909 )  - Don’t resolve default stt engine in assist pipelines (@emontnemery
- #91936 )  - Ensure onvif can still be unloaded if camera fails to unsubscribe (@bdraco
- #91887 )  - Add guards to onvif for when the PullPoint to Webhook url changes (@bdraco
- #91886 )  - Add fallback to device zone time or no timezone to onvif when setting time fails (@bdraco
- #91882 )  - Don’t resolve default tts engine in assist pipelines (@emontnemery
- #91943 )  - Improve error reporting in onvif in config flow (@bdraco
- #91876 )  - Add rule parser for onvif LineDetector and CountAggregation (@bdraco
- #91885 )  - Add cipher list option to IMAP config flow (@jbouwh
- #91896 )  - Cleanup unreachable code where device_entry will never be None on an update event (@jbouwh
- #91855 )  - Add Vacuum test for Roborock (@Lash-L
- #91870 )  - Fix zh Hant/Hans (@synesthesiam
- #91390 )  - Suppress pylint error related to audioop deprecation (@emontnemery
- #91950 )  - Correct entity categories in AVM FRITZ!SmartHome (@mib1185
- #91073 )  - Fix typo in powerwall strings (@bdraco
- #91956 )  - Elmax -Handle 422 busy error with a retry approach (@albertogeniola
- #91926 )  - Dependency upgrade to forecast-solar 3.0.0 (@koleo9am
- #91951 )  - Wait for TTS before restarting pipeline (@synesthesiam
- #91962 )  - Create a default assist pipeline on start (@emontnemery
- #91947 )  - Use order in preferred regions list (@synesthesiam
- #91959 )  - Bump yalexs to 1.3.2 (@bdraco
- #91963 )  - Add mopping abilities to Roborock (@Lash-L
- #91766 )  - Bump aiounifi to v47 (@Kane610
- #91966 )  - Bump home-assistant-bluetooth to 1.10.0 (@bdraco
- #91977 )  - Ensure logbook still responds if describe event throws (@bdraco
- #91961 )  - Play pre-recorded message if pipeline is misconfigured (@synesthesiam
- #91985 )  - Bump ZHA dependencies (@puddly
- #91969 )  - Include UUID in hassio discovery data (@emontnemery
- #91970 )  - Follow the unavailability of the source sensor (@dgomes
- #91975 )  - Remove unused attributes in EDL21 integration (@StephanU
- #91922 )  - Move TriggerBaseEntity into helpers (@gjohansson-ST
- #91945 )  - Support for multiple contracts in Prosegur (@dgomes
- #89097 )  - Elmax/sensors improvements (@albertogeniola
- #74323 )  - Bump sqlalchemy to 2.0.10 (@bdraco
- #91982 )  - Bump asyncsleepiq lib to 1.3.4 (@ClayBenson94
- #91860 )  - Remove fuzzy language matching from stt and tts (@emontnemery
- #92002 )  - Add check on disarm code for Alarm Control Panel - Elmax (@albertogeniola
- #91158 )  - Fix cloud connected signal only firing once (@emontnemery
- #92009 )  - Tweak a couple of 
sttandttsrelated asserts (@emontnemery- #92012 )  - Add reauth to onvif (@bdraco
- #91957 )  - Update tibber lib to 0.27.1 (@Danielhiversen
- #92016 )  - Bump hass-nabucasa from 0.65.0 to 0.66.1 (@ludeeus
- #92020 )  - Fix timezone issue (@vingerha
- #92005 )  - Use addon uuid as wyoming config entry unique id (@emontnemery
- #92008 )  - Fix comment typos (@davet2001
- #92021 )  - Bump zwave-js-server-python to 0.48.0 (@raman325
- #91989 )  - Fall back to domain for conversation agents without title (@emontnemery
- #92014 )  - Enable open,close,stop device actions for all covers (@mvdwetering
- #92006 )  - Do not reload Shelly TRV config entry (@bieniu
- #92000 )  - Clean up tts fixtures (@MartinHjelmare
- #92025 )  - Only expose MQTT advanced settings in advanced mode (@jbouwh
- #91996 )  - Add note for using xfail on test for mqtt_statestream (@jbouwh
- #91999 )  - Add camera platform to Freebox (@nachonam
- #88104 )  - Invert ISY994 dusk/dawn sensors to match expected state (@shbatm
- #92035 )  - ISY994 remove value when calling open cover with no position (@shbatm
- #92036 )  - Clean up default ZHA entity names (@puddly
- #91841 )  - Bump yalexs-ble to 2.1.16 (@bdraco
- #92034 )  - Automaticially create an assist pipeline using cloud stt + tts (@emontnemery
- #91991 )  - Add button entities to manually idle zwave notification values (@raman325
- #91446 )  - Allow numbers in TTS engine part of cache key (@synesthesiam
- #92031 )  - Time out TTS based on audio length (@synesthesiam
- #92032 )  - Bump aioesphomeapi to 13.7.2 (@bdraco
- #92027 )  - Bump zeroconf to 0.58.2 (@bdraco
- #92049 )  - Allow UniFi control PoE passthrough properly (@Kane610
- #92028 )  - Set forecast-solar energy sensor’s units of measurement to Wh (@koleo9am
- #92022 )  - Only check support_entry_unload/support_remove_from_device once (@bdraco
- #92041 )  - Bump hass-nabucasa from 0.66.1 to 0.66.2 (@ludeeus
- #92054 )  - Small cleanups to bluetooth internals (@bdraco
- #92045 )  - Remove cloud assist pipeline setup from cloud client (@emontnemery
- #92056 )  - Make assist_pipeline an after dependency of cloud (@emontnemery
- #92057 )  - Fix typo in Nextcloud YAML deprecation message (@farmio
- #92060 )  - Fix tts add-on discovery for Wyoming (@frenck
- #92064 )  - Tweak response of /api/cloud/login (@emontnemery
- #92058 )  - Fail TTS tests if default TTS cache dir exists (@emontnemery
- #92023 )  - Add today’s remaining production estimate (@koleo9am
- #91965 )  - Add LED settings support to Home Assistant Yellow (@emontnemery
- #86451 )  - Add codeowner for imap integration (@jbouwh
- #92067 )  - Add assist pipeline and language selectors (@bramkragten
- #92030 )  - Ensure lutron_caseta logbook platform does not raise when integration is not loaded (@bdraco
- #91978 )  - Retry creating esphome update entities later if dashboard is unavailable (@bdraco
- #92042 )  - Teach switch_as_x about exposed entities (@emontnemery
- #92059 )  - Ensure device_automation can handle RequirementsNotFound (@bdraco
- #92037 )  - Fix large imap_content event warning by truncating the email text body to 2 KiB (@jbouwh
- #92066 )  - Revert “Fail TTS tests if default TTS cache dir exists (#92023)” (@frenck
- #92079 )  - Update frontend to 20230426.0 (@bramkragten
- #92074 )  - Fix Matter cover deviceclass and inverted position (@marcelveldt
- #92063 )  - Allow the ZHA default light transition time to be configured as a float (@puddly
- #92075 )  - Add a warning step to ZHA’s config flow to advise against some radios (@puddly
- #92078 )  - Remove bridged matter devices when matter bridge is removed (@ArturoGuerra
- #91995 )  - Set pipeline_id from pipeline select (@jesserockz
- #92085 )  - ESPHome voice assistant: Version 2 - Stream raw tts audio back to device for playback (@jesserockz
- #92052 )  - Bump intents to 2023.4.26 (@synesthesiam
- #92070 )  - Add a channel changing API to ZHA (@puddly
- #92076 )  - Remove name attribute from transmission services manifest (@avee87
- #92083 )  - Update YARL to 1.9.2 (@frenck
- #92086 )  - Fix reconfigure by SSDP or Zeroconf discovery in Synology DSM (@mib1185
- #92088 )  - Fix capitalization names Assist entities (@balloob
- #92098 )  - Use pipeline ID in event (@balloob
- #92100 )  - Fix vizio integration_type (@raman325
- #92103 )  - Avoid exposing unsupported entities to Google Assistant (@emontnemery
- #92105 )  - Avoid exposing unsupported entities to Alexa (@emontnemery
- #92107 )  - Fix frontier_silicon not retrying setup and missing strings (@wlcrs
- #92111 )  - Add WS command cloud/alexa/entities/get (@emontnemery
- #92121 )  - Update frontend to 20230427.0 (@piitaya
- #92123 )  - Bump sqlalchemy to 2.0.11 to fix a critical regression with postgresql (@bdraco
- #92126 )  - Add add-on discovery URL and title to Wyoming integration (@frenck
- #92129 )  - Bump roborock to 0.8.1 for beta fixes (@Lash-L
- #92131 )  - Fix options flow Workday (@gjohansson-ST
- #92140 )  - Fix ZHA startup failure with the Konke button (@puddly
- #92144 )  - Ensure purge can cleanup old format detached states in the database (@bdraco
- #92145 )  - Fix ignored apple tvs being scanned over and over (@bdraco
- #92150 )  - Bump Roborock to 0.8.3 (@Lash-L
- #92151 )  - Properly resolve 
media_sourceURLs for Sonos announcements (@jjlawren- #92154 )  - Keep expose setting in sync for assist (@emontnemery
- #92158 )  - Bump pyvizio to 0.1.61 (@raman325
- #92161 )  - Upgrade lakeside to 0.13 (@nkgilley
- #92173 )  - Fix ZHA device triggers (@dmulcahey
- #92186 )  - Fix mqtt subscribe debouncer initial delay too long when birth message is disabled (@jbouwh
- #92188 )  - Update frontend to 20230428.0 (@piitaya
- #92190 )  - Add missing PRESET_MODE feature to BAF fans (@jfroy
- #92200 )  - Fix missing preset_mode feature in bond fans (@bdraco
- #92202 )  - Move BMW Target SoC to number platform (@rikroe
- #91081 )  - Revert “Add silent option for DynamicShutter (ogp:Shutter) in Overkiz” (@iMicknl
- #91354 )  - Turn AVM FRITZ!Box Tools call deflection switches into coordinator entities (@mib1185
- #91913 )  - Fix solaredge-local protobuf exception (@rajeevan
- #92090 )  - Fix Insteon scenes with disabled entities (@teharris1
- #92137 )  - Bump 
sonos-websocketto 0.1.0 (@jjlawren- #92209 )  - Bump env_canada to 0.5.34 (@michaeldavie
- #92216 )  - Add more detail to invalid rrule calendar error message (@allenporter
- #92222 )  - Fix history YAML deprecation (@frenck
- #92238 )  - Fix unknown/unavailable source sensor in Filter entities (@frenck
- #92241 )  - Bump plugwise to v0.31.1 (@bouwew
- #92249 )  - Bump pyunifiprotect to 4.8.3 (@bdraco
- #92251 )  - Pin 
pyasn1andpysnmplibsincepyasn10.5.0 has backward-incompatible changes andpysnmp-pyasn1andpyasn1are both using thepyasn1namespace (@bdraco- #92254 )  - Handle onvif errors when detail is returned as bytes (@bdraco
- #92259 )  - Add VoIP error tone (@synesthesiam
- #92260 )  - Fix Google Mail Sensor key error (@tkdrob
- #92262 )  - Fix MQTT certificate files setup (@jbouwh
- #92266 )  - Fix call deflection update in Fritz!Tools (@mib1185
- #92267 )  - Auto repair incorrect collation on MySQL schema (@bdraco
- #92270 )  - Handle AttributeError from wrong port in ONVIF config flow (@bdraco
- #92272 )  - Fix august lock state when API reports locking and locked with the same timestamp (@bdraco
- #92276 )  - Bump pynina to 0.3.0 (@DeerMaximum
- #92286 )  - Add missing fstrings in Local Calendar (@tkdrob
- #92288 )  - Prevent pysnmp from being installed as it does not work with newer python (@bdraco
- #92292 )  - Bump beacontools to fix conflict with construct<2.10 and >=2.8.16 (@bdraco
- #92293 )  - Bump bleak to 0.20.2 (@bdraco
- #92294 )  - Ensure onvif webhook can be registered (@bdraco
- #92295 )  - Fix mqtt not available when starting snips (@jbouwh
- #92296 )  - Allow configuring SIP port in VoIP (@synesthesiam
- #92210 )  - Reduce size of migration transactions to accommodate slow/busy systems (@bdraco
- #92312 )  - Retry onvif setup when it is unexpectedly cancelled (@bdraco
- #92313 )  - Bump sqlalchemy to 2.0.12 (@bdraco
- #92315 )  - Fix db_url issue in SQL (@gjohansson-ST
- #92324 )  - Add voip configuration url (@balloob
- #92326 )  - Don’t poll ZHA electrical measurement sensors unnecessarily (@dmulcahey
- #92330 )  - Avoid starting ONVIF PullPoint if the camera reports its unsupported (@bdraco
- #92333 )  - Bump voip-utils to 0.0.6 (@synesthesiam
- #92334 )  - Update frontend to 20230501.0 (@bramkragten
- #92339 )  - Increase default timeout in sense (@jpettitt
- #90556 )  - Bump ulid-transform to 0.7.2 (@bdraco
- #92344 )  - Clean up zwave_js.cover (@raman325
- #92353 )  - Start onvif events later (@bdraco
- #92354 )  - Allow exposing entities not in the entity registry to assistants (@emontnemery
- #92363 )  - Update frontend to 20230502.0 (@bramkragten
- #92373 )  - Fix deserialize bug + add test coverage (@balloob
- #92382 )  - Bump pybravia to 0.3.3 (@Drafteed
- #92378 )  - Add ZHA binding for window coverings (@repaxan
- #92387 )  - Improve exposed entities tests (@emontnemery
- #92389 )  - Don’t use storage collection helper in ExposedEntities (@emontnemery
- #92396 )  - Allow exposing any entity to the default conversation agent (@emontnemery
- #92398 )  - Bump ZHA quirks (@dmulcahey
- #92400 )  - Update frontend to 20230503.0 (@bramkragten
- #92402 )  - Allow setting google disable 2fa flag on any entity (@emontnemery
- #92403 )  - Handle webhook URL rejection in onvif (@bdraco
- #92405 )  - Include all entities in cloud lists (@emontnemery
- #92406 )  - Use exposed_entities API in cloud tests (@emontnemery
- #92408 )  - Update cloud WS API for getting entity (@emontnemery
- #92409 )  - Update frontend to 20230503.1 (@bramkragten
- #92410 )  - Bump bluetooth-auto-recovery to 1.1.1 (@bdraco
- #92412 )  - Migrate cloud settings for all Alexa entities (@emontnemery
- #92413 )  - Skip unexposed entities in intent handlers (@synesthesiam
- #92415 )  - Migrate cloud settings for all Google entities (@emontnemery
- #92416 )  - Pass OPUS payload ID through VoIP (@synesthesiam
- #92421 )  - Bump voip-utils to 0.0.7 (@synesthesiam
- #92372 )