github esp8266/Arduino 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

Documentation

  • Fix dead links in docs (#4221, #4293, #4408)
  • Document tcpCleanup workaround (#4314)
  • Update issue template (#4474)
latest releases: 3.0.0, 2.7.4, 2.7.3...
3 years ago