Changes since 2.4.0-rc2
Core
- Prevent endless loop in run_scheduled_functions (#4048)
- Pure virtual Stream::flush() moved to empty virtual Print::flush() to follow arduino API (#4029)
- Allow disabling global Serial and Serial1 object (#2807)
- Export pgmspace symbols with C linkage (#3955)
- cbuf: fix boundary condition on resize (#4016)
- time: add micros64, support for gettimeofday and settimeofday.
- Remove min, max, isnan, isinf macros, use tempmlates from std:: instead.
- Updater: added constant time string comparison to avoid possible time-based attacks. (#3836)
- Board definitions updated
ESP8266WiFi
- ESP8266WiFiMulti: Add count function (#3073)
- Added String hostname support to WiFiClient and WiFiClientSecure (#3349)
- WiFiClientSecure: don't use the broken max_fragment_length extension (#4033)
- WiFiClientSecure: configurable connect timeout, better default value (#4027)
- WiFiClientSecure: don't trash unread decrypted data when writing (#4024)
- Fix WiFiClient::availableForWrite() with no connection (#3985)
- WiFiUDP: fix crash when calling destinationIP with no packet available (#4036)
- Fix flush() to wait for empty send buffer (#1002) (#3967)
- Add compatibility check for config() method with Arduino arg order (#3860)
Third party libraries
- Use lwip v2 by default
- SDK: update to v2.1.0-14-g33f234f
- SDK: rename
hostname
anddefault_hostname
symbols (#1281) - Add extern C blocks to SDK header files (#1352) (#4044)
- SoftwareSerial: update to 3.3.0 (#3727)
Other libraries
- ESP8266WebServer: fix URL parameter decoding in web server (#3313)
- ESP8266WebServer: allocate HTTPUpload struct on demand (#2557)
- ESP8266WebServer: send empty chunk when done sending chunked response
- ESP8266WebServer: add CONTENT_LENGTH_UNKNOWN keyword
- ESP8266HTTPClient: increase HTTP SEND/POST timeout to 5s (#3971)
- ESP8266HTTPClient: handle empty URI correctly
- ESP8266HTTPClient: allow changing connection timeout using setTimeout (#4038)
- EEPROM: Added length and operator[] methods, added some constness, missed dirty clear (#3855)
- EEPROM: Clear dirty flag in begin and reallocate only if necessary, add getConstDataPtr method (#2217) (#3849)
- Set architecture=esp8266 for bundled SD and Ethernet libraries (#4035)
Examples
Documentation for 2.4.0
Documentation for this release is hosted on readthedocs.org:
http://arduino-esp8266.readthedocs.io/en/2.4.0/