2.4.1
Changes since 2.4.0.
Core
- Move C++ vtables into IRAM, out of heap (#4179)
- Update I2S base frequency and frequency dividers to real ones (#4031)
- umm_malloc: fix calloc by clearing block only if malloc succeeds
- Esp.deepSleep: change argument from uint32_t to uint64_t to match SDK
- Add Esp.deepSleepMax, which returns maximum possible deep sleep time
- SPIFFS: Fix lseek typo for seek_end (#4287)
- Fix access past end of the buffer in RTCmem example (#4288)
- Deprecate TIM_DIV265, add TIM_DIV256 instead (#4326)
- If Debug Port is set, displaye version info after Serial.begin (#4467)
- UpdaterClass::printError now accepts the Print object
ESP8266WiFi
- Add SSL enabled WiFiServer, Updater, WebServer
- WiFiClient: add keepalive api (default 2h,75s,9 not enabled) (#3937)
- WiFiClient: don’t destroy ClientContext on ::stop
- WifiServer: Add begin(uint16_t port) method, listening port can be changed at runtime (#4123)
- WiFi: fix support for WPA pre-shared key in station mode, add support for PSK to WiFiMulti (#4076)
- WiFi: fix Arduino compatibility of WiFi.config (#4145)
- WiFiMulti: add timeout to WiFi connection loop (#4146)
- lwip2: fix watchdog reset, fix WiFi reconnection (#4105)
- lwip2: lower ram and flash footprint (by disabling old asserts)
- lwip2: use only wifi_station_get_hostname() to set netif hostname (#4299)
- lwip2: fix disconnection/reconnection issue
- ClientContext:_write_some: release buffer once data really accepted for sending (#4265)
Other libraries
- ESP8266HTTPClient: add digest authentication example (#4112)
- ESP8266WebServer: Add begin(port) method
- ESP8266WebServer: Move some strings to flash to increase available heap (#4148, #4338, #4371)
- ESP8266mDNS: Fix mdns buffer overrun by 1 (#4317)
- ArduinoOTA: don't crash on unrecognized packets (#4086)
- Ticker: add bool active() (#2722)
- Wire: check that pins needed by Wire are defined at compile-time (#4261)
Boards
- boards.txt generator (#3722)
- Case change and and 'none' reset option for Digistump Oak (#4143)
- LED_BUILTIN is now a #define (#4276)
- boards: Wemos D1 R1 needs a separate defined identifier (#4304)
Tools and SDK
- sdk: update to v2.2.0-3-gf8f27ce
- esptool: update to 0.4.13
Build and test
- Add menu to control what gets erased during upload
- Warnings cleanup (-Wall, -Wextra), check for warnings in CI (#4274, #4369)
- Add support for @platformio Core 3.5.0
- Drop PlatformIO lines from LD script; append object suffix to the end of target name (#4355)
- tests/device: add make target to generate test reports
- update testing documentation