Changes since 2.4.2:
Core
- better compatibility for IPAddress changes with external libraries (#5438)
- Make exceptions a configurable menu (#5434)
- Use Python JSON to format packages.json file (#5429)
- Fix pgmspace 32-bit read macros (#5425)
- fix inconsistent block size for spiffs in board.txt. and ld files (#5412)
- Split AddrList into object-iterator-container components (#5410)
- weak hook preinit() #2111 #2133 #2136 (#5395)
- fix espconn and err_t (#5392)
- Pass string objects by reference (#5378)
- Fix rtc mem bounds check (#5372)
- Check for WEP when setting authmode (#5364)
- i2s can send now buffers (#5349)
- cleanup/unify flash sector size define value (#5327)
- deprecate RTC_REG macros in favor of TIMER_REG macros (old typo in macro names) (#5326)
- Only stop waveforms actually running in ISR (#5308)
- Use "PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY" as default lwIP profile for @platformio (#5305)
- Add missing decrement operator to I2C clockCount (#5292)
- Fix arg type in Wire to size_t (#5289)
- constexpr helpers to identify core version (#5269)
- Allow override of macros in core_version.h (#5268)
- fix md5 comparison (#5265)
- fix SPIFFS when not enabled in build options (#5249)
- Make stopWaveform call interrupt callable (#5248)
- I2C slave support (originally by bjoham) (#5226)
- Add stack repainting call to ESP class (#5221)
- Fix led-pin in updater, also no need to backup LED state (#5217)
- Update to the last version of nonos-sdk V2, WiFi addons (#5210)
- PolledTimeout Class for wrapping millis() loops (#5198)
- cleanly restore spiffs data in boards.txt (#5195)
- IPv6 and major IPAddress changes (#5136)
- Allow GPIO 9 and 10 for waveform generation (#5055)
- Consolidate .iram.text matcher in linker to wildcard matcher (#4356)
- implement EspClass::getFreeContStack method (#5133)
- restore SPIFFS symbols when null-sized (#5122)
- Make unique sections for ICACHE_* variables (#5117)
- metric for heap fragmentation (#5090)
- revert e02932f (#619 works now without it) (#5056)
- Add instantly option to deepSleep (#5052)
- Move some exception strings to PROGMEM (#5050)
- Enclose PROGMEM segment names in quotes (#5049)
- Move all PROGMEM to their own section (#5048)
- Fix iostream related issues (#5047)
- uart: BW improvements (#4620)
Library - mDNS
- LEAmDNS - Multicast DNS Responder rewrite (#5442)
Library - ESP8266WiFi
- Implement for ssid a similar approach as for passphrase (#5411)
- Move WiFi debug messages to PMEM (#5388)
- Check if AP exists before adding it (#5373)
- Check for WEP when setting authmode (#5364)
- Set authmode if passphrase is provided (#5317)
- Fix: WiFiClient::flush() yields but can be called from events (#5254)
- Add cryptographically signed update support (#5213)
- WiFi: improve WiFiClient(Basic) examples (#5197)
- ClientContext: restore TCP PuSH flasg when needed (#5176)
- fix: tcp_output() should always be called after tcp_write(), does not break nagle (+ doc) (#5172)
- Fix TCP race condition, remove fixed delay in CC (#5167)
- automatically WiFiClient::flush before ::stop (#5135)
- read all lines from slow servers (#5113)
- ClientContext (tcp) updates (#5089)
Library - ESP8266WiFi (SSL/TLS)
- Update to latest BearSSL w/EC25519 fix (#5468)
- fix compilation error - can't find axTLS::WiFiServerSecure (#5407)
- Don't clear authentication options on a ::stop (#5386)
- Remove obsolete BSSL debug print routines (#5368)
- Deprecate axTLS, update examples (#5366)
- Move BearSSLHelpers into BearSSL namespace (#5315)
- Patch axTLS CVEs and fix CA verification (#5270)
- Add warning when no authenticator, drop verify() (#5205)
- Add BearSSL::setFingerprint(char* fp) (#5204)
- Really free stack after last BearSSL obj destroyed (#5185)
- Move BearSSL _cipher* init to _clear() for consistency (#5178)
- Clear cipher list on server creation, fix crash (#5171)
- Move BearSSL from STACK_PROXY to a real, thunked 2nd stack (#5168)
- Add SSL Session capability to speed reconnections (#5160)
- Allow cipher specification for BearSSL (#5151)
- Move SSLContext to its own header (#5121)
- Update axTLS to e634adf (#5125)
- Fix connection options and update github pubkey (#5120)
- Add WiFiClient parameter to HTTPClient (#4980)
Library - ESP8266WebServer
- update HTTPCLIENT_1_1_COMPATIBLE (#5389)
- fix http parsing (#5262)
- Fix webserver unresponsiveness (#5259)
- Improved parameter validation (#5256)
- fix parseArgument #2 (#5252)
- fix typo (#5189)
- Added naive content length to upload struct (#5142)
- Expose post args during upload (#4935)
Library - ESP8266HTTPClient
- Save 2.3K in HTTPClient debug mode by PSTR (#5387)
- Bugfix/esp8266 http client (#5250)
- ESP8266httpClient crash-on-destructor bugfix (#5220)
- Update api.github.com certificate signature (#5145)
- ESP8266HTTPClient: allow getString() more than once (#5091)
- Support for concatenation of headers (#4864)
Other Libraries
- OTA (espota.py) (#5454)
- Add SD.end() method, including arg to leave SPI up (#5402)
- (SSDP) usn and udn differences cause issues with smarthings (#5401)
- Fix debug provision for DNSServer (#5329)
- Update ESP8266HTTPUpdateServer library (#5297)
- examples code cleanup (#5290)
- Dns server cleanup (#5194)
- Add missing keywords.txt files to bundled libraries (#5183)
- WiFi Mesh Update 2.1 (#5157)
- Create library.properties (#5129 #5128 #5127 #5119)
- Fix min and max for Servo library (#5064)
- Hash: make actual SHA1 result and comment consistent (#5057)
- Implementation of Functional and Scheduled option in Ticker lib (#5030)
- CaptivePortalAdvanced: Change debug print to println (#5000)
- SD: Implement readBytes (#4931)
Build system, Toolchain & Newlib
- Update to Newlib c0f3596 with regexp/fnmatch (#5457)
- Update toolchain and bins to 2.5.0-2 autobuild(#5441)
- Add 64-bit %ll printf format support (#5435)
- Add in Win64 pointers to Win32 tools (#5427)
- Add %z and %x to printf backend (#5424)
- Enable exceptions, update to optimized newlib, migrate to new toolchain (#5376)
- Move ICACHE_* to unique sections, local LD script (#5150)
- Add full debug builds for all tests (#5146)
- build: place generated ld script into build directory (#5043)
- Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system (#5018)
- Switch to isolated build flags per framework (#5028)
Package builder
Upstream dependency - BearSSL
- Update BearSSL to latest toolchain (#5449)
- Update to BearSSL 0.6+ release, add AES_CCM modes (#5164)
Upstream dependency - lwIP-v2
- lwip2: 3 sntp servers, autoip (169.254), esp-ping, espconn (#5444)
- update to lwIP-2.1.0: partial SACK support by default (de-selectable in menu) (#5126)
Documentation
- Mention eboot use of rtc memory (#5439)
- Add doc for ESP8266WebServer (#5400)
- documentation: add quick links (#5391)
- document wificlient loop (#5355)
- Update generic-class.rst (#5338)
- Fix doc for ESP8266WiFi (#5325)
- Update libraries.rst with ESP-NOW (#5322)
- typo fix (#5319)
- Add BearSSL documentation (#5311)
- Add missing decrement operator to I2C clockCount (#5292)
- Update debugging.rst (#5234)
- Fix Readme Link (#5215)
- Add BearSSL license info to README.md (#5211)
- Revert "Wrong directory for installation??" (#5199)
- fix doc link (#5190)
- Make softAP documentation state the correct min value (0) for the max_connection argument. (#5165)
- Wrong directory for installation?? (#5163)
- Require sphinx 1.7 due to bugs with new v1.8 (#5132)
- Fix formatting of bullet lists (#5098)
- Update a05-board-generator.rst (#5093)
- Update readme.rst (#5092)
- Soft-AP documentation update (#5088)
- Format lists for readability (#5082)
- doc: improve WiFi.persistent documentation (#5081)
- Analog input voltage can be 3.3V (#5020)
Boards
- ESPectro Core board support (#5419)
- Added 2M generic boards (#5404)
- support new board (invent one) (#5286)
- Fix NUM_ANALOG_INPUTS for Amperka WiFi slot (#5219)
- boards generator: updates (#5103)
- Fix boards.txt.py compatible with python3 (#4998)
- Update ESPduino pin definitions (#4828)