Full Changelog for Home Assistant Core 2023.3
These are all the changes included in the Home Assistant Core 2023.3 release.
For a summary in a more readable format: Release notes blog for this release.
Full Changelog
- Bump version to 2023.3.0dev0 (@frenck
- #86632 )  - Assert Axis config entry state not hass.data (@Kane610
- #86648 )  - Update scaffold scripts to use async_forward_entry_setups (@bdraco
- #86647 )  - Code styling tweaks to Nexia tests (@frenck
- #86660 )  - Code styling tweaks to the tests - Part 2 (@frenck
- #86662 )  - Remove unneeded use of keys() in ZHA (@frenck
- #86668 )  - Add recorder platform to required test category (@frenck
- #86704 )  - Add hints to get_service in rest (@epenet
- #86703 )  - Add hints to get_service in syslog (@epenet
- #86701 )  - Add hints to get_service in joaoapps join (@epenet
- #86699 )  - Add hints to get_service in kodi (@epenet
- #86698 )  - Add DeviceInfo to Honeywell (@mkmer
- #86179 )  - Improve Axis config flow tests (@Kane610
- #86644 )  - Use mypy caching [ci] (@cdce8p
- #86715 )  - Improve notify type hints (@epenet
- #86685 )  - Bump aiolivisi to 0.0.15 (@StefanIacobLivisi
- #86721 )  - Remove 
pragma: no coverwhen not raising (@epenet- #86706 )  - Replace assert False by raising an error (@frenck
- #86686 )  - Add hints to get_service in tplink-lte (@epenet
- #86702 )  - Add hints to get_service in netgear-lte (@epenet
- #86700 )  - Add hints to get_service in integrations (2/2) (@epenet
- #86693 )  - Add hints to get_service in integrations (1/2) (@epenet
- #86692 )  - Update ruff to v0.0.235 (@frenck
- #86719 )  - Add hints to get_service in azure service bus (@epenet
- #86694 )  - Enable Ruff PT001 (@frenck
- #86730 )  - Improve nuki typing (@cdce8p
- #86736 )  - Google Assistant SDK: Test unload when enable_conversation_agent (@tronikos
- #86707 )  - Improve 
bosch_shcconfig_flow typing (@cdce8p- #86739 )  - Enable Ruff SIM105 (@frenck
- #86759 )  - Bump aio_georss_gdacs to 0.8 (@exxamalte
- #86761 )  - Enable Ruff PT013 (@frenck
- #86757 )  - Shelly code quality (@thecode
- #86733 )  - Add ability for pytest to run only on changed tests in codebase (@frenck
- #86776 )  - Migrates tests to use MediaPlayerEntityFeature enum (@frenck
- #86779 )  - Migrates tests to use UnitOfSpeed enum (@frenck
- #86777 )  - Enable Ruff PT015 (@frenck
- #86775 )  - Enable Ruff SIM117 (@frenck
- #86783 )  - Re-enable Ruff UP024 (@frenck
- #86784 )  - Remove deprecated unit system properties (@epenet
- #86643 )  - Migrates tests to use UnitOfPressure enum (@frenck
- #86785 )  - Adjusts imports in tests to match our relative import rules (@frenck
- #86788 )  - Enable Ruff SIM401 (@frenck
- #86790 )  - Enable Ruff PT022 (@frenck
- #86792 )  - Separate Shelly tests parameters in parametrize (@thecode
- #86778 )  - Enable Ruff PLC0414 (@frenck
- #86799 )  - Enable Ruff PT021 (@frenck
- #86801 )  - Bump tibdex/github-app-token from 1.7.0 to 1.8.0 (@dependabot - #86767
)  - Drop py39 from black target-version (@scop
- #86814 )  - Handle state unknown if last state is missing in Shelly (@thecode
- #86813 )  - Add D-link tests (@tkdrob
- #86825 )  - Add state class to nest legacy sensors (@luca-angemi
- #86810 )  - Bump ismartgate to 5.0.0 (@bdraco
- #86830 )  - Fix nest climate set temperature error message string (@allenporter
- #86852 )  - Nest improve error message on climate actions (@PeteRager
- #86853 )  - Correct stale doc string for MQTT tag platform (@jbouwh
- #86862 )  - Support 
native_precisionin Airly integration (@bieniu- #86843 )  - Add integration_type to geo_json_events (@exxamalte
- #86878 )  - Bump pytautulli from 21.11.0 to 23.1.1 (@ludeeus
- #86891 )  - Revert “Mark repo as safe directory to git config (#83755)” (@ludeeus
- #86888 )  - Use python defaults for comparing State, LazyState, and Event objects (@bdraco
- #86856 )  - Improve logging and handling when websocket gets behind (@bdraco
- #86854 )  - Bump aio_geojson_generic_client to 0.3 (@exxamalte
- #86918 )  - Update ruff to v0.0.237 (@frenck
- #86932 )  - Adjust D-Link entity naming (@tkdrob
- #86906 )  - Revert “Adjust D-Link entity naming” (@frenck
- #86936 )  - Enable Ruff SIM300 (@frenck
- #86793 )  - Small improvement to Withings tests (@frenck
- #86937 )  - Use device class ENUM for Accuweather pressure tendency sensor (@bieniu
- #86887 )  - Add Autofocus, IR lamp, and Wiper switches in ONVIF (@partofthething
- #84317 )  - Use 
native_precisioninstead ofroundin Accuweather (@bieniu- #86869 )  - Add type hints to http client fixtures (@epenet
- #86795 )  - Enable Ruff TRY004 (@frenck
- #86811 )  - Add configuration options to OpenAI integration (@bendews
- #86768 )  - Use more human-readable sensor names in Airly (@bieniu
- #86893 )  - Update actions/cache to v3.2.4 (@cdce8p
- #86943 )  - Avoid Nest climate set_temperature eating error (@PeteRager
- #86920 )  - Add Shelly Gen2 update entity for sleeping devices (@thecode
- #86837 )  - Remove some dead code from recorder (@emontnemery
- #86697 )  - Bump zwave-js-server-python to 0.45.0 (@raman325
- #86771 )  - Set synesthesiam as codeowner of conversation (@synesthesiam
- #86958 )  - Nest - Climate shorten line to be less than 88 chars (@PeteRager
- #86989 )  - Add support for Hue Smart Scenes (Natural Lights) (@marcelveldt
- #85517 )  - Add synesthesiam as a codeowner on intent (@synesthesiam
- #86998 )  - Cleanup code for parsing yaml MQTT config (@jbouwh
- #86944 )  - Fix tests typing helper (@epenet
- #86956 )  - Don’t run tests if ruff fails (@epenet
- #87003 )  - Fix typo in EnOcean (@nightscape
- #86868 )  - Rympro integration code fixes (@OnFreund
- #86734 )  - Separate the yolink garage door device from the door sensor (@matrixd2
- #84561 )  - Update AEMET-OpenData to v0.2.2 (@Noltari
- #87017 )  - Fix assert order in intent tests (@synesthesiam
- #87036 )  - Google Assistant SDK: platinum quality scale (@tronikos
- #86876 )  - Improve typing in unifi services (@epenet
- #87072 )  - Improve typing in philips_js coordinator (@epenet
- #87075 )  - Improve typing in plex services (@epenet
- #87078 )  - Type fixes for alexa entities (@epenet
- #87077 )  - Add enum util (@epenet
- #87082 )  - Improve typing in nest legacy platforms (@epenet
- #87071 )  - Proper handling of authentication errors in AVM Fritz!Tools (@mib1185
- #79434 )  - Improve Z-Wave.Me integration description (@PoltoS
- #87088 )  - Add numeric_state_expected property to Sensor class (@jbouwh
- #87013 )  - Fix a few cartesian products in recorder tests (@bdraco
- #87106 )  - Add unit conversion to Power sensors (@epenet
- #87136 )  - Ensure sensor and recorder converters align (@epenet
- #87138 )  - Update zwave-me-ws version to 0.3.1 (@lawfulchaos
- #87145 )  - Use try_parse_enum in integrations (@epenet
- #87085 )  - Update pylint to 2.16.0 (@cdce8p
- #87083 )  - Add author metadata for blueprints (@piitaya
- #87070 )  - Update black to 23.1.0 (@frenck
- #87188 )  - Prevent overly large attributes from being stored in the database (@bdraco
- #87105 )  - Cleanup coordinator in motion blinds (@epenet
- #87185 )  - Address late review on readability sensor code (@jbouwh
- #87111 )  - Adjust IoT Class of Reolink to local push (@frenck
- #87206 )  - Use template selector for prompt template in OpenAI (@frenck
- #87205 )  - Improve type hints in onvif (@epenet
- #87184 )  - Improve type hints in template (@epenet
- #87172 )  - Add ability to generate development translations for all integrations (@frenck
- #87197 )  - Add modbus min/max values (@GrahamJB1
- #86131 )  - Adjust hass_client type hint in integration tests (@epenet
- #86954 )  - Improve typing in ihc util (@epenet
- #87069 )  - Improve typing in ping binary sensor (@epenet
- #87073 )  - Improve typing in plaato (@epenet
- #87074 )  - Improve typing in script integration (@epenet
- #87076 )  - Improve type hints in Xiaomi Miio (@epenet
- #87167 )  - Improve type hints in whirlpool (@epenet
- #87169 )  - Improve type hints in transmission (@epenet
- #87171 )  - Improve type hints in saj (@epenet
- #87183 )  - Reolink simplify (@starkillerOG
- #87224 )  - Fix an extra quote typo in the percentage util (@Crisicus
- #87161 )  - Reduce required permissions for fritzbox_callmonitor (@cdce8p
- #87089 )  - Add Bosch SHC sensor state class (@tuct
- #86823 )  - Use SensorStateClass enum in sensor (@emontnemery
- #87066 )  - Fix schema typing on async_register_entity_service (@frenck
- #87250 )  - Fix 
can nottypo (@epenet- #87254 )  - Add type hints to configurator request_config (@epenet
- #87287 )  - Fix monetary state class in tibber (@basbruss
- #87274 )  - Ignore TAI8570 errors in onewire (@epenet
- #87154 )  - Sync input_select & select (@frenck
- #87255 )  - Add thread dataset store (@emontnemery
- #87187 )  - Improve type hints in homematicip_cloud (@epenet
- #87269 )  - Improve type hints in duckdns (@epenet
- #87270 )  - Add configurator to strict typing (@epenet
- #87279 )  - Add icons for prusalink sensors and buttons (@piitaya
- #87256 )  - Improve type hints in evohome (@epenet
- #87266 )  - Re-enabled Ruff E713 (@frenck
- #87301 )  - Optionally update sensor units when unit system is changed (@emontnemery
- #83851 )  - Re-enable Ruff D418 (@epenet
- #87302 )  - Improve type hints in google assistant (@epenet
- #87273 )  - Fix UoM and device_class in Trafikverket Weather (@gjohansson-ST
- #87308 )  - Improve type hints in edl21 (@epenet
- #87267 )  - Improve type hints in melcloud (@epenet
- #87264 )  - Fix geniushub type hint (@epenet
- #87258 )  - Improve type hints in cloud (@epenet
- #87263 )  - Add thread WS API (@emontnemery
- #87307 )  - Fix missing property in bosch_shc (@epenet
- #87260 )  - Bump UPB integration library to 0.5.3 (@gwww
- #86740 )  - Add type hints for MQTT common helper and fixtures (@jbouwh
- #87065 )  - Reolink add number platform (@starkillerOG
- #87217 )  - Add easyEnergy integration (@klaasnicolaas
- #86266 )  - Download/Update translations on build (@frenck
- #87289 )  - Bump azure-eventhub to 5.11.1 (@eavanvalkenburg
- #87175 )  - Update pip constraint to 23.1 (@cdce8p
- #87331 )  - Add WS commands thread/list_datasets, thread/get_dataset_tlv (@emontnemery
- #87333 )  - Rename zwave_js ws API command (@raman325
- #87336 )  - Update coverage to 7.1.0 (@frenck
- #87328 )  - Update whois to 0.9.27 (@frenck
- #87305 )  - Add Shelly Pro 3EM energy sensors (@thecode
- #86476 )  - Late review on added type hint MQTT fixture (@jbouwh
- #87342 )  - Enable Ruff D212 (@frenck
- #87347 )  - Collection of code styling tweaks (@frenck
- #87344 )  - Remove use of Number DEVICE_CLASSES_SCHEMA from MQTT (@frenck
- #87345 )  - Add support for multiple conversation agents (@balloob
- #87337 )  - Tiny cleanup in Number base entity (@frenck
- #87339 )  - Bump zwave-js-server-python to 0.45.1 (@raman325
- #87309 )  - Store preferred dataset separately in thread dataset store (@emontnemery
- #87378 )  - Fix typing issue in easyEnergy (@frenck
- #87371 )  - Fix accidentally introduced breaking change in number entity (@frenck
- #87383 )  - Collection of code styling tweaks (@frenck
- #87381 )  - Ensure hass is typed (@epenet
- #87068 )  - Update Ruff to 0.0.241 (@akx
- #87386 )  - Move sensor rounding to frontend (@emontnemery
- #87330 )  - Ensure recorder api aligns with sensor converters (@epenet
- #87257 )  - Add repeat options to tplink sequence effect service (@wparker42
- #86040 )  - Refactor onewire options flow (@epenet
- #87162 )  - Simplify zwave_js code (@raman325
- #87235 )  - Add Z-Wave.Me cover stop command (@PoltoS
- #87428 )  - Use official unit of measure for Lux in wiffi component (@mampfes
- #87377 )  - Add log for successful update in no ip (@camsaway
- #87441 )  - Refactor async_call_later to improve performance and reduce conversion loss (@krahabb
- #87117 )  - Use pybalboa 1.0.0 (@natekspencer
- #87214 )  - Update elgato to 4.0.1 (@frenck
- #87479 )  - Add RF region property to zwave_js/network_status cmd (@raman325
- #87236 )  - Refactor tradfri switch tests (@MartinHjelmare
- #86816 )  - Coordinator refactor in Elgato (@frenck
- #87490 )  - Fix emulated hue SO_REUSEPORT when creating the upnp socket for proper sharing (@spatula75
- #86916 )  - Update xknx to 2.4.0 - Support KNX Data Secure (@farmio
- #87502 )  - Adjust matter test exception argument (@MartinHjelmare
- #87282 )  - Use suggested_display_precision for AsusWrt sensors (@ollo69
- #87396 )  - Add init return type to integrations (@epenet
- #87523 )  - Cleanup not used schema validator for MQTT vacuum (@jbouwh
- #87462 )  - Correct type hints mqtt_client_mock and move new generator type (@jbouwh
- #87527 )  - Remove translations from Core (@frenck
- #87543 )  - Ensure init return type is None (@epenet
- #87521 )  - Xiaomi 2S air purifier mode selection support (@kirill578
- #86649 )  - TP-Link Omada integration (@MarkGodwin
- #81223 )  - Bump greeclimate to 1.4.1 (@cmroche
- #87513 )  - Fix notify targets for bmw_connected_drive (@rikroe
- #87503 )  - Remove use of HomeAssistantType (@epenet
- #87525 )  - Velbus raise PlatformNotReady exception (@Cereal2nd
- #87526 )  - Fix pypi package translations + add translation build artifacts (@frenck
- #87548 )  - Bump velbus-aio to 2023.2.0 (@Cereal2nd
- #87562 )  - Use correct state in Entity repr and output similar value to State class (@balloob
- #87519 )  - Comment lack of rounding in AlexaTemperatureSensor (@emontnemery
- #87561 )  - Update example data to define 
inas a dictionary (@mehuman- #87557 )  - Remove default:0 from duration for timer.start service (@karwosts
- #87553 )  - Pin platformdirs to resolve dependency conflict (@cdce8p
- #87589 )  - Add Matter to supported standards for brands (@balloob
- #87564 )  - Update mypy to 1.0.0 (@cdce8p
- #87586 )  - Support local push updates for most ScreenLogic entities (@dieselrabbit
- #87438 )  - Enable 
local_partial_typesfor strict typing [mypy] (@cdce8p- #86409 )  - Add Self typing (2) [mypy 1.0] (@cdce8p
- #87599 )  - Add Self typing (1) [mypy 1.0] (@cdce8p
- #87598 )  - Add Self typing (3) [mypy 1.0] (@cdce8p
- #87600 )  - Add Self typing (4) [mypy 1.0] (@cdce8p
- #87601 )  - Add 
suggested_display_precisionconfig option for MQTT sensor (@jbouwh- #87129 )  - Refactor NAM sensor platform (@bieniu
- #87048 )  - Check return and mqtt fixtures typing in tests (@epenet
- #87607 )  - Add return type to async tests without arguments (@epenet
- #87612 )  - Enable error-code 
truthy-iterable[mypy 1.0] (@cdce8p- #87596 )  - Fix handling 
Noneor empty value for numeric MQTT sensor (@jbouwh- #87004 )  - Add caplog to known fixtures in pylint plugin (@epenet
- #87617 )  - Cleanup 
value_templateconfig parameter from MQTT basic light (@jbouwh- #87466 )  - Fix namespace issue in pylint plugin (@epenet
- #87627 )  - Update unit system unit conversions (@emontnemery
- #87621 )  - Enable error-code 
redundant-self[mypy 1.0] (@cdce8p- #87602 )  - Add return type to tests without arguments (@epenet
- #87613 )  - Remove unused function in slack tests (@epenet
- #87618 )  - Cleanup remains of legacy validation MQTT light (@jbouwh
- #87467 )  - Add ecobee ventilator (@marcolivierarsenault
- #83645 )  - Add typing to tests with single hass argument (@epenet
- #87631 )  - Add rest to strict-typing (@epenet
- #86149 )  - Show diff on ruff failure [ci] (@cdce8p
- #87635 )  - Add init return type to integrations (@epenet
- #87637 )  - Add ParamSpec TypeAliases [mypy 1.0] (@cdce8p
- #87597 )  - Rename fixture function in stt tests (@epenet
- #87630 )  - Add CI job which runs recorder tests on PostgreSQL (@emontnemery
- #80614 )  - Add lru cache to loading fixtures in tests (@frenck
- #87634 )  - Add return type to json_loads (@epenet
- #85672 )  - Align postgresql with mariadb in CI (@epenet
- #87646 )  - Tweak Elgato tests (@frenck
- #87629 )  - Add color support to matter lights (@ArturoGuerra
- #87366 )  - Use library data to map state class for ScreenLogic (@dieselrabbit
- #87649 )  - Mark ESPHome update entity unavailable when device is offline (@frenck
- #87576 )  - Add myself as codeowner for emulated_hue (@Tho85
- #87659 )  - Fix incorrect unique_id for BLE HomeKit devices (@Jc2k
- #87550 )  - Add typing to tests with single hass argument (2) (@epenet
- #87675 )  - Replace global test markers with fixtures in Synology DSM tests (@frenck
- #87678 )  - Add battery sensor to Elgato (@frenck
- #87680 )  - Enable Ruff PT002, PT003 (@frenck
- #87686 )  - Add more fixtures to pylint plugin (@epenet
- #87685 )  - Replace global test markers with fixtures in Devolo home control tests (@frenck
- #87676 )  - Update unit system unit conversions (@emontnemery
- #87632 )  - Add entity descriptions in Elgato buttons (@frenck
- #87656 )  - Add type hints on common MQTT tests (@jbouwh
- #87299 )  - Add studio mode switch to Elgato (@frenck
- #87691 )  - Remove sneaked in translation from TP-Link Omada (@frenck
- #87695 )  - Add type hints to integration tests (a) (@epenet
- #87684 )  - Add type hints to integration tests (d-e) (@epenet
- #87699 )  - Add type hints to integration tests (f-g) (@epenet
- #87700 )  - Include entity options in RegistryEntry.as_partial_dict (@emontnemery
- #87539 )  - Upgrade SQLAlchemy to 2.0.2 (@emontnemery
- #86436 )  - Add common area, device, entity and issue registry test fixtures (@frenck
- #87694 )  - Add type hints to integration tests (m-p) (@epenet
- #87705 )  - Add type hints to integration tests (q-s) (@epenet
- #87706 )  - Add hass and 
Nonereturn type on MQTT platform tests (@jbouwh- #87713 )  - Add type hints to integration tests (b-c) (@epenet
- #87698 )  - Add type hints to integration tests (h-i) (@epenet
- #87703 )  - Refactor tradfri cover tests (@MartinHjelmare
- #87710 )  - Add type hints to integration tests (j-m) (@epenet
- #87704 )  - Add type hints to integration tests (t-z) (@epenet
- #87707 )  - Create or import thread active dataset when setting up OTBR (@emontnemery
- #87186 )  - Sort manifests 11 (@emontnemery
- #87032 )  - Sort manifests 8 (@emontnemery
- #87029 )  - Sort manifests 2 (@emontnemery
- #87023 )  - Sort manifests 3 (@emontnemery
- #87024 )  - Sort manifests 9 (@emontnemery
- #87030 )  - Sort manifests 4 (@emontnemery
- #87025 )  - Clean up unnecessary registry mocks from Core tests (@frenck
- #87726 )  - Sort manifests 1 (@emontnemery
- #87022 )  - Sort manifests 7 (@emontnemery
- #87028 )  - Sort manifests 5 (@emontnemery
- #87026 )  - Sort manifests 6 (@emontnemery
- #87027 )  - Sort manifests 10 (@emontnemery
- #87031 )  - Add type hints for MQTT discovery tests (@jbouwh
- #87425 )  - Enforce sorting of manifests (@emontnemery
- #87020 )  - Use matrix for db recorder tests (@epenet
- #87640 )  - Remove platformdirs constraint (@cdce8p
- #87735 )  - Bump aiolifx to 0.8.8 (@Djelibeybi
- #87729 )  - Add more type hints to conftest (@epenet
- #87737 )  - Revert “Bump aiolifx to 0.8.8” (@bdraco
- #87740 )  - Fix matter color temperature light (@ArturoGuerra
- #87677 )  - Clean up unnecessary registry mocks from helpers (@frenck
- #87734 )  - Clean up unnecessary registry mocks from mqtt tests (@frenck
- #87728 )  - Clean up unnecessary registry mocks from scaffolding templates (@frenck
- #87732 )  - Stub I/O when loading registries in tests (@balloob
- #87744 )  - Improve migration tests to use MariaDB / PostgreSQL database (@emontnemery
- #87753 )  - Improve recorder tests to use MariaDB / PostgreSQL (@emontnemery
- #87756 )  - Add more type hints to conftest (@epenet
- #87755 )  - Add reolink https webhook warning (@starkillerOG
- #87332 )  - Apply MQTT fixture types on platform tests (@jbouwh
- #87722 )  - Turn back off test_shutdown_before_startup_finishes test on MySQL (@bdraco
- #87761 )  - Trigger full CI on recorder test changes (@frenck
- #87764 )  - Clean up unnecessary registry mocks from integration tests (@frenck
- #87763 )  - Refactor onewire options flow tests (@epenet
- #87711 )  - Apply registry type hints on mqtt platform tests (@epenet
- #87758 )  - Allow pytest to start before black finishes (@epenet
- #87770 )  - Add type hints to diagnostics test helper (@epenet
- #85494 )  - Bump lupupy to 0.2.8 (@majuss
- #87754 )  - Round value in state_with_unit template function (@emontnemery
- #87619 )  - Enable pydantic mypy plugin (@cdce8p
- #87415 )  - Enable Ruff ICN001 (@frenck
- #87775 )  - Skip db locking test with postgresql/MySQL (@bdraco
- #87760 )  - Add missed type hints on MQTT platform tests (@jbouwh
- #87781 )  - Disable test_migration_in_progress on MySQL (@bdraco
- #87765 )  - Disable test_entity_ids on MariaDB (@bdraco
- #87766 )  - Change name to entity_id for lock validation error message (@gjohansson-ST
- #87574 )  - Add type hints to integration tests (part 1) (@epenet
- #87777 )  - Add type hints tests MQTT config_flow (@jbouwh
- #87783 )  - Bump renault-api to 0.1.12 (@epenet
- #87773 )  - Improve coverage MQTT device_trigger (@jbouwh
- #87408 )  - Terminate stale MySQL connections at the end of test runs (@bdraco
- #87794 )  - Always use UTC time for the MariaDB/MySQL session (@bdraco
- #87583 )  - Really ensure recorder test fixture is setup before hass fixture (@emontnemery
- #87796 )  - Fix circular import loop in homeassistant/helpers/entity.py (@emontnemery
- #87780 )  - Migrate statistics to use timestamp columns (@bdraco
- #87321 )  - Move EntityCategory to homeassistant.const (@emontnemery
- #87792 )  - Bump motionblinds to 0.6.16 (@starkillerOG
- #87782 )  - Add reauthentication support to Yale Access Bluetooth (@bdraco
- #87719 )  - Ensure MySQL tests cleanup connections and raise an exception if they do not (@bdraco
- #87767 )  - Give users a hint that their bluetooth adapter has been ignored (@bdraco
- #87727 )  - Optimize fetching weekly/monthly/yearly statistics (@bdraco
- #87747 )  - Add HassGetState intent for queries (@synesthesiam
- #87808 )  - Add 
has_firmware_update_ccbool to zwave_js/node_status cmd (@raman325- #87310 )  - Reorganize manifest scaffold (@Lash-L
- #87819 )  - Bump actions/cache from 3.2.4 to 3.2.5 (@dependabot - #87825
)  - Fix Fully Kiosk Browser merging entities when MAC empty (@mheath
- #87743 )  - Improve recorder type hints in tests (@epenet
- #87826 )  - Add type hints to requests_mock (@epenet
- #87757 )  - Add type hints to integration tests (part 3) (@epenet
- #87844 )  - Add type hints to integration tests (part 2) (@epenet
- #87789 )  - Add MockHAClientWebSocket test helper (@epenet
- #87832 )  - Optimize fetching statistics by avoiding timestamp conversions (@bdraco
- #87845 )  - Add type hints to MQTT init tests (@jbouwh
- #87402 )  - Add missed type hint on MQTT device tracker test (@jbouwh
- #87847 )  - Add support for Govee H5198 (@Ernst79
- #87864 )  - Add type hints to integration tests (part 4) (@epenet
- #87848 )  - Delete empty typescript file in repository root (@ludeeus
- #87873 )  - Add more type hints to conftest.py (@epenet
- #87842 )  - Optimize fetching statistics by avoiding recalculating time boundaries (@bdraco
- #87859 )  - Replace fiblary3 with pyfibaro library (@rappenze
- #83500 )  - Bump sqlalchemy to 2.0.3 (@bdraco
- #87913 )  - Reduce overhead to see if an entity is recorded (@bdraco
- #87912 )  - Optimize _sorted_statistics_to_dict to avoid checking which types each loop (@bdraco
- #87901 )  - Cache try_parse_enum (@bdraco
- #87911 )  - Add support for dormakaba dKey locks (@emontnemery
- #87501 )  - Fix typo in requires-python hassfest error message (@dtrodrigues
- #87896 )  - Bump reolink-aio to 0.4.1 (@starkillerOG
- #87933 )  - Bump py-dormakaba-dkey to 1.0.2 (@emontnemery
- #87935 )  - Speed up selecting which statistics to compile (@bdraco
- #87938 )  - Bump incomfort client library to 0.5.0 (@zxdavb
- #87877 )  - Improve Google Calendar config flow error message when API disabled (@allenporter
- #87889 )  - Speed up loops with jinja templates (@bdraco
- #87945 )  - Bump gridnet to v4.2.0 (@klaasnicolaas
- #87903 )  - Enable strict typing for the dormakaba_dkey integration (@emontnemery
- #87934 )  - Add type hints to integration tests (part 5) (@epenet
- #87850 )  - Small code improvements fibaro integration (@rappenze
- #87949 )  - Small cleanups to template helper (@bdraco
- #87944 )  - Update growatt_server owners (@muppet3000
- #87804 )  - Speed up template lru_caches (@bdraco
- #87942 )  - Bump pymodbus to v3.1.3 (@janiversen
- #87841 )  - Bump wiffi to 1.1.2 (@mampfes
- #87798 )  - Make mqtt discovery use callback functions (@bdraco
- #87883 )  - Make mqtt websocket subscribe use callback functions (@bdraco
- #87885 )  - Fix kegtron state class for volume sensors (@Ernst79
- #87950 )  - Optimize mqtt matchers (@bdraco
- #87853 )  - Avoid creating a task when waiting for the MQTT mid (@bdraco
- #87887 )  - Improve MQTT 
Callabletype hints (@jbouwh- #87838 )  - Use PidfdChildWatcher by default when available (@bdraco
- #87951 )  - Bump bthome-ble to 2.5.2 (@Ernst79
- #87862 )  - Netgear allow to remove old devices (@starkillerOG
- #87849 )  - Complete partly implemented type hints for 
dicton MQTT platforms (@jbouwh- #87839 )  - Remove deprecated fibaro yaml config (@rappenze
- #87939 )  - The recorder/statistic(s)_during_period websocket API now require the statistic_id(s) field (@bdraco
- #87937 )  - Bump zwave-js-server-python to 0.45.2 (@raman325
- #87822 )  - Rework user_input check in config flow scaffold (@Lash-L
- #87820 )  - Change name to entity_id update platform error messages (@gjohansson-ST
- #87960 )  - Bump pydaikin 2.9.0 (@racsa1
- #87067 )  - Change name to entity_id Number platform error messages (@gjohansson-ST
- #87961 )  - Change name to entity_id Select platform error messages (@gjohansson-ST
- #87962 )  - Add recorder engine name and version to analytics (@ludeeus
- #87784 )  - Add type hints to integration tests (part 6) (@epenet
- #87979 )  - Add type hints to integration tests (part 7) (@epenet
- #87980 )  - Fix sensor unit conversion (@emontnemery
- #87978 )  - Add type hints to integration tests (part 10) (@epenet
- #87985 )  - Add dormakaba_dkey battery sensor (@emontnemery
- #87975 )  - Add type hints to integration tests (part 8) (@epenet
- #87982 )  - Reolink late review comments (@starkillerOG
- #87991 )  - Add more entities for Elgato Key Light Mini (@frenck
- #87793 )  - Add type hints to integration tests (part 9) (@epenet
- #87983 )  - Add homeassistant.reload_all service (@frenck
- #87769 )  - Change geniushub codeowner (@zxdavb
- #87918 )  - Correct typing on hass_storage fixure (@jbouwh
- #87986 )  - Update pytest-asyncio to 0.20.3 (@frenck
- #87995 )  - Add support for 4 MPTT inverter (@mletenay
- #86901 )  - Change name to entity_id Text platform error messages (@gjohansson-ST
- #87963 )  - Add type hints to integration tests (part 12) (@epenet
- #87997 )  - Adjust suggested_display_precision according to unit conversion (@emontnemery
- #87614 )  - Add type hints to integration tests (part 11) (@epenet
- #87996 )  - Make all history stats tests async (@balloob
- #87973 )  - Add type hints to integration tests (part 13) (@epenet
- #87998 )  - Add mariadb 10.6.10 to database tests (@epenet
- #87989 )  - Avoid subprocess memory copy when c library supports posix_spawn (@bdraco
- #87958 )  - Refactor tradfri fan tests (@MartinHjelmare
- #87999 )  - Refactor tradfri diagnostics tests (@MartinHjelmare
- #88017 )  - Bump aiohttp to 3.8.4 (@bdraco
- #88032 )  - Increase test scope of MariaDB + PostgreSQL tests (@emontnemery
- #87019 )  - Add mjpeg camera stream_source (@shmuelzon
- #86908 )  - Add mariadb 10.3.32 to database tests (@epenet
- #87741 )  - Add support for telnet connections for Denonavr integration (@dcmeglio
- #85980 )  - Fix new stats rows creating data in the old created column (@bdraco
- #88013 )  - Restore original aiohttp cancelation behavior (@bdraco
- #88046 )  - Keep task references while running (@balloob
- #87970 )  - Bump zeroconf to 0.47.3 (@bdraco
- #88045 )  - Bump dbus-fast to 1.84.1 (@bdraco
- #88042 )  - Bump home-assistant-bluetooth to 1.9.3 (@bdraco
- #88051 )  - Add dormakaba_dkey door and dead bolt binary sensors (@emontnemery
- #87990 )  - Cleanup renault services (@epenet
- #88064 )  - Update xknx to 2.5.0 (@farmio
- #88069 )  - Refactor tradfri sensor tests (@MartinHjelmare
- #88026 )  - Add a calendar entity to Ridwell (@bachya
- #86117 )  - Fix Tibber stats (@Danielhiversen
- #88025 )  - Change DeviceAutomationDetails to use a dataclass for py3.11 (@bdraco
- #88087 )  - Fix group integration with py3.11 (@bdraco
- #88089 )  - Fix apple tv untracked task (@MartinHjelmare
- #88102 )  - Shorten tplink update cycle (@rytilahti
- #87399 )  - Fix unifiprotect with python 3.11 (@bdraco
- #88101 )  - Fix sleepiq with python 3.11 (@bdraco
- #88098 )  - Fix invalid spec in mqtt tests for py3.11 (@bdraco
- #88092 )  - Prefer effect over other light settings for tplink (@rytilahti
- #85642 )  - Fix forked_daapd integration with py3.11 (@bdraco
- #88091 )  - Fix hassio integration with py3.11 (@bdraco
- #88090 )  - Fix cloud integration with py3.11 (@bdraco
- #88088 )  - Fix rmvtransport integration with py3.11 (@bdraco
- #88094 )  - Add strict typing to yalexs_ble (@bdraco
- #88086 )  - Revert “Add a calendar entity to Ridwell (#86117)” (@bachya
- #88106 )  - Bump pydeconz to v107 (@Kane610
- #88114 )  - Fix august untracked task (@MartinHjelmare
- #88107 )  - Fix zwave_me tests with python 3.11 (@bdraco
- #88122 )  - Fix vera tests with python3.11 (@bdraco
- #88124 )  - Fix wemo tests with py3.11 (@bdraco
- #88123 )  - Graphite flaky test fix (@balloob
- #88115 )  - Fix apprise tests for python 3.11 (@bdraco
- #88126 )  - Fix twentemilieu diagnostics with python 3.11 (@bdraco
- #88121 )  - Bump arcam dependency to 1.2.1 (@elupus
- #88125 )  - Fix race on check MQTT subscriptions (@jbouwh
- #88117 )  - Replace Fitbit weight SensorStateClass measurement with total (@sw-carlos-cristobal
- #88118 )  - Fix exception ordering in yeelight for python 3.11 (@bdraco
- #88134 )  - Bump pyunifiprotect to 4.7.0 for python 3.11 (@bdraco
- #88130 )  - Fix enum try_parse test for python3.11 (@bdraco
- #88131 )  - Move denonavr state update callbacks to async_added_to_hass (@dcmeglio
- #88147 )  - Fix typo in OpenAI prompt (@bdr99
- #88137 )  - Bump docker base to 2023.02.0 (@bdraco
- #88084 )  - Fix doc string in mqtt test (@jbouwh
- #88138 )  - Add type hints to integration tests (part 15) (@epenet
- #88006 )  - Add support for 
triple_pushevent for Shelly gen2 devices (@bieniu- #88081 )  - Do not reload Shelly TRV entry when not needed (@bieniu
- #88037 )  - Add type hints to integration tests (part 14) (@epenet
- #88005 )  - Fix incorrect reference to json WriteError (@epenet
- #88161 )  - Add note on always subscribing to the MQTT broker when topics are shared (@jbouwh
- #88159 )  - Add type hints to integration tests (part 16) (@epenet
- #88008 )  - Support Fully Kiosk Browser device discovery via MQTT (@mheath
- #88109 )  - Add type hints to integration tests (part 17) (@epenet
- #88163 )  - Enable Ruff SIM118 (@frenck
- #87772 )  - Fix mobile app regression accepting sensor states (@epenet
- #88164 )  - Fix netatmo with python 3.11 (@bdraco
- #88093 )  - Enable Ruff PT006 (@frenck
- #88165 )  - Remove invalid pragma: no cover (@epenet
- #88173 )  - Enable Ruff SIM201 (@frenck
- #88171 )  - Expose DEVICE_CLASS_STATE_CLASSES sensor constant (@epenet
- #88172 )  - Adjust imports in rflink test_init (@epenet
- #88177 )  - Add WS command for discovering Thread routers (@emontnemery
- #88021 )  - Enable Ruff SIM212 (@frenck
- #88181 )  - Add type hints to integration tests (part 20) (@epenet
- #88179 )  - Remove uamqp version constrain (@frenck
- #88176 )  - Do not round Huawei LTE LTE frequency values (@scop
- #88127 )  - Add postgresql 12.14 to database tests (@epenet
- #88071 )  - Fix otbr tests (@emontnemery
- #88184 )  - Disable profiler.memory service with python 3.11 (@bdraco
- #88136 )  - Allow resetting MQTT climate attributes and ignore empty values (@jbouwh
- #87936 )  - Increase database test timeout (@bdraco
- #88187 )  - Support HomeKit Controller Thread Provisioning (@Jc2k
- #87809 )  - Add type hints to integration tests (part 19) (@epenet
- #88178 )  - Account for changed python3.11 enum.IntFlag 0 behavior in zha (@bdraco
- #88144 )  - Add WS command thread/delete_dataset (@emontnemery
- #88077 )  - Fix aprs tests with python 3.11 (@bdraco
- #88189 )  - Let black infer target-version (@scop
- #88199 )  - Constrain uamqp for Python 3.10 only (@frenck
- #88198 )  - Update Ruff to v0.0.247 (@frenck
- #88210 )  - Bump voluptuous-serialize to 2.6.0 (@eifinger
- #88211 )  - Update pyfibaro to version 0.6.8 (@rappenze
- #88203 )  - Fix allowing identical flows to be created before startup (@bdraco
- #88213 )  - Refactor zeroconf task handling (@bdraco
- #88204 )  - Fix capitalization of OwnTone integration (@bdr99
- #88219 )  - Add type hints to integration tests (part 21) (@epenet
- #88233 )  - Update typing-extensions to 4.5.0 (@frenck
- #88236 )  - Inverse json import logic (@epenet
- #88099 )  - Drop unnecessary copy from entitydescription.name to _attr_name (@emontnemery
- #88251 )  - Update pydantic to 1.10.5 (@cdce8p
- #88250 )  - Add type hints to integration tests (part 22) (@epenet
- #88234 )  - Bump vulcan-api to 2.3.0 for python 3.11 (@bdraco
- #88254 )  - Bump python-matter-server to 2.1.1 (@marcelveldt
- #88258 )  - Fix restore of MQTT subscriptions from reload (@bdraco
- #88220 )  - Fix default value for departure time in google_travel_time (@eifinger
- #88255 )  - Speed up formatting statistics data (@bdraco
- #88228 )  - Add python 3.11 to the CI (@bdraco
- #88038 )  - Replace deprecated SSLContext constant PROTOCOL_TLS in mqtt (@jbouwh
- #88214 )  - Stop processing when we hit bad encryption in mobile app (@balloob
- #88150 )  - Add JSON support to load_fixture (@epenet
- #88076 )  - Bump aiosomecomfort to 0.0.8 (@mkmer
- #88195 )  - Speed up compiling hourly statistics (@bdraco
- #88225 )  - Use blocking in intent service calls and verify results (@synesthesiam
- #88035 )  - Refactor json tests to align with new code (@epenet
- #88247 )  - Switch yalexs_ble to use no_devices_found (@bdraco
- #88267 )  - Switch switchbot to use no_devices_found (@bdraco
- #88268 )  - Switch led_ble to use no_devices_found (@bdraco
- #88269 )  - Switch keymitt_ble to use no_devices_found (@bdraco
- #88271 )  - Switch ld2410_ble to use no_devices_found (@bdraco
- #88270 )  - Add support for background tasks in HA (@balloob
- #88265 )  - Implement Switchbot Blind Tilt (@jesserockz
- #86591 )  - Fix dangling task for unifiprotect (@balloob
- #88300 )  - Fix dangling task for zha (@balloob
- #88302 )  - Fix dangling task for sonos (@balloob
- #88298 )  - Fix dangling task for homekit (@balloob
- #88289 )  - Cleanup stale recorder code (@bdraco
- #88275 )  - Fix handling of dns resolution failure during sense setup (@bdraco
- #88279 )  - Fix dangling task for elkm1 (@balloob
- #88286 )  - Fix dangling task for homeassistant integration (@balloob
- #88288 )  - Fix dangling task for google (@balloob
- #88287 )  - Bump ha-ffmpeg to 3.1.0 (@bdraco
- #88304 )  - Fix sleepiq test to not contact the API (@emontnemery
- #88315 )  - Adjust async_setup_entry in config_flow scaffold (@epenet
- #88319 )  - Fix incorrect condition for atmospheric_pressure (@epenet
- #88320 )  - Fix recorder platform tests (@emontnemery
- #88330 )  - Fix dangling task for wiz (@balloob
- #88301 )  - Add type hints to integration tests (part 24) (@epenet
- #88307 )  - Add type hints to integration tests (part 23) (@epenet
- #88235 )  - Fix dangling task for roon (@balloob
- #88291 )  - Bump xiaomi-ble to 0.16.4 (@Ernst79
- #88333 )  - Add type hints to integration tests (part 25) (@epenet
- #88308 )  - Add additional characteristics for Airversa Homekit Air Purifiers (@dcmeglio
- #85660 )  - Fix dangling task for cast (@balloob
- #88285 )  - Add type hints to integration tests (part 18) (@epenet
- #88174 )  - Add type hints to integration tests (recorder) (@epenet
- #88313 )  - Add type hints to integration tests (zha) (@epenet
- #88309 )  - Detect when battery-powered Sonos devices are turned off (@jjlawren
- #87606 )  - Adjust json imports in tests (@epenet
- #88248 )  - Cleanup august binary sensors (@bdraco
- #88332 )  - Remove conditional test of self.hass from tplink_omada switch (@emontnemery
- #88325 )  - Fail tests which cause an SQLAlchemy warning (@emontnemery
- #88327 )  - Add background tasks to config entries (@balloob
- #88335 )  - Update pyfido to 2.1.2 (@frenck
- #88343 )  - Fix dangling task for crownstone (@balloob
- #88292 )  - Fix dangling task for mysensors (@balloob
- #88290 )  - Fix dangling task for insteon (@balloob
- #88293 )  - Fix dangling task for smart_meter_texas (@balloob
- #88297 )  - Fix dangling task for sense (@balloob
- #88296 )  - Fix dangling task for plum_lightpad (@balloob
- #88295 )  - Fix dangling task for squeezebox (@balloob
- #88299 )  - Fix dangling task for livisi (@balloob
- #88294 )  - Fix dangling task for bluetooth_le_tracker (@balloob
- #88284 )  - Dismiss discoveries when the underlying device disappears (@bdraco
- #88340 )  - Only expose default cloud domains in Assist default agent (@synesthesiam
- #88274 )  - Add support for snapshot testing (@frenck
- #88323 )  - Do not try to run DB jobs if there are no target groups (@ludeeus
- #88352 )  - Use ubuntu-20.04 for Ruff lint job (@ludeeus
- #88355 )  - Hold strong references to tasks in WLED (@frenck
- #88257 )  - Change core return code processing (@modrisb
- #88326 )  - Enable Ruff B007 (@frenck
- #88356 )  - Fix danglin task for util.timeout (@balloob
- #88366 )  - Sync pytest job needs [ci] (@cdce8p
- #88363 )  - Ensure doorbird always prefers internal url (@bdraco
- #88369 )  - Update mypy to 1.0.1 (@cdce8p
- #88361 )  - Make recorder platform attribute exclude integration aware (@bdraco
- #88357 )  - Make use of new background task in arcam_fmj (@elupus
- #88351 )  - Speed up formatting history data (@bdraco
- #88230 )  - Allow user FKB config flow to take precendence (@mheath
- #88281 )  - Handle key change in Yale Access Bluetooth after first connect (@bdraco
- #88282 )  - Code quality/test improvement to available attributes of LiteJet (@joncar
- #86683 )  - Change state class of weight sensors from total to measurement (@emontnemery
- #88314 )  - Bump devolo_plc_api to 1.2.0 (@Shutgun
- #88348 )  - Fix goodwe text(enum) sensors device class (@mletenay
- #87914 )  - Use entity_sources to determine integration in recorder platforms (@emontnemery
- #88382 )  - Enable Ruff B014 (@frenck
- #88377 )  - Fix snapshots testing repr 0 value IntFlags (@frenck
- #88379 )  - Add type hints to integration tests (zwave_js) (@epenet
- #88311 )  - Insteon scenes (@teharris1
- #87803 )  - Update use of sqlalchemy with_variant (@emontnemery
- #88395 )  - Drop sqlachemy_utils workaround (@emontnemery
- #88393 )  - Only build the recorder SupportedDialect enum once (@bdraco
- #88402 )  - Use a single session to compile statistics (@bdraco
- #88405 )  - Enable Ruff RUF006; Hard reference to asyncio.create_task return value (@frenck
- #88216 )  - Update python-kasa to 0.5.1 (@rytilahti
- #88416 )  - Update rokuecp to 0.17.1 (@ctalkington
- #88425 )  - Update keymitt dependency (@spycle
- #88430 )  - Adjust recorder LRU cache to align with the number of entities (@bdraco
- #88350 )  - Add uchardet-dev to Wheels build deps (@frenck
- #88449 )  - Update pipdeptree to 2.5.0 (@frenck
- #88390 )  - Bump motionblinds to 0.6.17 (@starkillerOG
- #88450 )  - Cleanup mypy ignore list feature (@KapJI
- #88451 )  - Make the recorder LRU adjustment threadsafe (@bdraco
- #88443 )  - Refactor Elgato tests (@frenck
- #88376 )  - Fix incorrect created and created_ts columns in statistics database schema (@bdraco
- #88462 )  - Fix most recent states query not using the index for group by (@bdraco
- #88461 )  - Fix statistics_at_time query not using index (@bdraco
- #88460 )  - Fix using MariaDB slow range select workaround with Postgresql (@bdraco
- #88459 )  - Refactor EnergyZero tests (@frenck
- #88458 )  - Refactor Whois tests (@frenck
- #88456 )  - Cleanup use of test fixtures in LaMetric tests (@frenck
- #88453 )  - Load pending state attributes and event data ids at startup (@bdraco
- #88444 )  - Improve conversation typing (@cdce8p
- #88440 )  - Disable vulcan (@balloob
- #88466 )  - Fix Vulcan break CI (@balloob
- #88469 )  - Add missing device class triggers (@epenet
- #88316 )  - Move connect method into a task (@janiversen
- #88452 )  - Remove Audio Content Restrictions From vlc_telnet (@alanedwardes
- #86821 )  - Add more tests for APC UPS Daemon integration (@yuxincs
- #85967 )  - ESPHome: Add additional field for current temperature precision (@jesserockz
- #88464 )  - Bump lupupy to 0.3.0 (@majuss
- #88473 )  - Add type hints to core tests (@epenet
- #88478 )  - Add type hints to integration tests (@epenet
- #88476 )  - Bump zeversolar to 0.3.1 (@kvanzuijlen
- #88386 )  - Cleanups in WLED tests (@frenck
- #88480 )  - Update CI runner to ubuntu-22.04 (@cdce8p
- #88420 )  - Exclude event_id and event_score from being recorded in unifiprotect (@bdraco
- #88387 )  - Upload KNX Keyfile from Config/Options Flow directly (@farmio
- #88097 )  - Ensure new MariaDB/MySQL tables are created using the InnoDB engine (@bdraco
- #88468 )  - Allow parameterizing YAML config in tests (@jbouwh
- #87981 )  - Use 
suggested_display_precisioninstead of rounding in Shelly sensor platform (@bieniu- #87084 )  - Load custom sentences for language variations (en-us, etc.) (@synesthesiam
- #88498 )  - Avoid asking recorder platforms for list_statistic_ids when already complete (@bdraco
- #88495 )  - Update HomeKit VOC mappings (@emanuelst
- #87663 )  - Support templating for in state conditions (@emontnemery
- #88411 )  - Improve performance of websocket_api dispatch (@bdraco
- #88496 )  - Allow translation for data entry submit button (@bramkragten
- #88499 )  - Add 
state_class = MEASUREMENTto Derivative sensor (@carlos-sarmiento- #88408 )  - Remove previously deprecated Detected Object from unifiprotect (@bdraco
- #85656 )  - Invert trigger._PLATFORM_ALIASES (@emontnemery
- #88503 )  - Only do unit conversion of 
metelevation when set in config entry (@chrisx8- #88491 )  - Increase the maximum value for the transition parameter in the service hue.activate_scene (@vedard
- #88414 )  - Bump Axis to v47 (catch lingering tasks) (@Kane610
- #88508 )  - Bump pySwitchbot to 0.37.3 (@bdraco
- #88512 )  - Bump yalexs-ble to 2.0.2 (@bdraco
- #88513 )  - Disable circuits set as ‘Don’t Show’ in ScreenLogic by default (@dieselrabbit
- #88518 )  - Bump pydeconz to v108 (catch lingering tasks) (@Kane610
- #88510 )  - Support Ecobee climate Aux Heat on/off (@Lash-L
- #86100 )  - Bump zwave-js-server-python to 0.46.0 (@raman325
- #88520 )  - Extract goodwe data update coordinator to a separate module (@mletenay
- #88396 )  - Default 
hass_configto contain an empty config (@jbouwh- #88515 )  - Add type hints to integration tests (part 2) (@epenet
- #88493 )  - Add type hints to core tests (part 2) (@epenet
- #88492 )  - Bump pyairnow to 1.2.1 (@asymworks
- #88516 )  - Remove tibber monthly cost state class (@MartinHjelmare
- #88542 )  - Improve pjlink reliability (@JorgenEvens
- #80745 )  - Activate thread integration if thread border routers are present (@Jc2k
- #88551 )  - Update actions/cache to 3.2.6 (@cdce8p
- #88537 )  - Add esphome climate quiet fan mode (@MichaelMure
- #74303 )  - Bump nextdns to version 1.3.0 (@bieniu
- #88555 )  - Use device-native kelvins for tplink color temperature (@rytilahti
- #85646 )  - Add WS command config/entity_registry/list_for_display (@emontnemery
- #87787 )  - Only build the field_map once in recorder history (@bdraco
- #88529 )  - Restore vulcan integration (@bdraco
- #88556 )  - Add missing kelvin attributes to light recorder platform (@bdraco
- #88561 )  - Bump pyRFXtrx to 0.30.1 (@rhpijnacker
- #88538 )  - Remove deprecated callback support for MQTT subscribe (@jbouwh
- #88543 )  - Update entity registry snapshot serializer (@frenck
- #88566 )  - Fix logbook test that failed to exclude EVENT_HOMEASSISTANT_FINAL_WRITE (@bdraco
- #88568 )  - Constrain faust-cchardet to first version that builds wheels successfully (@bdraco
- #88563 )  - Bump hatasmota to 0.6.4 (@emontnemery
- #88565 )  - Fix stray prints seen inbetween tests (@emontnemery
- #88570 )  - Bump 
nettigo-air-monitorto version 2.1.0 (@bieniu- #88569 )  - Bump sqlalchemy to 2.0.4 (@bdraco
- #88574 )  - Switch shell_command to use async_timeout instead of asyncio.wait_for (@bdraco
- #88573 )  - Replace fire_coroutine_threadsafe with asyncio.run_coroutine_threadsafe (@bdraco
- #88572 )  - Update async_matching_config_entries to use async_get_integrations (@bdraco
- #88527 )  - Speed up loading non-english language translations (@bdraco
- #88553 )  - Update homekit to use async_get_integrations (@bdraco
- #88550 )  - Add typed helpers and improve type hints in util/json (@epenet
- #88534 )  - Add options flow for met (@chrisx8
- #88525 )  - Clean up tradfri import flow (@MartinHjelmare
- #88588 )  - Improve trigger platform typing (@emontnemery
- #88511 )  - Improve type hint in zwave_js trigger (@epenet
- #88597 )  - Use load_json_object in tellduslive (@epenet
- #88591 )  - Use load_json_object in nanoleaf (@epenet
- #88592 )  - Use load_json_object in ps4 (@epenet
- #88590 )  - Use load_json_object in matrix (@epenet
- #88587 )  - Improve type hint in homeassistant trigger (@epenet
- #88596 )  - Use load_json_object in html5 (@epenet
- #88586 )  - Use load_json_object in ecobee (@epenet
- #88584 )  - Bump Insteon dependencies (@teharris1
- #88514 )  - Add ZHA “consumer connected” binary sensor for Xiaomi EU plugs (@TheJulianJES
- #88194 )  - Add clarifying comment about unit of elevation (@emontnemery
- #88489 )  - Fix 500 error when getting calendar events (@albinmedoc
- #88276 )  - Fix cover template: optimistic mode is ignored (@ylemoigne
- #87925 )  - Add Reolink update entity (@starkillerOG
- #87865 )  - Bump intents package version; hassil==1.0.5; home-assistant-intents==2023.2.22 (@synesthesiam
- #88605 )  - Bump reolink-aio to 0.5.0 (@starkillerOG
- #88594 )  - Set default for 
hass_config_yamlfixture to “” (@jbouwh- #88608 )  - Diagnostics report for Thread networks (@Jc2k
- #88541 )  - Add new zwave_js WS command to parse DSK from QR code (@raman325
- #87237 )  - Update zwave_js FirmwareUploadView to support controller updates (@raman325
- #87239 )  - Add dsk option to zwave_js/add_node WS command (@raman325
- #87823 )  - Always include platform in 
config/entity_registry/list_for_display(@emontnemery- #88601 )  - Bump Freebox to 1.1.0 (@Quentame
- #88609 )  - Add controller support to 
zwave_js/subscribe_firmware_update_status(@raman325- #87348 )  - Update frontend to 20230222.0 (@bramkragten
- #88615 )  - Add devices to LiteJet (@joncar
- #88406 )  - Bump Météo-France to 1.2.0 (@Quentame
- #88617 )  - Bump python-matter-server to 3.0.0 (@marcelveldt
- #88607 )  - Bump ZHA quirks to 0.0.93 (@dmulcahey
- #88621 )  - Bump brother to 2.2.0 (@bieniu
- #88618 )  - Fix handling of HomeKit sources with unsafe characters (@bdraco
- #88280 )  - Disable the ZHA bellows UART thread when connecting to a TCP coordinator (@puddly
- #88202 )  - Add support for firmware target in zwave_js FirmwareUploadView (@raman325
- #88523 )  - Bump python-otbr-api to 1.0.4 (@emontnemery
- #88613 )  - Error checking for OTBR (@balloob
- #88620 )  - Bump reolink-aio to 0.5.1 and check if update supported (@starkillerOG
- #88641 )  - Fix untrapped exceptions during Yale Access Bluetooth first setup (@bdraco
- #88642 )  - Fix local calendar issue with events created with fixed UTC offsets (@allenporter
- #88650 )  - Add missing async_setup_entry mock in openuv (@epenet
- #88661 )  - Fix support for Bridge(d) and composed devices in Matter (@marcelveldt
- #88662 )  - Update frontend to 20230223.0 (@bramkragten
- #88677 )  - Name the Yellow-internal radio and multi-PAN addon as ZHA serial ports (@puddly
- #88208 )  - Bump mopeka_iot_ble to 0.4.1 (@bdraco
- #88680 )  - Make a copy of matching states so translated state names can be used (@synesthesiam
- #88683 )  - Bump aioesphomeapi to 13.4.1 (@bdraco
- #88703 )  - Fix migration failing when existing data has duplicates (@bdraco
- #88712 )  - Fix timeout in purpleapi test (@bdraco
- #88715 )  - Reduce overhead to save json data to postgresql (@bdraco
- #88717 )  - Update frontend to 20230224.0 (@bramkragten
- #88721 )  - Fix matter light color capabilities bit map (@ArturoGuerra
- #88693 )  - Update aioqsw v0.3.2 (@Noltari
- #88695 )  - Fix log message in recorder on total_increasing reset (@avee87
- #88710 )  - Bump total_connect_client to v2023.2 (@austinmroczek
- #88729 )  - Add missing reauth strings to Honeywell (@mkmer
- #88733 )  - Log futures that are blocking shutdown stages (@bdraco
- #88736 )  - Make hass.async_stop an untracked task (@bdraco
- #88738 )  - Prevent new discovery flows from being created when stopping (@bdraco
- #88743 )  - Remove homeassistant_hardware after dependency from zha (@ludeeus
- #88751 )  - Restore previous behavior of only waiting for new tasks at shutdown (@bdraco
- #88740 )  - Fix checking if a package is installed on py3.11 (@bdraco
- #88768 )  - Update nibe library to 2.0.0 (@elupus
- #88769 )  - Check circular dependencies (@balloob
- #88778 )  - Simplify reolink update unique_id (@starkillerOG
- #88794 )  - Do not block on reolink firmware check fail (@starkillerOG
- #88797 )  - Bump yalexs-ble to 2.0.4 (@bdraco
- #88798 )  - Fix unifiprotect discovery running at shutdown (@bdraco
- #88802 )  - Fix lock services not removing entity fields (@bdraco
- #88805 )  - Fix flux_led discovery running at shutdown (@bdraco
- #88817 )  - Prevent integrations from retrying setup once shutdown has started (@bdraco
- #88818 )  - Avoid starting a bluetooth poll when Home Assistant is stopping (@bdraco
- #88819 )  - Correct Plugwise gas_consumed_interval sensor (@bouwew
- #87449 )  - Catch CancelledError when setting up components (@emontnemery
- #88635 )  - Bump aiosomecomfort to 0.0.10 (@mkmer
- #88766 )  - Upgrade caldav to 1.1.3 (@stickpin
- #88681 )  - Upgrade caldav to 1.2.0 (@stickpin
- #88791 )  - Bump ZHA dependencies (@puddly
- #88799 )  - Bump env_canada to 0.5.29 (@michaeldavie
- #88821 )  - Fix sensor unit conversion bug (@emontnemery
- #88825 )  - Add thread user flow (@emontnemery
- #88842 )  - Bump odp-amsterdam to v5.1.0 (@klaasnicolaas
- #88847 )  - Update frontend to 20230227.0 (@piitaya
- #88857 )  - Update xknx to 2.6.0 (@farmio
- #88864 )  - Add confirm step to thread zeroconf flow (@emontnemery
- #88869 )  - Add WS API for creating a Thread network (@emontnemery
- #88830 )  - Create repairs issue if Thread network is insecure (@emontnemery
- #88888 )  - Only allow channel 15 during configuration of OTBR (@emontnemery
- #88874 )  - Add virtual integration for HELTUN (@b-uwe
- #88892 )  - Fix removal of non device-bound resources in Hue (@marcelveldt
- #88897 )  - Fix string for OTBR config flow abort (@bramkragten
- #88902 )  - Do not create Area for Hue zones (@marcelveldt
- #88904 )  - Bump aiohue library to version 4.6.2 (@marcelveldt
- #88907 )  - Reset state of template cover on error (@emontnemery
- #88915 )  - Small improvements to middleware filter (@frenck
- #88921 )  - Fix Dormakaba dKey binary sensor (@emontnemery
- #88922 )  - Introduce a UUID configuration option for API token (@VolkerStolz
- #88765 )  - Bump py-dormakaba-dkey to 1.0.3 (@emontnemery
- #88924 )  - Bump pyinsteon to 1.3.3 (@teharris1
- #88925 )  - Bump auroranoaa to 0.0.3 (@djtimca
- #88927 )  - Update Tado services.yaml defaults (@PatrickGlesner
- #88929 )  - Update intent sentences package (@synesthesiam
- #88933 )  - Fix Google Assistant temperature attribute (@FredericGuardia
- #85921 )  - Fix geniushub heating hvac action (@RogerSelwyn
- #87531 )  - Fix todoist filtering custom projects by labels (@boralyl
- #87904 )  - Motion Blinds DHCP restrict (@starkillerOG
- #88919 )  - Revert “Add 
state_class = MEASUREMENTto Derivative sensor (#88408)” (@emontnemery- #88952 )  - Bump Aiosomecomfort to 0.0.11 (@mkmer
- #88970 )  - Update frontend to 20230301.0 (@bramkragten
- #88975 )  - Add Home Assistant with space as brand (@agners
- #88976 )