Skip to content

@igrr igrr released this Aug 3, 2018 · 556 commits to master since this release

Changes since 2.4.1.

Core

  • Correct millis() drift (#3078, #4264)
  • Raise exception when assert happens (#4480, #4482)
  • Fix stack trace unwinding within continuation library (#4385)
  • Return from Print::write(buffer, size) if any byte fails to write (#4527)
  • Warn if inefficient Print::write implementation is not overridden (#4537)
  • String: fix overlapping memcpy call in String::trim (#4938)
  • String: fix creation and concat issues (#4955, #4962)
  • Increase available DRAM by moving exception/panic messages into IRAM, assert strings and file names into flash. (#4187)
  • Increase available IRAM by moving cont_init from into flash (#4384)
  • Save 192 bytes of RAM bytes when attachInterrupt is not used (#4601)
  • Move continuation stack from .bss onto sys stack, saving 4kB of RAM, if WPS is not needed (#4622)
  • Allow changing vtables location (#4567, #4582)
  • Add linker MAP artifact to standard build process (#4186)
  • Record information on failed allocation, dump it to UART on a panic (#4220)
  • Fix OOM debug support for Arduino 1.9 (#4357)
  • HardwareSerial: RX fifo latency fix (#4328)
  • HardwareSerial: improve UART FIFO overrun handling and stability (#4536, #4568)
  • HardwareSerial: add functions for baud rate detection (#4978)
  • Add support for hardware Sigma Delta generator (#4119, #4494)
  • New waveform generation code supporting multiple analogWrite, Servo, Tone at the same time (#4640, #4872)
  • Scheduled interrupt handler support (#4609, #4879, #4890)
  • Allow using GPIO16 for analogWrite (#4895)
  • Fix digitalPinToBitMask(), portOutputRegister(), portInputRegister() for GPIO16 (#4964)
  • I2S: add callbacks on DMA reads (#4205)
  • I2S: multiple fixes for IRQs, protocol, factoring (#4574)
  • I2S: add input API and examples (#4539)
  • Updater: fix overflow in binary size check (#4552)
  • Updater: copy the existing flash mode over the one set in an OTA update image (#4876, #4877)
  • Allow sending debug information to classes other than HardwareSerial (#4611)
  • Add ESP.deepSleepMax() function to get maximum possible deep sleep time (#4627)
  • Add avr/pgmspace.h and handling of __PROG_TYPES_COMPAT__ for compatibility (#4619)
  • Force ARDUINO macro to 10805
  • Fix base64_encode_expected_len returning value which is not large enough (#4773, #4786, #4934)
  • Add extra parens in SDK macro definitions (#2617, #4508)

ESP8266WiFi

  • Fix memory leak when reusing WiFiClient object (#4497, #4516, #4549)
  • Fix issues around WiFi.persistent handling (#3798)
  • Add WiFi.getAutoReconnect() function (#4359)
  • Fix random crash in ClientContext::write(Stream) and write_P(PGM_P buf, size_t size) (#2504, #4530)
  • Add softAP SSID & PSK query API (#4138)
  • Fix WiFiClient not detecting connection reset by peer (#4626)
  • Allow scanning on specific channel or for specific SSID (#4636)
  • lwip2 Update (#4729)
  • lwip2: Fix static address management (#4677)
  • lwip2: fix disconnection, fix reconnection (#4851)
  • Add new WiFiClientSecure and WiFiServerSecure implementations based on BearSSL, offering lower memory consumption and higher robustness (#4273)
  • WiFiClientSecure: report connected when any bytes are available for read (#4754)

Other Libraries

  • ESP8266mDNS: support for compressed DNS messages (#3769, #4648, #4752)
  • ESP8266mDNS: return bool from addServiceTxt (#4507)
  • ESP8266mDNS: clear previous result when queryService() is called (#4893, #4894)
  • SPISlave: add end method (#4248)
  • ESP8266WebServer: fix WebServerSecure streamFile() (#4545)
  • SPI: const-ify input buffers (#4552)
  • SPI: Support Arduino API's SPI::transfer(void*, size), optimized (#4925)
  • I2C: improve bus recovery procedure (#4070)
  • I2C: add support for 50kHz clock (#3401)
  • I2C: clock frequency set by setClock now survives re-initialization (#3389)
  • Add ESP_EEPROM to list of ESP libraries (#4529)
  • SoftwareSerial: update to version to 3.4.1 (#4623)
  • ESP8266HTTPUpdate: make timeout configurable (#4705)
  • ESP8266HTTPUpdateServer: allow to update credentials after setup is performed (#4789)
  • ESP8266SSDP: add setUUID method (#4981)
  • ESP8266WiFiMesh: new version (#4718)

Documentation

Boards

  • Support 4M2M board option (#4454)
  • Support 512k32k board option (#4871, #4880)
  • Define SDA and SCL pins for Olimex MOD-WIFI-ESP8266(-DEV) (#4562)
  • Add WiFiduino board (#4590)
  • Change flash mode from QIO to DIO for gen4iod board (#4616)
  • A0 pin number can be changed in the variants (#4778)
  • Add WiFi Slot board (#3916)
  • Wemos D1 Mini Lite documentation update (#4809)
  • NodeMCU documentation update (#4715)
  • Add XinaBox board (#4929)
  • Add Seeed Wio Link board (#4943)
  • Change "WeMos" to new brand name "LOLIN" (#4984)
Assets 4
You can’t perform that action at this time.