Skip to content

@d-a-v d-a-v released this Aug 2, 2020

Hotfixes:

  • Backport #7478: Fix uninitted class variables from #7464
  • Backport #7491: Fixed PUYA flash write buffer alignment
Assets 4

@d-a-v d-a-v released this Jul 27, 2020

Hotfix against "OTA of large files results in device hangs" (#7458)

Also includes backports from 3.0.0-dev:

  • boards: 4dsystems (gen4iod) updates (#7433)
  • Free space of overwritten files in LittleFS (#7434)
  • Keep client certs when server authentication set (#7464)
  • CVE-2020-12638 workaround for WPA downgrade attack (#7486)
  • Initialize _ledPin (#7487)
  • Correct stack string buffer length (#7488)
Assets 4

@igrr igrr released this Jul 7, 2020

Changes since 2.7.1 (to 2.7.2)

Boot

Core

  • Add namespace to FS references in CertStore (#7413)
  • For UMM_CRITICAL_METRICS fixed time_stats initializer. (#7390)
  • Add a "-- CUT HERE --" marker to exception output (#7369)
  • CallbackList API: improve to facilitate executer to know the number of active callbacks (#7361)
  • umm_malloc manual merge with upstream (#7337)
  • Fix sign in configTime(tz,dst,) (#7320)
  • Bring SPIFFS up to latest version (#7276)
  • Allow non-aligned PSTR() (#7275)
  • Crypto: Add required BearSSL include in header (#7310)

Build system

  • Use a prebuild, portable Python3 for OSX (#7348)
  • Recognize MSYS(MINGW) as Windows for toolchain get (#7358)
  • elf2bin.py objcopy cleanup (#7351)

Libraries

  • WiFiMulti: Ability to set connect timeout in WifiMulti->run (#7420)
  • BearSSL: Add namespace to FS references in CertStore (#7413)
  • httpclient: fix error meaning (#7401)
  • EspSoftwareSerial 6.8.5: fixes parity for TX with odd word size modes (#7399, #7367, #7354)
  • Add ESP8266WebServerTemplate::enableCORS(bool _ec) (#7388)
  • SPI: abs -> std::abs and cast fixes (#7362)
  • Fix oversight for ap gw (#7366)
  • ESP8266WiFiAP: fix IP address in some cases (#7363)
  • LittleFS: Return FALSE on seek past EOF (#7324)
  • Webserver: Flash size reduction for mime-type (#7312)
  • BearSSL: Allocate stack for SigningVerifier (#7291)
  • ESP8266HTTPClient fixes (#6476)

Examples

  • Update GitHub cert fingerprint in example (#7397)
  • Multi-client Server Sent Event (aka EventSource) demo (#7012)
  • Webserver: Graph example (#7299)

Documentation

  • Add some pending methods to generic-class docs (#7427)
  • doc fixes for LittleFS (#7385)
  • Fix typo in readme.rst (#7379)
  • Add documentation on recovering from deep sleep with WAKE_RF_DISABLED (#7338)
  • Add FTP client/server lib link (#7336)
  • Document ESP.getMaxFreeBlockSize() != max malloc size (#7328)

Boards

  • modwifi: I2C pin assignment fix (#7416)

Building on host

  • emulation on host: option for FS persistence location (#7424)
  • emulation on host: FS: minor reset fix (#7417)
  • emulation on host: missing mock functions, improve host interface handling (#7404)
  • emulation on host: lwIP always receive multicast packets, enable and fix multicast udp server (#7386)
  • emulation on host: fix binding from a particular interface (#7372)
  • emulation on host: various fixes (#7355)

Changes since 2.7.0 (to 2.7.1)

Hotfixes

  • Revert XMC changes in eboot that were causing OTA failure (#7277)
  • Revert MDNS listen the current iface causing MDNS death (#7266)

Core (FS)

  • Deprecate SPIFFS, move examples to LittleFS (#7263)

Documentation

  • Document USTX in USS/UxS not working as expected (#7265)

Changes since 2.6.3 (to 2.7.0)

Breaking Changes

None

Great additions

  • Allow GZIP compressed flash updates (#6820)
  • Add CryptoInterface library (#6961, #7252)

Core

  • Added missing "if (umm_heap == NULL) {..." to umm_free_heap_size_lw (#6929)
  • Code size optimisations for ESP.getFullVersion() (#6936)
  • I2C: allow clocks below 100KHz (#6934)
  • Reduce mem footprint of ESP.getResetInfo() (#7030)
  • Code size optimisation of ESP.getResetReason() (#7029)
  • Low-Power demo (#6989)
  • Fix WMath's map() implementation for inverse/round-trip mapping (#7027)
  • Fix optimistic_yield to not yield on each call after x µs (#6804)
  • Updated stack offsets for postmortem stack dump (#7066)
  • Corrected stack start and end in stack_thunk_dump_stack() (#7085)
  • configTime(tzsec,dstsec,): fix UTC/local management (#6993)
  • dtostrf: round fix (#7068, #7093)
  • simple TZ api: bypass sprintf/sscanf (= do not use 7KB flash) (#7109)
  • Pull GPIO initialization into its own 'weak' function. (#7044)
  • Attribute __real_system_restart_local() as (noreturn) (#7167)
  • Move floating point from libgcc out of IRAM (#7180, #7188)
  • Tone: extend to 20KHz (#7179)
  • Add CryptoInterface library (#6961, #7252)
  • Fix for MD5 leak bug (#7197, #7208)
  • Use F_CPU if (?) CPU frequency switch is compile-time only (#6833)
  • expose setTZ() (#7234)
  • XMC flash support - WIP (#6725)
  • Allow waveforms to be specified in clock cycles (#7211)
  • Waveforms: cherry pick nice changes from ongoing #7122 (#7218)
  • Allow stopWaveform to stop timed-out waveforms (#7236)
  • Hold transmitter in reset during rate change (#7248)
  • Fix minor GCC10 static analyzer warnings (#7255)

Core (FS)

  • Skip . and .. on LittleFS::dir::rewind() (#6959)
  • Only update LittleFS timestamp when opened write (#6956)
  • Update LittleFS to latest upstream head (#6986)
  • Add SDFS::Dir::fileTime callback (#6985)
  • Add LittleFS support to ESP8266WebServer.serveStatic() (#6987)
  • Fix boolean/logical & mixup in LittleFS open (#6996)
  • Add fileCreation/getCreation create-time accessors (#7000)
  • Improve LittleFS support (#7071)
  • Update to LittleFS v2.2.0 (#7240)

Network (Core, Library/ESP8266WiFi)

  • lwip2: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes (#6887)
  • Fix/enable UDP packet reassembly (#7036, #7132)
  • SNTP: backport espressif sntp api for lwip2 (#7097)
  • TCP: fixes backlog limit handling, and allows ephemeral TCP connections (#7096)
  • lwip2 update: stop dhcp when interface goes down (#7114)
  • Fix UDP send to IPv6 link local addresses (#6541)
  • Fix TCP send to IPv6 link local addresses (#7207)
  • Updating _port to really used port and made _port accessible (#7003)
  • Make DNS resolution order selectable during runtime or compile time (#6865)
  • WiFi: ARP gratuitous API for wifi station mode (#6889, #7203)
  • fix null pointer call from WiFiClient::localIP() to IPAddress (#7221)

Library - ESP8266WiFi (SSL/TLS)

  • Update BearSSL, increase SSL stack (#6980)
  • Remove memory leak on multiple calls to initCertStore (#7021)
  • Update to latest BearSSL (#7098)
  • Abort if BearSSL stack allocation fails (#7152)

Flashing - OTA - Updater

  • Allow GZIP compressed flash updates (#6820)
  • Add documentation for compressed OTA, fix bug (#6924)
  • Add a CRC32 over progmem and ESP.checkFlashCRC (#6566)
  • Fix Updater potential overflow, add host tests (#6954)
  • allow ".bin.gz" filter in HTTP updater file selector (#7026)
  • Updater: prevent closing webserver (option) (#6969)
  • Use 2nd stack for update signature verification (#7149)
  • Fix espota completion success/fail check (#7204)

Library - SoftwareSerial

Library - ESP8266WebServer

  • PROGMEM footprint cleanup for responseCodeToString (#6950)
  • Fix search order for index.htm(l)(.gz) files (#7069)
  • Add Uri with support for regexUri and globUri (#6696)
  • Add flash helper constructor to Uri (#7105)
  • Expose webserver's chunk api (#7134)
  • Make getContentType available for 3rd party usage (#7254)

Library - ESP8266HTTPClient

  • Reduce temporary string creation in HTTPClient::sendHeader (#6937)
  • Move a couple larger strings from rodata to flash (#6976)
  • clear _canReuse in setUrl if its not a local redirect (#7039)
  • Fixes large payload issues for sendRequest (#7051)
  • Better follow redirection for HTTPClient (#7157)

Library - mDNS

  • Update LEAmDNS.cpp (fix issue #6982) (#7025)
  • use STA as default interface in mDNS (#7042)
  • Additions to UdpContext needed for LEAmDNS2 (#7048)
  • mDNS: protect MDNSResponder::queryService against misuse (#7216)
  • Add isRunning getter to check is ::begin already called (#7219)
  • Changing listen to listen the current iface only instead of 0 (#7217)

Library - Servo

  • Define MAX_SERVOS to 12, like original Servo.h (#6999)

Libraries

  • Various String handling cleanups (Libraries&Core) (#6945)
  • Set a value for SSDP notify interval (#7110)

Documentation

  • Installation guide for PlatformIO (#7142)
  • Fix RST links for PlatformIO (#7143)
  • (STA) Fixed misplacement of back quotes (#7247)

CI

  • Fix Windows CI build (#6927)
  • fix CI: switch to python3 for pio (#7035)
  • update to new prebuilt win sed version (#7062)
  • Switch espressif8266 platform to development branch in PlatformIO build (#7170)
  • fix style checking: (#7222)

Examples

  • CaptivePortal: improve HTML quality (#7227)
  • ESP8266WebServer: Revamp of the FSBrowser and SDWebServer examples (#7182)

Boards

  • Made changes to include "ESP8266_" with ITEAD board names, {build.board}, (#7024)
  • Add support for eduino wifi (#6554)
  • Add 2MB obtion to 8285 generic board (#7163)
  • esp8285: properly initialize free gpio as input (#7165)

Build System

  • Add back mklittlefs for linux32 target (#7011)
  • Use a python3 script to call python3 (#6960)
  • boards.txt.py: Use correct file name when writing (#7018)
  • PIO: Allow using custom linker scripts (#7078)
  • package builder: updates for alpha releases (#7088)
  • Switch espressif8266 platform to development branch in PlatformIO build (#7170)
  • Use F_CPU if (?) CPU frequency switch is compile-time only (#6833)

Device tests

  • device tests: some of them can be run on host (#6912)
  • Add test for FS::open("w+") (#7241)

Boot

  • eboot: fix linking and padding (#7047)
  • Allow GZIP compressed flash updates (#6820)

Building on host

  • host build: optimistic_yield() wrongly delays() instead of avoiding excessive yields (#6802)
Assets 4

@igrr igrr released this May 7, 2020

Changes since 2.7.0 (to 2.7.1)

Hotfixes

  • Revert XMC changes in eboot that were causing OTA failure (#7277)
  • Revert MDNS listen the current iface causing MDNS death (#7266)

Core (FS)

  • Deprecate SPIFFS, move examples to LittleFS (#7263)

Documentation

  • Document USTX in USS/UxS not working as expected (#7265)

Changes since 2.6.3 (to 2.7.0)

Breaking Changes

None

Great additions

  • Allow GZIP compressed flash updates (#6820)
  • Add CryptoInterface library (#6961, #7252)

Core

  • Added missing "if (umm_heap == NULL) {..." to umm_free_heap_size_lw (#6929)
  • Code size optimisations for ESP.getFullVersion() (#6936)
  • I2C: allow clocks below 100KHz (#6934)
  • Reduce mem footprint of ESP.getResetInfo() (#7030)
  • Code size optimisation of ESP.getResetReason() (#7029)
  • Low-Power demo (#6989)
  • Fix WMath's map() implementation for inverse/round-trip mapping (#7027)
  • Fix optimistic_yield to not yield on each call after x µs (#6804)
  • Updated stack offsets for postmortem stack dump (#7066)
  • Corrected stack start and end in stack_thunk_dump_stack() (#7085)
  • configTime(tzsec,dstsec,): fix UTC/local management (#6993)
  • dtostrf: round fix (#7068, #7093)
  • simple TZ api: bypass sprintf/sscanf (= do not use 7KB flash) (#7109)
  • Pull GPIO initialization into its own 'weak' function. (#7044)
  • Attribute __real_system_restart_local() as (noreturn) (#7167)
  • Move floating point from libgcc out of IRAM (#7180, #7188)
  • Tone: extend to 20KHz (#7179)
  • Add CryptoInterface library (#6961, #7252)
  • Fix for MD5 leak bug (#7197, #7208)
  • Use F_CPU if (?) CPU frequency switch is compile-time only (#6833)
  • expose setTZ() (#7234)
  • XMC flash support - WIP (#6725)
  • Allow waveforms to be specified in clock cycles (#7211)
  • Waveforms: cherry pick nice changes from ongoing #7122 (#7218)
  • Allow stopWaveform to stop timed-out waveforms (#7236)
  • Hold transmitter in reset during rate change (#7248)
  • Fix minor GCC10 static analyzer warnings (#7255)

Core (FS)

  • Skip . and .. on LittleFS::dir::rewind() (#6959)
  • Only update LittleFS timestamp when opened write (#6956)
  • Update LittleFS to latest upstream head (#6986)
  • Add SDFS::Dir::fileTime callback (#6985)
  • Add LittleFS support to ESP8266WebServer.serveStatic() (#6987)
  • Fix boolean/logical & mixup in LittleFS open (#6996)
  • Add fileCreation/getCreation create-time accessors (#7000)
  • Improve LittleFS support (#7071)
  • Update to LittleFS v2.2.0 (#7240)

Network (Core, Library/ESP8266WiFi)

  • lwip2: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes (#6887)
  • Fix/enable UDP packet reassembly (#7036, #7132)
  • SNTP: backport espressif sntp api for lwip2 (#7097)
  • TCP: fixes backlog limit handling, and allows ephemeral TCP connections (#7096)
  • lwip2 update: stop dhcp when interface goes down (#7114)
  • Fix UDP send to IPv6 link local addresses (#6541)
  • Fix TCP send to IPv6 link local addresses (#7207)
  • Updating _port to really used port and made _port accessible (#7003)
  • Make DNS resolution order selectable during runtime or compile time (#6865)
  • WiFi: ARP gratuitous API for wifi station mode (#6889, #7203)
  • fix null pointer call from WiFiClient::localIP() to IPAddress (#7221)

Library - ESP8266WiFi (SSL/TLS)

  • Update BearSSL, increase SSL stack (#6980)
  • Remove memory leak on multiple calls to initCertStore (#7021)
  • Update to latest BearSSL (#7098)
  • Abort if BearSSL stack allocation fails (#7152)

Flashing - OTA - Updater

  • Allow GZIP compressed flash updates (#6820)
  • Add documentation for compressed OTA, fix bug (#6924)
  • Add a CRC32 over progmem and ESP.checkFlashCRC (#6566)
  • Fix Updater potential overflow, add host tests (#6954)
  • allow ".bin.gz" filter in HTTP updater file selector (#7026)
  • Updater: prevent closing webserver (option) (#6969)
  • Use 2nd stack for update signature verification (#7149)
  • Fix espota completion success/fail check (#7204)

Library - SoftwareSerial

Library - ESP8266WebServer

  • PROGMEM footprint cleanup for responseCodeToString (#6950)
  • Fix search order for index.htm(l)(.gz) files (#7069)
  • Add Uri with support for regexUri and globUri (#6696)
  • Add flash helper constructor to Uri (#7105)
  • Expose webserver's chunk api (#7134)
  • Make getContentType available for 3rd party usage (#7254)

Library - ESP8266HTTPClient

  • Reduce temporary string creation in HTTPClient::sendHeader (#6937)
  • Move a couple larger strings from rodata to flash (#6976)
  • clear _canReuse in setUrl if its not a local redirect (#7039)
  • Fixes large payload issues for sendRequest (#7051)
  • Better follow redirection for HTTPClient (#7157)

Library - mDNS

  • Update LEAmDNS.cpp (fix issue #6982) (#7025)
  • use STA as default interface in mDNS (#7042)
  • Additions to UdpContext needed for LEAmDNS2 (#7048)
  • mDNS: protect MDNSResponder::queryService against misuse (#7216)
  • Add isRunning getter to check is ::begin already called (#7219)
  • Changing listen to listen the current iface only instead of 0 (#7217)

Library - Servo

  • Define MAX_SERVOS to 12, like original Servo.h (#6999)

Libraries

  • Various String handling cleanups (Libraries&Core) (#6945)
  • Set a value for SSDP notify interval (#7110)

Documentation

  • Installation guide for PlatformIO (#7142)
  • Fix RST links for PlatformIO (#7143)
  • (STA) Fixed misplacement of back quotes (#7247)

CI

  • Fix Windows CI build (#6927)
  • fix CI: switch to python3 for pio (#7035)
  • update to new prebuilt win sed version (#7062)
  • Switch espressif8266 platform to development branch in PlatformIO build (#7170)
  • fix style checking: (#7222)

Examples

  • CaptivePortal: improve HTML quality (#7227)
  • ESP8266WebServer: Revamp of the FSBrowser and SDWebServer examples (#7182)

Boards

  • Made changes to include "ESP8266_" with ITEAD board names, {build.board}, (#7024)
  • Add support for eduino wifi (#6554)
  • Add 2MB obtion to 8285 generic board (#7163)
  • esp8285: properly initialize free gpio as input (#7165)

Build System

  • Add back mklittlefs for linux32 target (#7011)
  • Use a python3 script to call python3 (#6960)
  • boards.txt.py: Use correct file name when writing (#7018)
  • PIO: Allow using custom linker scripts (#7078)
  • package builder: updates for alpha releases (#7088)
  • Switch espressif8266 platform to development branch in PlatformIO build (#7170)
  • Use F_CPU if (?) CPU frequency switch is compile-time only (#6833)

Device tests

  • device tests: some of them can be run on host (#6912)
  • Add test for FS::open("w+") (#7241)

Boot

  • eboot: fix linking and padding (#7047)
  • Allow GZIP compressed flash updates (#6820)

Building on host

  • host build: optimistic_yield() wrongly delays() instead of avoiding excessive yields (#6802)
Assets 4

@igrr igrr released this May 1, 2020

Changes since 2.6.3 (to 2.7.0)

Breaking Changes

None

Great additions

  • Allow GZIP compressed flash updates (#6820)
  • Add CryptoInterface library (#6961, #7252)

Core

  • Added missing "if (umm_heap == NULL) {..." to umm_free_heap_size_lw (#6929)
  • Code size optimisations for ESP.getFullVersion() (#6936)
  • I2C: allow clocks below 100KHz (#6934)
  • Reduce mem footprint of ESP.getResetInfo() (#7030)
  • Code size optimisation of ESP.getResetReason() (#7029)
  • Low-Power demo (#6989)
  • Fix WMath's map() implementation for inverse/round-trip mapping (#7027)
  • Fix optimistic_yield to not yield on each call after x µs (#6804)
  • Updated stack offsets for postmortem stack dump (#7066)
  • Corrected stack start and end in stack_thunk_dump_stack() (#7085)
  • configTime(tzsec,dstsec,): fix UTC/local management (#6993)
  • dtostrf: round fix (#7068, #7093)
  • simple TZ api: bypass sprintf/sscanf (= do not use 7KB flash) (#7109)
  • Pull GPIO initialization into its own 'weak' function. (#7044)
  • Attribute __real_system_restart_local() as (noreturn) (#7167)
  • Move floating point from libgcc out of IRAM (#7180, #7188)
  • Tone: extend to 20KHz (#7179)
  • Add CryptoInterface library (#6961, #7252)
  • Fix for MD5 leak bug (#7197, #7208)
  • Use F_CPU if (?) CPU frequency switch is compile-time only (#6833)
  • expose setTZ() (#7234)
  • XMC flash support - WIP (#6725)
  • Allow waveforms to be specified in clock cycles (#7211)
  • Waveforms: cherry pick nice changes from ongoing #7122 (#7218)
  • Allow stopWaveform to stop timed-out waveforms (#7236)
  • Hold transmitter in reset during rate change (#7248)
  • Fix minor GCC10 static analyzer warnings (#7255)

Core (FS)

  • Skip . and .. on LittleFS::dir::rewind() (#6959)
  • Only update LittleFS timestamp when opened write (#6956)
  • Update LittleFS to latest upstream head (#6986)
  • Add SDFS::Dir::fileTime callback (#6985)
  • Add LittleFS support to ESP8266WebServer.serveStatic() (#6987)
  • Fix boolean/logical & mixup in LittleFS open (#6996)
  • Add fileCreation/getCreation create-time accessors (#7000)
  • Improve LittleFS support (#7071)
  • Update to LittleFS v2.2.0 (#7240)

Network (Core, Library/ESP8266WiFi)

  • lwip2: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes (#6887)
  • Fix/enable UDP packet reassembly (#7036, #7132)
  • SNTP: backport espressif sntp api for lwip2 (#7097)
  • TCP: fixes backlog limit handling, and allows ephemeral TCP connections (#7096)
  • lwip2 update: stop dhcp when interface goes down (#7114)
  • Fix UDP send to IPv6 link local addresses (#6541)
  • Fix TCP send to IPv6 link local addresses (#7207)
  • Updating _port to really used port and made _port accessible (#7003)
  • Make DNS resolution order selectable during runtime or compile time (#6865)
  • WiFi: ARP gratuitous API for wifi station mode (#6889, #7203)
  • fix null pointer call from WiFiClient::localIP() to IPAddress (#7221)

Library - ESP8266WiFi (SSL/TLS)

  • Update BearSSL, increase SSL stack (#6980)
  • Remove memory leak on multiple calls to initCertStore (#7021)
  • Update to latest BearSSL (#7098)
  • Abort if BearSSL stack allocation fails (#7152)

Flashing - OTA - Updater

  • Allow GZIP compressed flash updates (#6820)
  • Add documentation for compressed OTA, fix bug (#6924)
  • Add a CRC32 over progmem and ESP.checkFlashCRC (#6566)
  • Fix Updater potential overflow, add host tests (#6954)
  • allow ".bin.gz" filter in HTTP updater file selector (#7026)
  • Updater: prevent closing webserver (option) (#6969)
  • Use 2nd stack for update signature verification (#7149)
  • Fix espota completion success/fail check (#7204)

Library - SoftwareSerial

Library - ESP8266WebServer

  • PROGMEM footprint cleanup for responseCodeToString (#6950)
  • Fix search order for index.htm(l)(.gz) files (#7069)
  • Add Uri with support for regexUri and globUri (#6696)
  • Add flash helper constructor to Uri (#7105)
  • Expose webserver's chunk api (#7134)
  • Make getContentType available for 3rd party usage (#7254)

Library - ESP8266HTTPClient

  • Reduce temporary string creation in HTTPClient::sendHeader (#6937)
  • Move a couple larger strings from rodata to flash (#6976)
  • clear _canReuse in setUrl if its not a local redirect (#7039)
  • Fixes large payload issues for sendRequest (#7051)
  • Better follow redirection for HTTPClient (#7157)

Library - mDNS

  • Update LEAmDNS.cpp (fix issue #6982) (#7025)
  • use STA as default interface in mDNS (#7042)
  • Additions to UdpContext needed for LEAmDNS2 (#7048)
  • mDNS: protect MDNSResponder::queryService against misuse (#7216)
  • Add isRunning getter to check is ::begin already called (#7219)
  • Changing listen to listen the current iface only instead of 0 (#7217)

Library - Servo

  • Define MAX_SERVOS to 12, like original Servo.h (#6999)

Libraries

  • Various String handling cleanups (Libraries&Core) (#6945)
  • Set a value for SSDP notify interval (#7110)

Documentation

  • Installation guide for PlatformIO (#7142)
  • Fix RST links for PlatformIO (#7143)
  • (STA) Fixed misplacement of back quotes (#7247)

CI

  • Fix Windows CI build (#6927)
  • fix CI: switch to python3 for pio (#7035)
  • update to new prebuilt win sed version (#7062)
  • Switch espressif8266 platform to development branch in PlatformIO build (#7170)
  • fix style checking: (#7222)

Examples

  • CaptivePortal: improve HTML quality (#7227)
  • ESP8266WebServer: Revamp of the FSBrowser and SDWebServer examples (#7182)

Boards

  • Made changes to include "ESP8266_" with ITEAD board names, {build.board}, (#7024)
  • Add support for eduino wifi (#6554)
  • Add 2MB obtion to 8285 generic board (#7163)
  • esp8285: properly initialize free gpio as input (#7165)

Build System

  • Add back mklittlefs for linux32 target (#7011)
  • Use a python3 script to call python3 (#6960)
  • boards.txt.py: Use correct file name when writing (#7018)
  • PIO: Allow using custom linker scripts (#7078)
  • package builder: updates for alpha releases (#7088)
  • Switch espressif8266 platform to development branch in PlatformIO build (#7170)
  • Use F_CPU if (?) CPU frequency switch is compile-time only (#6833)

Device tests

  • device tests: some of them can be run on host (#6912)
  • Add test for FS::open("w+") (#7241)

Boot

  • eboot: fix linking and padding (#7047)
  • Allow GZIP compressed flash updates (#6820)

Building on host

  • host build: optimistic_yield() wrongly delays() instead of avoiding excessive yields (#6802)
Assets 4

@igrr igrr released this Dec 16, 2019

Changes since 2.6.2 (to 2.6.3)

Breaking Change

none

eboot

  • Rebuild eboot.elf to include #6823 changes (#6890)

Core

  • I2C: put inline helpers in IRAM for slave ISRs (#6898)
  • Add hh (byte) format for printf and scanf (#6896)
  • sntp callback: use a recurrent schedule function (#6888)
  • Use 128B chunks instead of 1B writes in Print::print(FlashStringHelper) (#6893)
  • updater: Only set flashmode byte when uploading an executable (#6891)
  • sdk:22x-191122 (optional, non default) (#6879)
  • removed TWI_CLOCK_STRETCH_MULTIPLIER (#6867)
  • added clock stretch yield, [issue 2162] fixed twi::status (#6860)
  • sntp: fix conflict with pre-included Arduino.h (#6853)

Libraries

  • udp: limit buffer depth (#6895)
  • Fix sending headers in #send_P(int, PGM_P, PGM_P, size_t) (#6881)
  • EspSoftwareSerial 6.4.0: Non-parity modes save 56 bytes of heap memory (#6882)
  • Webserver: Handle HEAD requests for static files correctly (#6837)
  • Webserver: fix sending char* (#6878)
  • Remove user_interface.h from gdbstub includes (#6862)

Documentation

  • Update PROGMEM.rst (#6872)

Examples

  • POST http client example (#2704)

Boards

  • fix NodeMCU v1.0 board option "Builtin Led" (#6905)

Build System

  • fix device tests (#6861)
Assets 4

@igrr igrr released this Nov 28, 2019

Changes since 2.6.1 (to 2.6.2)

Breaking Change

Arduino IDE FS plugin must be updated (#6807)

Build System

  • switch to firmware 2.2.x-190703 by default (#6826)

eboot

  • Move eboot_command_clear to after firmware copy (#6823)

Core

  • HWSerial: uninitialized stack object can have unintended bad values (#6846)
  • [BREAKING] Update FS plugin info for python3 compat (#6807)
  • FS upload: Make upload.py compatible with existing FS upload (#6788)
  • configTime: reset artificial timezone when using newlib (#6828)
  • Implement invert for HardwareSerial (#6816)
  • Mark esp_schedule IRAM_ATTR to make it ISR safe (#6809)
  • Weak binding lessens version dependency between ESP8266 and MT library CoopTask. (#6790)
  • Add stdint, move headers up in core_features.h (#6793)

Libraries

  • HTTPClient: Allow for POSTs larger than a few 100 bytes (#6800, #6830)
  • HTTPClient: fix in beginInternal() (#6786)
  • WiFi: use wificlient.available() where relevant (#6827)
  • EspSoftwareSerial: ctor/begin() compatibility to AVR/ESP8266/ESP32 (#6814)
  • BearSSL: Expand BSSL stack (#6819)
  • Add callbacks for ESP8266HTTPUpdate (#6796)
  • Add const char* content to ESP8266WebServer::send() (#6797)
  • WebServer: Only add "l" to XX.htm URLs if XX.html exists (#6794)
  • SSDP: add schema(Print &) const (#6798)
  • WiFiClient: Fix typo in mode timeout loop (#6801)
  • Update SdFat to not undefine F() macro (#6787)

Documentation

  • Add/unify comments for target and source sites of async scheduling via delay()/esp_yield()/esp_schedule() (#6780)
  • Change Sphinx version to latest (#6817)

Emulation on host

  • Using clockCyclesPerMicrosecond() in host build fails (#6844)
  • F_CPU is available and is 80000000 (#6841)

Examples

  • Terminate (fix) the chunked printDirectory (#6808)
  • Root page should be of type text/html (#6776)
  • Add missing "LittleFS.begin()" in LittleFS_Timestamp example. (#6762)
Assets 4

@igrr igrr released this Nov 14, 2019

Changes since 2.6.0 (to 2.6.1)

Breaking Changes

none

Build System

  • esptool.py: single command for erasing and flashing (#6765)
  • release script: remove makecorever.py call in released version (#6747)

Core

  • Fix issue with functions scheduled from scheduled functions (#6770)
  • Update String::concat(char*, len) to allow non null-term strings (#6754)
  • Update to LittleFS 2.1.3 (#6757)
  • WString explicit converters to reduce Flash size (#6759)
  • Add ipv4_addr_t for espconn/LwIP1.4 compat (#6740)

Libraries

  • Minimize header use, move Ticker function definitions into cpp file (#6496)
  • EspSoftwareSerial release 6.1.1, "9bit" support (#6761)
  • Updated EspSoftwareSerial brings backward compatibility for ctor/begin() pair (only for the common cases with complete default argument use) (#6746)

Boards

  • board NodeMCUv1 menu: led selection (2, 16) (#6743, #6748)

Documentation

  • Add some useful links (#6744)
  • Mention erasing arduino15 contents before installing git (#6741)
  • document how to get POST body in ESP8266WebSever (#6736)
Assets 4

@igrr igrr released this Nov 9, 2019

Changes since 2.5.2 (to 2.6.0)

Breaking Changes

  • SoftwareSerial constructor - will be fixed in 2.6.1

Great additions

  • Ets intr lock nest (#6484)
    This great fixing PR has - among others - closed the old infamous #2330
  • Add LittleFS as an optional filesystem w/subdirectories, API compatible w/SPIFFS and SDFS
    (but not on-flash-format compatible) (#5511)

Build System

  • Update esptool reset method (#6429)
  • Fix Python3 errors for device tests (#6670)
  • Dynamically find the Python3 dir on Windows (#6646)
  • esptool-2.7 (#6634)
  • CI: trusty (u14.04) -> bionic (u18.04) (#6627)
  • remove esptool.py --trace option (#6606)
  • prepare alpha channel release builder (#6512)
  • Move all PSTRs to own section, allow string dedup (#6565)
  • use arduino IDE stable in CI (#6572)
  • Add 20/26MHz Flash frequencies for slow/cheap flash chips on the Generic ESP board (#6552)
  • Add segment size printout to standard build process (#6525)
  • Fix tool name to point to proper JSON entry (#6513)
  • Run makecorever.py before specific prebuild hooks. (#6504)
  • Add Win32 build to CI system (#6493)
  • Add OSX build to CI, fix OSX builds (#6492)
  • Fix the python3 directory so scripts work on Win32 (#6472)
  • Move all scripts and documentation to Python3 (#6378)
  • fix arduino builder command line (#6461)
  • Prevent rewriting core_version.h if content unchanged (#6414)
  • esptool: 3M-baud serial upload speed (#6399)
  • Move to -std=g++11 from -std=c++11 (#6339)
  • Upgrade to 2.5.0-4 toolchain w/improved pgm_read_x, C++ exceptions (#6273)
  • Clean tools key of obsolete version on next release (#6258)
  • esptool.py: disable 9600bauds in menu for flash upload serial speed (#6292)
  • Prepare signing before sketch is compiled (#6287)
  • Refactored to avoid compiler warning (#6278)
  • Make SPIFFS be an integer number of blocks (#5989, #6537)
  • Updater signature validation - format incompatible w/RFC8017 (#6250)
  • Fix device test environment variables (#6229)
  • Expand gitignore to cover files created by Visual Micro (#6231)
  • Update mklittlefs to match library (#6230)
  • filter weird characters from esp output to python (#6226)
  • Add some more CI tests for String::replace (#6193)
  • IDE menu info: change SPIFFS -> FS and show max OTA size (#6159)
  • emulation on host updates (#6210, #6211, #6248, #6327, #6342, #6507)

Core

  • Add missing time.h include, use relative include path on time.h includes (#6730)
  • Save 16 bytes RAM by placing esp8266_gpioToFn (core_esp8266_wiring_digital.cpp) array in PROGMEM (#6703)
  • precache() - preload code into the flash cache (#6628, #6674)
  • Double I2C read in one transaction skips a clock pulse (#5528) (#6654)
  • Move cont_run/cont_yield out of IRAM (#6617)
  • NTP-TZ-DST example: list SNTP servers (#6611)
  • Remove duplication and incompatible declarations in sntp.h (#6610)
  • cleanups in ESPClass (#6608)
  • Cleanup base64::encode functions (#6607)
  • use a scheduled function for settimeofday_cb (#6600)
  • Fix pgm_read_float_unaligned macro (#6593)
  • Base64::encode : const correctness / String by reference passing (#6581)
  • Replace ASM block w/C macro for PSTR (#6577)
  • Speed up empty String creation slightly (#6573)
  • const correctness / String by reference passing cleanups (#6571)
  • Remove duplicated sha1 implementation (Fixes #6568) (#6569)
  • Add typedef for putc1, fn_putc1_t. (#6550)
  • Add time to filesystem API (#6544)
  • Add memmove_P, use it in String to ensure F() safety (#6514)
  • Support FS update in two steps (#6505)
  • Add ::updateBaudRate(unsigned long baud) to change the baudrate after begin was called (#6494)
  • Update UART selection for Boot ROM ets_putc, when debug port is selected. (#6489)
  • Wakeup delayed scheduling (#6485)
  • Inline ESP::getCycleCount() to make it safe to call from ISRs (#6477)
  • move timer functions to iram (#6466)
  • Allow Print::println() to work with PROGMEM strings (#6450)
  • Update core with upstream umm_malloc (#6438)
  • Remove ROM routines from libc.a, save progmem (#6432)
  • Fix reverse dependency core Updater -> library ESP8266WiFi (#6398)
  • ensure consistency for gdb hooks signatures (#6391)
  • Uncouple uart from GDBStub library (#6390)
  • fix _min and _max macros (#6374)
  • time: import IANA timezone definitions, expose SNTP API (#6373)
  • Refactor HardwareSerial.cpp for consistent use of PolledTimeout (#6371)
  • wstring: fix concatenation from flash (#6368)
  • enable puya support by default (can be disabled with -DPUYA_SUPPORT=0) (#6362, #6619)
  • Preserve prior bitrate for I2S begin (#6349)
  • Add a FS::check() optional method (#6340)
  • tools: fixed bug to select signed bin (#6334)
  • exceptions: optionally enforce c++ standards (#6333)
  • Reduce the IRAM usage of I2C code by 600-1500 bytes (#6326)
  • Clear updater state on any error (#6325)
  • Add using fs::SPIFFSConfig to FS.h (#6324)
  • Don't throw exceptions from operator new by default (#6312)
  • Make delay() and loop_end() weak functions (#6306)
  • Added memory fence to xt_rsil() (#6301)
  • Fix for future GCC 9.1 warnings (except Ticker.h, gdbstub) (#6298)
  • Create (set/is)empty methods for String class (#6293)
  • Fix raise_exception() (#6288)
  • proposed umm_malloc improvements (#6274)
  • Clean up code to build under GCC7, fix pgm_read_unaligned (#6270)
  • Clean up trivial gcc -wextra warnings (#6254)
  • using std::nothrow instead of malloc (#6251)
  • Do not call yield() from timedRead() or timedPeek() when _timeout is set to 0. (#6242)
  • Put InterruptLock (from interrupts.h) into namespace esp8266 to fix now and future (#6225)
  • Move umm_malloc back to IRAM (#6161)
  • Make SSO support \0s, use memmove, add test (#6155)
  • Add FS::info64 call for filesystems > 4GB (#6154)
  • Bugfix: attach interrupt (#6049) (#6048)
  • add regular scheduled functions (#6039, #6137, #6147, #6158, #6214, #6228, #6233)
  • Implementation of a generic CallBackList (#5710)
  • Serial.flush modification (#5293)

Style

SDK

Boards

  • board filter support (+ iTead sonoff, ESP-Mx boards) (#6643)
  • Adds SparkFun Blynk Board (#6713)
  • Fix espduino verbose upload (#6426)
  • Allow use of LED16 for generic boards (#6343)

Library - ESP8266WiFi

  • Add wait loop at the end of WiFi::mode (+refactor can_yield) (#6721)
  • ClientContext: restore use of two different pending booleans for connect and write #6483
  • standardizes processing of _delaying in lwIP callbacks (remove assert) (#6460)
  • lwIP-1.4: use fixed locking functions (#6455)
  • ClientContext: break timeout delays also on error while writing or connecting (#6454)
  • new network feature: NAPT (widely known as NAT) (#6360)
  • Experimental: add new WiFi (pseudo) modes: WIFI_SHUTDOWN & WIFI_RESUME (#6356)
  • udp remote pbuf helper: honor fragmented packets (#6222, #6263)
  • TCP connect and send delay fix (#6213)
  • lwip2: fix setting static ip address (#6194)
  • Add timeout to STA::waitForConnectResult (#5371)
  • added public cleanAPlist() function (#4107)

Library - ESP8266WiFi (SSL/TLS)

  • Fix WiFiClientSecure::available() blocking on dropped connections (#6449)
  • Set method _connectSSL as protected (#6424)
  • SSL: Fix Crash with basic ciphers (#6402)
  • Update to latest BearSSL (#6337)
  • SSL: Add a dump of received FP and CERT when in debug mode (#6300)
  • Update axtls libs with fix for #6260 (#6262)
  • Fix mixup with boolean/bitwise or for BSSL probing (#6252)
  • Add an EC keyed certificat to BearSSL Server example (#6202)
  • Obey the BASIC_SSL request for TLS servers (#6187)
  • Added BR_OPT_NO_RENEGOTIATION flag to forbid TLS renegotiation (#6165)
  • 64 bytes more free by moving DES init constants to flash (#6160)
  • Save 484 bytes of heap foe BSSL applications (#6157)
  • Add basic canary check to BSSL stack thunk (#6156)
  • Expand BSSL stack to 5750 bytes (#6153)
  • Make CertStore natively use File interface (#6131)

Library - ESP8266WebServer

  • Fix trivial extra "\n" on web update success (#6350)
  • Add HTTP_HEAD to HTTPMethod and parse it (#6413)
  • Add plain char* signatures WebServer::sendContent (#6341)
  • webserver: restore legacy request handler (#6321)
  • allow for authentication with H(A1) with example (#6020)
  • Convert ESP8266WebServer* into templatized model (#5982)
  • fallback onto index.html if index.htm fails (#2614)
  • POST web server example (#2705)

Library - ESP8266HTTPClient

  • Fix build with -DHTTPCLIENT_1_1_COMPATIBLE=0 (#6597)
  • Fix setURL() handling of path-only parameters (#6570)
  • BasicHttpsClient: Updated demo certificate fingerprint (#6462)
  • Bugfix/esp8266 http client (#6176)
  • Infinite loop while passing File(FS.h) resolved (#5038)
  • Added possibility of sending POST with empty payload (#4275)

Library - mDNS

  • fix legacy unicast responses (#6613)
  • Clean up remaining non-LeaMDNS diffs from gcc4.8 to gcc7.2 (#6279)
  • fix random crash on startup (#6261)
  • restriction to a single interface (#6224)

Library - SPI

  • Set SPI_HAS_TRANSACTION to 1 (#6591)
  • Spi slave improvments (#6580)
  • SPI: wrong value for setFrequency() (#6409)

Library - Ticker

  • Ticker: Fix callback casting. (#6282)
  • Ticker: Use placement new for ETSTimer - no heap fragmentation (#6164)
  • The use of bind in Ticker.h is prone to type inference failure (#6129)

Libraries

  • EspSoftwareSerial release 5.4.0 with performance/error rate improvement in TX (#6722)
  • Update EEPROM.cpp (#6556, #6599)
  • Put more string literals into PROGMEM (#6588)
  • add or improve some debug messages (#6508)
  • OTA: fixed no "OK" ACK for Signed Update (#6351)
  • FS: Update LittleFS/SdFat to current project head (#6345)
  • ConfigFile: Updated Example to use ArduinoJson6 (#6203)
  • DNSServer: Add support for newer mobile OS changes. (#5529)
  • ESP8266HTTPUpdate: Added Chip ID into HTTP header in lib (#3877)
  • ESP8266HTTPUpdate: Allow Filesystem update (#3732)

Documentation

  • Re-wording of ATOMIC_FS_UPDATE documentation (#6693)
  • Update installing.rst (#6625)
  • Installing (#6624)
  • Minor FS documentation change from #2904 (#6563)
  • Add interrupt section to docs (#6560)
  • Add info about installing python3 on Mac, Linux (#6558)
  • Update EEPROM library documentation (#6548)
  • Edited OTA readme, added Stream Interface snippet (#6487)
  • Fix the number of examples (#6407)
  • Grammar edits in documentation (#6401)
  • fix documented parameter (#6392)
  • Update WiFiServer docs for ::write(all clients) (#6338)
  • Fix typo in doc (#6313)
  • Minor doc update, "How to make a PR" link (#6297)
  • add documentation to scheduled functions (#6234)
  • Fix editing, typos and grammatical errors (#6207)
  • Document ISRs need ICACHE_RAM_ATTR before them (#6141)
Assets 4

@igrr igrr released this May 20, 2019

Changes since 2.5.1 (to 2.5.2)

Core

  • Add explicit Print::write(char) (#6101)

Build system

  • Fix typo in elf2bin for QOUT binary generation (#6116)
  • Support PIO Wl-T and Arduino -T linking properly (#6095)
  • Allow *.cc files to be linked into flash by default (#6100)
  • Use custom "ElfToBin" builder for PIO (#6091)
  • Fail if generated JSON file cannot be read (#6076)
  • Moved 'Dropping' print from stdout to stderr in drop_versions.py (#6071)
  • Fix PIO issue when build environment contains spaces (#6119)

Libraries

  • Remove deadlock when server is not acking our data (#6107)
  • Bugfix for stuck in write method of WiFiClient and WiFiClientSecure until the remote peer closed connection (#6104)
  • Re-add original SD FAT info access methods (#6092)
  • Make FILE_WRITE append in SD.h wrapper (#6106)
  • Drop X509 after connection, avoid hang on TLS broken (#6065)
Assets 4
You can’t perform that action at this time.