github esp8266/Arduino 2.7.2
Release 2.7.2

latest releases: 3.1.2, 3.1.1, 3.1.0...
3 years ago

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)

Don't miss a new Arduino release

NewReleases is sending notifications on new releases.