## 2024.6.0b1 - Add IRK support to ble_rssi [esphome#6422](https://github.com/esphome/esphome/pull/6422) by [@chbmuc](https://github.com/chbmuc) - Add new Error type to skip prepending path [esphome#6716](https://github.com/esphome/esphome/pull/6716) by [@jesserockz](https://github.com/jesserockz) - [github] Only save platformio cache for dev branch [esphome#6711](https://github.com/esphome/esphome/pull/6711) by [@jesserockz](https://github.com/jesserockz) - Only cache docker images on dev branch [esphome#6714](https://github.com/esphome/esphome/pull/6714) by [@jesserockz](https://github.com/jesserockz) - Add pylint to git pre-commit hooks [esphome#6726](https://github.com/esphome/esphome/pull/6726) by [@clydebarrow](https://github.com/clydebarrow) - separate debug component for each platform in different file [esphome#6715](https://github.com/esphome/esphome/pull/6715) by [@tomaszduda23](https://github.com/tomaszduda23) - GDK101 support [esphome#4703](https://github.com/esphome/esphome/pull/4703) by [@Szewcson](https://github.com/Szewcson) (new-integration) - Typing hint and doc fixes [esphome#6729](https://github.com/esphome/esphome/pull/6729) by [@clydebarrow](https://github.com/clydebarrow) - time_based_cover.cpp with manual control fix [esphome#6719](https://github.com/esphome/esphome/pull/6719) by [@Jorge-Crespo-Celdran](https://github.com/Jorge-Crespo-Celdran) - [CST816] Add support for Hynitron Microelectronics CST826 capacitive touch [esphome#6682](https://github.com/esphome/esphome/pull/6682) by [@lboue](https://github.com/lboue) - Bump pytest from 8.1.1 to 8.2.0 [esphome#6732](https://github.com/esphome/esphome/pull/6732) by [@dependabot[bot]](https://github.com/apps/dependabot) - [web_server] Minor python formatting [esphome#6735](https://github.com/esphome/esphome/pull/6735) by [@jesserockz](https://github.com/jesserockz) - [esp32_ble] Fix compilation error on esp32c6 [esphome#6734](https://github.com/esphome/esphome/pull/6734) by [@jesserockz](https://github.com/jesserockz) - [core] Fix minor formatting issues [esphome#6738](https://github.com/esphome/esphome/pull/6738) by [@jesserockz](https://github.com/jesserockz) - [config] Improve error reporting [esphome#6736](https://github.com/esphome/esphome/pull/6736) by [@clydebarrow](https://github.com/clydebarrow) - [tests] ``test2.yaml`` has become too large [esphome#6750](https://github.com/esphome/esphome/pull/6750) by [@kbx81](https://github.com/kbx81) - Bump esphome-dashboard from 20240412.0 to 20240429.1 [esphome#6743](https://github.com/esphome/esphome/pull/6743) by [@dependabot[bot]](https://github.com/apps/dependabot) - BedJet: expose the outlet temperature on the climate and as a sensor [esphome#6633](https://github.com/esphome/esphome/pull/6633) by [@javawizard](https://github.com/javawizard) (new-platform) - Add beken_spi_led_strip component [esphome#6515](https://github.com/esphome/esphome/pull/6515) by [@Mat931](https://github.com/Mat931) (new-integration) - i2c: fix format string specifiers [esphome#6746](https://github.com/esphome/esphome/pull/6746) by [@ius](https://github.com/ius) - Allow one timing to cancel others [esphome#6744](https://github.com/esphome/esphome/pull/6744) by [@lbilger](https://github.com/lbilger) - fix rp2040_pio_led flicker and proper multi-strip support [esphome#6194](https://github.com/esphome/esphome/pull/6194) by [@Papa-DMan](https://github.com/Papa-DMan) - Mirage remote receiver & transmitter [esphome#6479](https://github.com/esphome/esphome/pull/6479) by [@heggi](https://github.com/heggi) - WPA2 Enterprise - Explicitly set TTLS Phase 2 [esphome#6436](https://github.com/esphome/esphome/pull/6436) by [@shxshxshxshx](https://github.com/shxshxshxshx) - Fix Prometheus Output to Match Spec [esphome#6032](https://github.com/esphome/esphome/pull/6032) by [@sdwilsh](https://github.com/sdwilsh) - Skip gpio validation [esphome#5615](https://github.com/esphome/esphome/pull/5615) by [@amcfague](https://github.com/amcfague) - [core] Migrate to pyproject.toml [esphome#6737](https://github.com/esphome/esphome/pull/6737) by [@jesserockz](https://github.com/jesserockz) - [core] Move pytest config into pyproject.toml [esphome#6740](https://github.com/esphome/esphome/pull/6740) by [@jesserockz](https://github.com/jesserockz) - [core] Move pylint config into pyproject.toml [esphome#6739](https://github.com/esphome/esphome/pull/6739) by [@jesserockz](https://github.com/jesserockz) - [core] Fix running pylint via pre-commit from GUI apps [esphome#6754](https://github.com/esphome/esphome/pull/6754) by [@jesserockz](https://github.com/jesserockz) - Separate `OTABackend` from OTA component [esphome#6459](https://github.com/esphome/esphome/pull/6459) by [@kbx81](https://github.com/kbx81) (new-integration) (breaking-change) - Add ADC multisampling [esphome#6330](https://github.com/esphome/esphome/pull/6330) by [@Mat931](https://github.com/Mat931) (new-feature) - [core] Fix some extends cases [esphome#6748](https://github.com/esphome/esphome/pull/6748) by [@jesserockz](https://github.com/jesserockz) - Port wifi_component_esp32_arduino from tcpip_adapter to esp_netif [esphome#6476](https://github.com/esphome/esphome/pull/6476) by [@paravoid](https://github.com/paravoid) - SPI and I2C for ENS160 [esphome#6369](https://github.com/esphome/esphome/pull/6369) by [@latonita](https://github.com/latonita) (new-integration) (breaking-change) - Fix wifi compile error on IDF 5.1+ [esphome#6756](https://github.com/esphome/esphome/pull/6756) by [@kbx81](https://github.com/kbx81) - [core] Update some coroutine priorities [esphome#6755](https://github.com/esphome/esphome/pull/6755) by [@jesserockz](https://github.com/jesserockz) - INA228/INA229, INA238/INA239, INA237 power/energy/charge monitor (I2C, SPI) [esphome#6138](https://github.com/esphome/esphome/pull/6138) by [@latonita](https://github.com/latonita) (new-integration) - [nextion] Fix type on sprintf for IDF v5 [esphome#6758](https://github.com/esphome/esphome/pull/6758) by [@edwardtfn](https://github.com/edwardtfn) - [core] Remove references to deleted setup.py [esphome#6757](https://github.com/esphome/esphome/pull/6757) by [@jesserockz](https://github.com/jesserockz) - Fix pip3 install [esphome#6771](https://github.com/esphome/esphome/pull/6771) by [@syssi](https://github.com/syssi) - [tests] make test_build_components work with venv without installing esphome [esphome#6761](https://github.com/esphome/esphome/pull/6761) by [@tomaszduda23](https://github.com/tomaszduda23) - separate deep_sleep component for each platform in different file [esphome#6762](https://github.com/esphome/esphome/pull/6762) by [@tomaszduda23](https://github.com/tomaszduda23) - Bump actions/checkout from 4.1.5 to 4.1.6 [esphome#6764](https://github.com/esphome/esphome/pull/6764) by [@dependabot[bot]](https://github.com/apps/dependabot) - add rp2040 support to the wizard [esphome#6239](https://github.com/esphome/esphome/pull/6239) by [@fodfodfod](https://github.com/fodfodfod) - [ili9xxx] Add 18bit mode selection and custom init sequence [esphome#6745](https://github.com/esphome/esphome/pull/6745) by [@clydebarrow](https://github.com/clydebarrow) - Tiny fix in automation.h - unused return value removed [esphome#6760](https://github.com/esphome/esphome/pull/6760) by [@latonita](https://github.com/latonita) - Uncouple safe_mode from OTA [esphome#6759](https://github.com/esphome/esphome/pull/6759) by [@kbx81](https://github.com/kbx81) (breaking-change) - Add support for acting as Modbus server [esphome#4874](https://github.com/esphome/esphome/pull/4874) by [@JeroenVanOort](https://github.com/JeroenVanOort) - Add on_safe_mode trigger [esphome#6790](https://github.com/esphome/esphome/pull/6790) by [@kbx81](https://github.com/kbx81) - [sx1509] Output open drain pin mode [esphome#6788](https://github.com/esphome/esphome/pull/6788) by [@Swamp-Ig](https://github.com/Swamp-Ig) - [ledc] Change some logging lines from debug to verbose [esphome#6796](https://github.com/esphome/esphome/pull/6796) by [@jesserockz](https://github.com/jesserockz) - [haier] ``text_sensor`` and ``button`` platforms [esphome#6780](https://github.com/esphome/esphome/pull/6780) by [@paveldn](https://github.com/paveldn) (new-integration) - mpr121: Add GPIO support [esphome#6776](https://github.com/esphome/esphome/pull/6776) by [@polyfloyd](https://github.com/polyfloyd) (new-platform) - [nextion] Add basic functions to Intelligent series [esphome#6791](https://github.com/esphome/esphome/pull/6791) by [@edwardtfn](https://github.com/edwardtfn) - Fix incorrect naming of the AdaFruit MagTag display. [esphome#6810](https://github.com/esphome/esphome/pull/6810) by [@sasodoma](https://github.com/sasodoma) (breaking-change) - [tuya] add support for extended services [esphome#6808](https://github.com/esphome/esphome/pull/6808) by [@augs](https://github.com/augs) - fix libretiny regression from #6715 [esphome#6806](https://github.com/esphome/esphome/pull/6806) by [@augs](https://github.com/augs) - Make i2s_audio compatible with IDF 5+ [esphome#6534](https://github.com/esphome/esphome/pull/6534) by [@pimdo](https://github.com/pimdo) - Fix compile errors on ESP32-C6 with latest ESP-IDF [esphome#6822](https://github.com/esphome/esphome/pull/6822) by [@DAVe3283](https://github.com/DAVe3283) - Use uint8_t instead of uint32_t for 8-bit values on mitsubishi [esphome#6824](https://github.com/esphome/esphome/pull/6824) by [@DAVe3283](https://github.com/DAVe3283) - Make SPI Ethernet (W5500) compatible with ESP-IDF v5 [esphome#6778](https://github.com/esphome/esphome/pull/6778) by [@fightforlife](https://github.com/fightforlife) - [wake_on_lan] Make component platform independent [esphome#6815](https://github.com/esphome/esphome/pull/6815) by [@clydebarrow](https://github.com/clydebarrow) - Fix a bunch of components for IDF 5 compatibility and #6802 [esphome#6805](https://github.com/esphome/esphome/pull/6805) by [@kbx81](https://github.com/kbx81) - Bump docker/login-action from 3.1.0 to 3.2.0 [esphome#6823](https://github.com/esphome/esphome/pull/6823) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump pytest-cov from 4.1.0 to 5.0.0 [esphome#6580](https://github.com/esphome/esphome/pull/6580) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 [esphome#6635](https://github.com/esphome/esphome/pull/6635) by [@dependabot[bot]](https://github.com/apps/dependabot) - Bump black from 24.4.0 to 24.4.2 [esphome#6646](https://github.com/esphome/esphome/pull/6646) by [@dependabot[bot]](https://github.com/apps/dependabot) - [voice_assistant] Timers [esphome#6821](https://github.com/esphome/esphome/pull/6821) by [@jesserockz](https://github.com/jesserockz) (new-feature) - [web_server] add entity sorting for v3 [esphome#6445](https://github.com/esphome/esphome/pull/6445) by [@RFDarter](https://github.com/RFDarter) - [micro_wake_word] Ensure model string is Path [esphome#6826](https://github.com/esphome/esphome/pull/6826) by [@synesthesiam](https://github.com/synesthesiam) - Fix DHT reading timing for SI7021 on ESP32 [esphome#6604](https://github.com/esphome/esphome/pull/6604) by [@erdembey](https://github.com/erdembey) - [core] Const-ify some Component fields [esphome#6831](https://github.com/esphome/esphome/pull/6831) by [@jesserockz](https://github.com/jesserockz) - LTR-303, LTR-329, LTR-553, LTR-556, LTR-559, LTR-659 Series of Lite-On Light (ALS) and Proximity(PS) sensors [esphome#6076](https://github.com/esphome/esphome/pull/6076) by [@latonita](https://github.com/latonita) (new-integration) - Update const.py added missing millimeter [esphome#6834](https://github.com/esphome/esphome/pull/6834) by [@NonaSuomy](https://github.com/NonaSuomy) - Fix log message in VA for IDF 5 [esphome#6839](https://github.com/esphome/esphome/pull/6839) by [@kbx81](https://github.com/kbx81) - Replace random non-ascii-print characters with standard substitutes [esphome#6840](https://github.com/esphome/esphome/pull/6840) by [@ptr727](https://github.com/ptr727) - Wireguard support for bk72 microcontrollers [esphome#6842](https://github.com/esphome/esphome/pull/6842) by [@droscy](https://github.com/droscy) - Add messages when WiFi and Ethernet components set 'warning' flag. [esphome#6850](https://github.com/esphome/esphome/pull/6850) by [@kpfleming](https://github.com/kpfleming) - [sntp] fix for ESP-IDF > 5.0 [esphome#6769](https://github.com/esphome/esphome/pull/6769) by [@HeMan](https://github.com/HeMan) - Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6843](https://github.com/esphome/esphome/pull/6843) by [@ptr727](https://github.com/ptr727) - Add Ethernet MAC address to ethernet_info [esphome#6835](https://github.com/esphome/esphome/pull/6835) by [@ptr727](https://github.com/ptr727) - Add host time platform; remove host support from sntp. [esphome#6854](https://github.com/esphome/esphome/pull/6854) by [@clydebarrow](https://github.com/clydebarrow) (new-integration) - [wireguard] Implement workaround for crash on IDF 5+ [esphome#6846](https://github.com/esphome/esphome/pull/6846) by [@kbx81](https://github.com/kbx81) - [ft5x06] Interrupt pin and code quality improvements [esphome#6851](https://github.com/esphome/esphome/pull/6851) by [@jesserockz](https://github.com/jesserockz) - [ethernet] Add config option to set arbitrary PHY register values [esphome#6836](https://github.com/esphome/esphome/pull/6836) by [@heythisisnate](https://github.com/heythisisnate) - Add carrier_frequency option to remote_transmitter.transmit_aeha [esphome#6792](https://github.com/esphome/esphome/pull/6792) by [@svxa](https://github.com/svxa) - Add `invert_position_report` to `tuya.cover` [esphome#6020](https://github.com/esphome/esphome/pull/6020) by [@wrouesnel](https://github.com/wrouesnel) - [Tuya Climate] Support both datapoint and pins for active state [esphome#6789](https://github.com/esphome/esphome/pull/6789) by [@zry98](https://github.com/zry98) - [config] Allow file: scheme for git external components [esphome#6844](https://github.com/esphome/esphome/pull/6844) by [@clydebarrow](https://github.com/clydebarrow) - [ota] http_request update platform [esphome#5586](https://github.com/esphome/esphome/pull/5586) by [@oarcher](https://github.com/oarcher) (new-integration) - [logger] Fix defines for development [esphome#6870](https://github.com/esphome/esphome/pull/6870) by [@jesserockz](https://github.com/jesserockz) - [docker] Avoid unsafe git error when container user and file config volume permissions don't match [esphome#6873](https://github.com/esphome/esphome/pull/6873) by [@ptr727](https://github.com/ptr727) - [datetime] Add logs on DateCall perform [esphome#6868](https://github.com/esphome/esphome/pull/6868) by [@RFDarter](https://github.com/RFDarter) - fix: arduino media player sets wrong state for announcements [esphome#6849](https://github.com/esphome/esphome/pull/6849) by [@gnumpi](https://github.com/gnumpi) - [datetime] datetime-datetime strptime support value string without seconds [esphome#6867](https://github.com/esphome/esphome/pull/6867) by [@RFDarter](https://github.com/RFDarter) - Update webserver local assets to 20240608-093147 [esphome#6874](https://github.com/esphome/esphome/pull/6874) by [@esphomebot](https://github.com/esphomebot) - fix: arduino media player still sets wrong state. [esphome#6875](https://github.com/esphome/esphome/pull/6875) by [@gnumpi](https://github.com/gnumpi) - [http_request] Add esp-idf and rp2040 support [esphome#3256](https://github.com/esphome/esphome/pull/3256) by [@jesserockz](https://github.com/jesserockz) (breaking-change) - [i2s_speaker] A few fixes [esphome#6872](https://github.com/esphome/esphome/pull/6872) by [@jesserockz](https://github.com/jesserockz) - [voice_assistant] Write less data to speaker each loop [esphome#6877](https://github.com/esphome/esphome/pull/6877) by [@jesserockz](https://github.com/jesserockz) - Bump docker/build-push-action from 5.3.0 to 5.4.0 in /.github/actions/build-image [esphome#6883](https://github.com/esphome/esphome/pull/6883) by [@dependabot[bot]](https://github.com/apps/dependabot) - Allow parse_json to return a boolean result [esphome#6884](https://github.com/esphome/esphome/pull/6884) by [@jesserockz](https://github.com/jesserockz) (breaking-change) - Update webserver local assets to 20240610-230854 [esphome#6886](https://github.com/esphome/esphome/pull/6886) by [@esphomebot](https://github.com/esphomebot) - [core] Update Entities [esphome#6885](https://github.com/esphome/esphome/pull/6885) by [@jesserockz](https://github.com/jesserockz) (new-integration) - [Dockerfile] Sync platformio version with requirements.txt [esphome#6888](https://github.com/esphome/esphome/pull/6888) by [@ptr727](https://github.com/ptr727) - [Deep sleep] Compilation error with IDF >= 5.* [esphome#6879](https://github.com/esphome/esphome/pull/6879) by [@asergunov](https://github.com/asergunov) - [animation] Allow loading external url at build time [esphome#6876](https://github.com/esphome/esphome/pull/6876) by [@landonr](https://github.com/landonr) - [waveshare_epaper] Add support for 13.3in-k [esphome#6443](https://github.com/esphome/esphome/pull/6443) by [@pgericson](https://github.com/pgericson) - Climate IR LG - Support fan only mode and all "on" commands [esphome#3712](https://github.com/esphome/esphome/pull/3712) by [@danieldabate](https://github.com/danieldabate) - [safe_mode] Allow user-defined interval for successful boot [esphome#6882](https://github.com/esphome/esphome/pull/6882) by [@NMartin354](https://github.com/NMartin354) - New 1-wire component [esphome#6860](https://github.com/esphome/esphome/pull/6860) by [@ssieb](https://github.com/ssieb) (new-integration) (breaking-change) - [he60r] Don't publish state unless it has changed. [BUGFIX] [esphome#6869](https://github.com/esphome/esphome/pull/6869) by [@clydebarrow](https://github.com/clydebarrow) - [image] Make PIL import local [esphome#6864](https://github.com/esphome/esphome/pull/6864) by [@guillempages](https://github.com/guillempages) - [config] Retain path information in validated configuration [esphome#6785](https://github.com/esphome/esphome/pull/6785) by [@clydebarrow](https://github.com/clydebarrow) - WebSocket overrides check_origin for reverse proxy configuration [esphome#6845](https://github.com/esphome/esphome/pull/6845) by [@gabest11](https://github.com/gabest11) - [config] Early termination of validation steps on error [esphome#6837](https://github.com/esphome/esphome/pull/6837) by [@clydebarrow](https://github.com/clydebarrow) - Fix media_player.volume_set when media player is not started [esphome#6859](https://github.com/esphome/esphome/pull/6859) by [@tetele](https://github.com/tetele) - [display] SDL2 display driver for host platform [esphome#6825](https://github.com/esphome/esphome/pull/6825) by [@clydebarrow](https://github.com/clydebarrow) (new-integration) - [ili9xxx] Implement st7735 support [esphome#6838](https://github.com/esphome/esphome/pull/6838) by [@clydebarrow](https://github.com/clydebarrow)