Skip to content

2.5.0-beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@igrr igrr released this 12 Dec 00:07

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

  • package: add version to board package name (#5046)
  • Minor fixes for #4999 (#5003)

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)

Tests / CI

  • device test updates (ping, test_millis_mm) (#5455)
  • fix device test test_http_server (#5414)
  • Split PIO job into even and odd builds (#5405)
  • Move from container to VM per Travis requirements (#5367)
  • Class mocks for sketch emulation on host (#5342)
  • Fix device/test_http_client tests (#5309)