Skip to content

Release 2.7.1

Compare
Choose a tag to compare
@igrr igrr released this 07 May 20:50
a543262

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)