Od 2018 roku do września 2024 tylko 2 czy 3 wydania nie zawierały breaking changes… (a wydania comiesięczne zaczęły się pojawiać mniej więcej na początku 2021 roku! czasem z pojedynczymi przerwami wakacyjnymi, ponadto dokumentacja od tego czasu jest wydawana ściśle równolegle ze zmianami).
Nie ma więc chyba sensu bym podawał linki do jakichś archaicznych wydań, skoro dokumentacja zawsze zawiera rekurencyjne linki do starszych wydań https://esphome.io/changelog/
Póki co tylko te wydania które spowodowały spore poruszenie (wstępnie oznaczyłem je pogrubieniem) oraz kilka ostatnich z pomniejszymi zmianami (później na miarę wolnego czasu przebuduję wątek, więc pozostaje zamknięty i podwieszony).
Wersje wcześniejsze od 1.7.0 nie mają dedykowanych rozdziałów w aktualnej dokumentacji, więc wcześniejszą historię można szukać w notatkach do wydań na starym repozytorium, ale moim zdaniem nie było tam jawnie listowanych breaking changes
1.7.0 (czerwiec 2018) - Fixed the [SHT3x-D] component and removed the accuracy parameter. The accuracy now defaults to HIGH; The inverted option of binary sensors has been moved into the filters: section; The esp32_ble component and platform have been renamed to [esp32_ble_tracker] in order to make the naming clearer with the new [esp32_ble_beacon] component; The receive_timeout option has been removed from the [i2c component] as it turns out it didn’t actually do anything; The ir_transmitter component has been renamed to [remote_transmitter] as it now works with all kinds of protocols, not just infrared-based ones; The pull_mode option of the Pulse Counter has been removed, please use the [Pin Schema] now instead. Additionally, the internal_filter option now only accepts [time] units.
1.8.0 (listopad 2018) - The [core configuration] has been reworked a bit to a) make using different arduino framework version easier and b) make editing your local esphomelib copy easier; Light Effects now need to be manually declared in the config and will no longer show up automatically; MAX6675 has been migrated to use the new SPI bus (and fixed!). Please see the docs for how to use it now
1.9.0 (listopad 2018) - As part of the rewrite of Over-The-Air updates, the old OTA protocol is incompatible with the new one - But fear not, esphomeyaml still supports the legacy OTA update process. On your first OTA upload with 1.9.0, you will see esphomeyaml try with the new OTA method and fail. After that, esphomeyaml will fall back to the old OTA process and upload correctly; esphomelib’s naming convention has been made more consistent. If you’re not using any lambdas, everything will still work. However, if you’re using the C++ API, there are a couple of breaking changes:
For sensors and binary sensors, id(my_sensor).value has been deprecated and id(my_sensor).state should be used instead. Additionally, the syntax for toggling lights and switches through C++ has been changed.
1.10.0 (styczeń 2019) - Previously, esphomelib would by default only publish every 15th sensor value in order to provide averaged values. However, that often confused users and I now decided to remove it and set the default update interval of all components to 60s instead of the previous 15s.; The fastled effects have been renamed to addressable_ for the new [Neopixelbus] integration.
1.11.0 (luty 2019) - Template Switches no longer restore their state by default; Removed heartbeat filter from binary sensors; optimistic mode for template platforms has been split off into optimistic and assumed_state options; run_cycles has been removed from deep_sleep
1.12.0 (marzec 2019) - The timeout_meter and timeout_time options of the ultrasonic sensor have been merged into timeout, Ultrasonic Sensor no longer works with GPIO16 as echo pin on ESP8266s because the implementation switched to an asynchronous interrupt mode.
1.13.0 (maj 2019) - esphome_core_version has been removed - ESPHome is no longer split up in the core and python repository; The esp32_ble_tracker binary sensor platform (not the global hub) has been renamed to ble_presence; The remote transmitter switch has been removed and a template switch with the new actions should be used. See validation output; esphome_core_version has been removed - ESPHome is no longer split up in the core and python repository; because of some internal changes, some ID names are used internally and can no longer be used. See validation errors.
1.14.0 (listopad 2019) - deprecated support for Python 2 installs; The xiaomi_ BLE platforms have been renamed to match their model numbers; As part of the addition of the captive portal component, the default reboot_timeout for wifi has been increased to 15 minutes from the previous 5 minutes; The ESP32 LEDCbit_depth option has been removed. The best bit depth is now dynamically calculated; For [pcf8574], the INPUT_PULLUP option has been removed and replaced with INPUT
1.15.0 (wrzesień 2020) - Drop Python 2 Support; Fix SGP30 incorrect baseline reading/writing; fix servo bug restoring state and starting servo detached; fix shunt voltage / current / power reading in INA3221; Component script not stopped in certain situations, New script modes POC
1.16.0 (luty 2021) - Enable reverse display of the Max7219 digit; Pulse_counter measure total pulses; Support I2C transactions with combined reads and writes
1.17.0 (4 maj 2021) - MCP23XXX Refactor
1.18.0 (19 maj 2021) - Raise minimum python version to 3.7; esphome: Change wifi signal strength unit to dBm; esphome: Use core constants for sample duration on bh1750
1.19.0 (czerwiec 2021) - Drop 128x160 ESP-32 camera resolution; teleinfo: use text_sensor and sensor; CLI user experience improvements
1.20.0 (lipiec 2021) - Change color model to fix white channel issues - addressable RGBW lights + RGBW lights; remote_receiver use config parent receiver for registering dumpers; Remove a whole bunch of deprecated/removed stuff; catch 0.0 in float set_level pre-adjustment; Climate mode meaning was changed
2021.8.0 - Merge build flags from platformio_options; Color mode implementation; Fix parity bit calculation for ESP8266SoftwareSerial; Dont force 0 state instead of min_power unless explicit config set; Anova fahrenheit support; Tidy HA addon; Thermostat enhancements 2
2021.9.0 - Fix SDM energy units to be KILO; Reject template select/number/switches that don’t handle user input; Remove last_reset_type and convert all those sensors to TOTAL_INCREASING; Midea support v2
2021.10.0 - Combine code of xiaomi_miscale and xiaomi_miscale2; Correctly invert the float output state; Add SSD1305 support to SSD1306 integration along with few new options; Disable dependency finder on ESP32
2021.11.0 - TCS34725 BugFix and GA factor; Limit hostnames to 31 characters; Move default build path to .esphome directory; ESP8266 disable PIO LDF; Remove autoload of xiaomi_ble and ruuvi_ble; BH1750: Fix a too high default H-res2 mode value; Add option to use MQTT abbreviations; Add restore_mode to rotary_encoder; Neopixelbus redo method definitions; Update device classes for binary sensors; BLE_Sensor: Use as_reversed_hex_array to properly parse UUIDs after
2022.1.0 - Modbus: use multiply for publishing number; Upgrade ArduinoJson to 6.18.5 and migrate code; Fix backwards string case helpers
2022.2.0 - [TCS34725] remove duplicated endian conversion; TSL2591 automatic gain control; [debug] Refactor debug sensors to use the normal sensor model; Allow framework version validator to be maximum version
2022.3.0 - BH1750 dynamically calculate options; Add class as first positional arg to sensor_schema; Raise minimum python version to 3.8
2022.4.0 - Make home_assistant imported sensors internal by default
2022.5.0 - select component; number component
2022.6.0 - TCS34725 automatic sampling settings; support for SGP41; Remove deprecated fan speeds; Output a true RMS voltage %, Add display_type property to DisplayBuffer
wydania lipcowego (które by miało numer wersji 2022.7.0) nie było - okres wakacyjny
2022.8.0 - Extend ST7789V component to support additional displays; Refactor BedJet climate into Hub component; Remove min_save_interval from intergration and total_daily_energy; Rework NaN handling in sensor filters
2022.9.0 - jedna z niewielu wersji nie mających oficjalnie breaking changes
2022.10.0 - Thermostat remove deprecated config; Bump python min to 3.9; Refactor xpt2046 to be a touchscreen platform; Add ble RSSI sensor for connected devices
2022.11.0 - Don’t Use Base Network Manual IP for WiFi AP
2023.2.0 - Use NAN values for TSL2591 saturation; set_retry: add retries remaining parameter to the provided function
2023.3.0 - Renaming and extending the ili9341 to the ili9xxx component, sn74hc165 fixes, Sprinkler “v2” updates, Add configurable color datapoint
2023.4.0 - UART ids - Disallow uart0/1/2 as ids in config, Number step - Require step to be set when calling register_number, Default restore mode for Switches, Fans and Lights
2023.6.0 - Migrate VOC sensors that use ppb to use volatile_organic_compounds_parts device class, display: add BaseImage and provide only Image::get_pixel method, Add transparency support to all image types, Allow i2s microphone bits per sample to be configured, Move ESPTime into core esphome namespace
2023.7.0 - Remove template switch restore_state, display: add BaseFont and introduce Font::draw methods Rename display.DisplayBufferRef to display.DisplayRef used by lambda
2023.8.0 - Coolix IR protocol, Speaker return bytes written and do not wait for queue, Change device name in MQTT discovery messages to friendly names, Add configuration flow abilites to the ld2410 component
2023.9.0 - Home Assistant Add-on - Use /data directory for .esphome folder when running as HA add-on, Enum device class - Synchronise Device Classes from Home Assistant
2023.10.0 - SPS30; SHT3x had a heater_enabled config option added in the 2023.9.0 release with a default value of true. This has been flipped this release to be false as it started causing issues with various sensors.
2023.11.0 - Hydreon, Fix esp32_rmt_led_strip custom timing units
2023.12.0 - MCP3008, Pin Reuse validation, SH1107 → SSD1306, sen5x, Ensure names containing characters other than a-z A-Z 0-9 or _ are unique, Nextion colors parameters, Updating the touchscreen interface structure
2024.12.0 - dużo zmian w architekturze - przede wszystkim odejście od oficjalnych wydań platform.io, użytkownicy nie gotowi na zgłaszanie issue powinni być przygotowani na cofnięcie wersji!, zmiany definicji płytek rodziny ESP32 na obecne w pioarduino, Fix entity name validation, MQTT sensors handling of publishing NaN, [sgp30] Set default update interval to 60s,
na frameworku esp-idf w domyślnej zalecanej wersji (a jest to teraz 5.1.5) sensor Hall’a nie jest obsługiwany i już nie będzie (bo nowsze wersje MCU już go nie zawierają, a był niedokładny i podobno zawodny), wrześniowe zmiany w platformie rp2040 skumulowały się z obecnymi zmianami
Rok 2025 zaczął się z dużym przytupem w HA przez wprowadzenie w kontrowersyjny sposób masy poważnych zmian w działaniu kluczowych funkcji i elementów systemu, teraz coś podobnego wydarzy się w ESPHome (przedsmakiem było wydanie grudniowe “odcinające” ESPHome od platform.io).
Spis zmian i potencjalne ostrzeżenia w terminie późniejszym, a na teraz sugeruję przeczytanie standardowych notatek do wydania
2025.2.0 - dużo zmian w architekturze, breaking changes: likwidacja wsparcia starej definicji platformy sprzętowej; likwidacja wsparcia starych komponentów niestandardowych (custom components → external components; [esp32_rmt] Updates for IDF 5+, Set pull-up and open-drain modes based on pin schema; [lvgl] use_transparency → transparency, remove default state; [image] Transparency changes code refactor; [nextion] Brightness control tweaks; [ili9xxx] psram and 8 bit changes; [scd30] Increase minimal CONF_UPDATE_INTERVAL from 1 to 2 seconds; Remove arm/v7 container image support - kompilacja na sprzęcie klasy ziemniak (32-bitowy arm) i tak już zasadniczo nie była możliwa, więc dalsze utrzymywanie tej platformy nie miało sensu
2025.3.0 - [mlx90393] Fix inverted gain and resolution; [touchscreen] Axis swap bugfix; [cst816] Remove binary sensor
2025.4.0 - Rework max connections for BLE to avoid exceeding the hard limit, ilość breaking changes może ulec zmianie jeśli dobrze rozumiem deklarację opiekuna projektu
2025.5.0 - [i2s_audio, microphone, micro_wake_word, voice_assistant] Use microphone source to process incoming audio; http_request] Ability to get response headers; [packet_transport] Extract packet encoding functionality; ATM90E32 Semi-automatic calibration & Status fields
jedna z ważnych i kluczowych zmian to nowy sterownik dla ogromnej grupy wyświetlaczy - MIPI SPI, jego wprowadzenie i rozwój prowadzi do faktu, że niektóre inne dotychczasowe sterowniki takie jak ILI9xxx (obsługuje całą grupę modeli nie tylko na chipsetach Ilitek, ale też GalaxyCore czy Sitronix), ST7701S, ST7735, ST7789V i in. stają się przestarzałe i być może zostaną wycofane z użytku, więc najlepszym posunięciem jest migracja konfiguracji na nowy sterownik.
2025.6.0 - wymagany Python >=3.10; Add LWIP optimization options to reduce flash usage; Replace API deferred queue with efficient message batching system; Optimize Component and Application state storage from uint32_t to uint8_t; Reduce entity memory usage by eliminating field shadowing and bit-packing; Optimize Application area_ from std::string to const char*; (nie opisane jako breakin-change ->) podniesiona wersja ESP-IDF 5.3.2
2025.7.0 - wyjątkowo przedpremierowo link do wersji beta, bo zmiany jakie weszły na początku roku nie były jedynymi “z grubej rury” w tym roku (później przekształcę ten wpis w taki w bardziej standardowym stylu)
Replace custom OTA implementation in web_server_base esphome#9274 by @bdraco (new-integration) (breaking-change)
Reduce RAM usage by optimizing Color constant storage esphome#9339 by @bdraco (breaking-change)
Optimize logger callback API by including message length parameter esphome#9368 by @bdraco (breaking-change)
Conditionally compile API user services to save 4.3KB flash (follow-up to #9262) esphome#9451 by @bdraco (breaking-change)
[json] Bump ArduinoJson library to 7.4.2 esphome#8857 by @kahrendt (breaking-change)
w związku z tym, że aktualizacja do 2025.7.0 okazała się dla wielu problematyczna, a w dodatku nawet doświadczeni userzy nie robią backupów Dodatków przy instalacji nowej wersji… to tu jest repozytorium ze starymi wersjami (można zainstalować dowolną ilość różnych wersji ale należy zatrzymać naszą główną jesli ma być uruchomiona jakakolwiek inna)
Ogrom problemów użytkowników z nowymi wersjami buildera/kompilera/IDE (czy jakkkolwiek sobie to nazwiemy) jest taki, że polecam też okolice tamtego posta w wątku na dość specyficzny temat.
szczególnie mam na myśli repo z archiwalnymi wersjami
z nowości dość kluczowy jest nowy komponent dla wyświetlaczy MIPI DSI
pełna lista
2025.9.0
Dość konsekwentnie są wprowadzane nowe sterowniki całych grup modeli wyświetlaczy, tym razem to MIPI RGB
2025.10.0 To jest naprawdę REWOLUCJA - przeczytanie notatek do wydania jest wręcz koniecznością…
tym razem jedna z kluczowych nowości to nowy sterownik dla wyświetlaczy e-ink ePaper SPI
2025.11.0 wprowadza wiele optymalizacji, ale również sporo breaking changes (w tym dotyczących sieci, PSRAM, skryptów czy lambd) - znowu koniecznie należy w nie zajrzeć
2025.12.0 - kilka nowych komponentów, w tym wstępna obsługa układu RF - TI CC1101, sporo breaking changes