- Notifications
You must be signed in to change notification settings - Fork13.3k
Release 3.0.2
· 347 commits to master since this release
cf6ff4c This commit was created on GitHub.com and signed with GitHub’sverified signature. The key has expired.
Release 3.0.2 Notes
(includes 3.0.1 and 3.0.0 release notes)
Core
- Internal API: add comments and corrections (#8201)
- String: Avoid copying past end of buffer in ::concat (#8198)
- Call umm_init just before starting SDK (#8207)
- Clean up use of "byte" as a type. uint8_t or (C++17) std::byte are better. (#8090)
- Fix PRxxx printf format macros (#8222)
Libraries
- Update to EspSoftwareSerial bug fix release 6.12.7 (#8195)
- Fixes failing https connections to HelloServerBearSSL (w/MMU48KIRAM) (#8206)
- Use valid categories in library.properties of bundled libraries (#8221)
- Netdump printf fix (#8215)
- Fix with NO_GLOBAL_INSTANCES (#8184)
- Make multiple FS begin calls noops() SDFS/LittleFS (#8235)
CI
- Copy released JSON to board URL, not new one (#8182)
Build system
- Make mkdir.py work under python<3.5 (#8194)
- Certificate and public keys automatic updater (#8218)
- Use only installed Python on Windows (#8226)
Board definitions
- Add wifi kit 8 to boards (#8190)
Release 3.0.1 Notes
Breaking Changes
- BREAKING: "i2s.h" removed, I2S library added (#8108)
Core
- Make String reallocation warning more descriptive (#8131)
- Normalize core header's include guard. (#8110)
- makeword: sync header and implementation (#8097)
- Use optimal bundled library names (#8088) (#8098)
- Added IRAM_ATTR to _stopPWM() so that digitalWrite() would work inside ISR. Fixes#8043 (#8044) (#8048)
- makecorever.py: restore ARDUINO_ESP8266_GIT_VER even without .git/ (#8138)
IDE
Libraries - LittleFS
- Re-add mklittlefs to package.json, fixing "ESP8266 LittleFS Data Upload" (#8060)
- Don't crash when including LittleFS.h w/no FS (#8173)
Libraries - SD/SDFS
- SDFS: fix AvailableForWrite: do not always return 0 when space is available (#8167)
Libraries - ESP8266httpUpdate
- ESP266httpUpdate: remove dead API and fix doc (#8063)
Libraries - ESP8266WiFi
Libraries - SoftwareSerial
- Update EspSoftwareSerial to bug fix release 6.12.6
Libraries - ESP8266HTTPClient
- ESP8266HTTPClient: remove old example (#8111)
- Change protocol detection so uppercase or lowercase works (#8137)
Toolchain
- Update toolchain to gcc 10.3 w/patches (#8104) (#8103)
- Update toolchain to fix pgm_read_float_unaligned (#8091)
- Remove include and lib folders removed since 3.0.0 core (#8125)
- Add errors on invalid/missing function return type (#8165)
- GNU source: honoring libc requirements (#8147)
PlatformIO
Documentation
- Fix readthedoc python dependencies (#8166)
- Documentation: Arduino IDE options: fix hyperlinks and format, options (#8158) (#8154)
CI / Release / Environment
- Add code-spell spelling checks to CI (#8067)
- Release script: protect bash variables and add logs, major/minor/rev macro addition, BASH fix (#8074) (#8126) (#8127) (#8168)
- Remove some no longer applicable artifacts from .gitignore (#8170)
Release 3.0.0 Notes
Great additions
- PoC cache configuration control (aka +16KB heap!) (#7060)
- Hardware WDT Stack Dump Tool (#7010)
- Update to GCC 10.2 (#7607)
Breaking: Deprecation - Removal
- BREAKING: httpclient: remove deprecated API (#7617)
- BREAKING: Update Arduino.h, remove TIM_DIV265 (#7440)
- BREAKING: Remove lwip-v1.4 specific code (#7436)
- BREAKING: Remove axTLS from code and documentation (#7437)
Breaking changes summary
- BREAKING: WString: return bool instead of unsigned char (#7939)
- BREAKING: wifi: remove pseudo-modes for shutdown, expose
::[resumeFrom]shutdown()(#7956) - BREAKING: Disable WiFi at boot by default (#7902,#7990,#7993)
- BREAKING: base64::encode() compat with esp32: no newlines by default (#7910)
- BREAKING: Use IRAM_ATTR in place of ICACHE_RAM_ATTR (#7921)
- BREAKING: Upgrade to upstream newlib 4.0.0 release (64 bits time_t) (#7708)
- BREAKING: Change servo defaults to safer defaults (#7023)
- BREAKING: Add Print::availableForWrite method (#7658)
- BREAKING: Change return EEPROM.end() to bool (#7630)
- BREAKING: Change return type of channel() (#7656)
- BREAKING: Change return type of RSSI() (#7657)
- BREAKING: Add Wrong Password wifi status case (#7652)
- BREAKING: analogWriteRange 8-bit default (#7456)
- BREAKING: HTTPClient: RequestHandler: Pass String by const reference (#6583)
Boot
- eboot: .RODATA, upstream uzlib, move CRC, save 112 bytes (#7844)
- Update eboot to build with C17, not C99 standard (#7837,#7838)
- Fix eboot crash with exception 28. ets_printf() should take pointer argument. (#7666)
- Use 32b loads to set print strings (#7545)
- Comment out verify step in eboot.c (#7468)
Core
- BREAKING: WString: return bool instead of unsigned char (#7939)
- ESP class should be a singleton: make all member functions static. (#8006)
- Updated HWDT to use IRAM_ATTR instead of ICACHE_RAM_ATTR. (#8013,#8018)
- Hardware WDT Stack Dump Tool (#7010)
- WString: direct operator overloads instead of StringSumHelper (#7781)
- Clean up ICACHE_RAM_ATTR in VM PR (#7924)
- Added ESP32 compatible methods for setting/getting sleep mode (#7901)
- Enable 128K virtual memory via external SPI SRAM (#6994)
- Stream::send() (#6979,#7935,#7951,#7987,#7995)
- [BREAKING] base64::encode() compat with esp32: no newlines by default (#7910)
- BREAKING - Use IRAM_ATTR in place of ICACHE_RAM_ATTR (#7921)
- OOM debug: warn about String reallocation (#7908)
- OOM: avoid warn when calling *alloc(0) (#7909)
- String: add missing long long operator implementations (#7888)
- Support to reboot into UART download mode (#7854,#7897)
- String: compatibility with 64 bits scalars (#7863)
- Update toolchain to support std::remainder (#7849)
- allow to set pin to OUTPUT_OPEN_DRAIN in analogWriteMode (#7841)
- Add 24-bit mode to I2S (#7835)
- Hexdump fix&update (#7831)
- improve silicon aes_unwrap (#7773)
- Supersede#3856, remove undef min/max (#7824)
- Add stub for analogReference() (#7809)
- UART: add yield (#7799)
- BREAKING - Upgrade to upstream newlib 4.0.0 release (#7708)
- Update to latest uzlib upstream (#7776,#7782)
- i2s: adds i2s_rxtxdrive_begin(enableRx, enableTx, driveRxClocks, driveTxClocks) (#7748)
- PoC cache configuration control (#7060,#7754,#7767,#7768,#7812,#7816,#7820,#7790)
- Receiving no data in Updater is an error (#7729)
- PROGMEM compatibility changes to String (#7724)
- schedule_recurrent_function_us should be in iram (#7713)
- Re-implement PWM generator (#7715,#7712,#7022,#7231,#7800,#7996)
- WString: Optimize a bit (#7553)
- Fix sntp_get_real_time prototype in header (#7707)
- Provide String::indexOf for a char* needle (#7706)
- Fix newlib to support <+-nn> timezone names (#7699,#7702)
- BREAKING: Add Print::availableForWrite method (#7658)
- settimeofday_cb: distinguish from user or sntp (#7637)
- Add Copyright notice to Schedule.h (#7653)
- BREAKING: Add Wrong Password wifi status case (#7652)
- New flash writing method with offset/memory/size alignment handling (#7514)
- Add missing sntp_init/sntp_stop (#7628)
- Use direct member initialization instead of ctr initialisation (#7558)
- Prevent rewriting Updater_Signing.h if content unchanged (#7627)
- WString: c_str() returns null pointer after move (#7611)
- WString: mark move ctor as noexcept (#7610)
- sntp: use one time source and fix unsynchronized sntp time stamp (#7595)
- Add clear method to IPAddress (#7586)
- Check also if IP is not IPADDR_NONE (#7585)
- Fix gzip+signed OTA error (#7577)
- new w/ OOM now aborts by defaults, or throw an exception (#7536)
- getCpuFreqMHz(): fix when F_CPU is not defined (#7554)
- Updater MD5 cleanup on begin (#7534)
- Add synthetic IntegerDivideByZero exception (#7496)
- avoid circular #include dependence for PolledTimeout (#7356)
- base64 class uses String, adding harmless #include (#7517)
- sys/pgmspace.h: Refactor inline asm (#7510)
- Add SerialEvent() callback to loop processing (#7505)
- Remove warnings when building NoAssert (#7499)
- BREAKING - analogWriteRange 8-bit default (#7456)
- BREAKING - Pass String by const reference [3.0] (#6583)
Libraries - softserial
- Maintenance release 6.12.3: better dependency declarations for Platformio (#8030)
- EspSoftwareSerial 6.12.2: Inlining push() functions that must be in IRAM for calling from ISRs (#7986)
- Bug-fix release 6.12.1: a documentation error was reported by a user; dropped bit-patterns that masked the stop-bit fixed. (#7938)
- EspSoftwareSerial minor release 6.12.0 completes adaptation to new Stream::send() (#7923)
- Minor EspSoftwareSerial release 6.11.7, for deprecated ICACHE_RAM_ATTR in upcoming ESP8266 Arduino core 3.0.0. (#7922)
- EspSoftwareSerial, bump up Arduino library manager related files 6.11.6 (#7891)
- Update to EspSoftwareSerial 6.11.5 (#7889)
- EspSoftwareSerial bug-fix release 6.11.4 (#7862)
- Update to EspSoftwareSerial 6.11.3: prepares for ESP8266 Arduino core PR 6979. (#7840)
- EspSoftwareSerial 6.11.2: Delegate<> assign operators added. (#7815)
- Minor EspSoftwareSerial release 6.11.1 (#7804)
- Minor EspSoftwareSerial release 6.11.0 (#7802)
- EspSoftwareSerial bug fix release 6.10.1: preciseDelay() could delay() for extremely long time, if period duration was exceeded on entry. (#7771)
- EspSoftwareSerial 6.10.0: override keyword for recent Print::availableForWrite() addition (#7710)
- EspSoftwareSerial 6.9.0: data/strings in flash alignment handling fix. Yielding during write() improvement. (#7604)
Libraries - FS
- Update mklittlefs executable (#7906)
- Track creation time of LittleFS FS (#7873)
- Invalid read return value fix (#7817)
- Update to SdFat 2.0.2, speed SD access (#7779)
- Rationalize File timestamp callback (#7785)
- Update to LittleFS v2.3 (#7787)
Libraries - Network
- added ArduinoWiFiServer with send-to-all-clients functionality (#7612)
- internal: rename ClientContext::wait_until_sent() to wait_until_acked() (#7896)
- Added ESP32 compatible methods for setting/getting hostname (#7900)
- AP & dhcp-server: fix uninitialized variables (#7905)
- Netdump: Avoid UB and abort on nullptr buffer (#7822)
- lwip2: use pvPortXalloc/vPortFree and "-free -fipa-pta" (#7793)
- more lwIP physical interfaces (#6680)
- Netump (#7527,#7659)
- replace old Ethernet Arduino-library with v2, submoduled (#6812)
Library - WiFi
- WiFi: clean up AP SSID setter & getter, support 32 chars (#7941)
- [BREAKING] wifi: remove pseudo-modes for shutdown, expose
::[resumeFrom]shutdown()(#7956) - [BREAKING] Disable WiFi at boot by default (#7902)
- Added broadcastIP method to WiFiSTA class (#7899)
- WIFI_RESUME improve speed and example (#7877)
- WiFiServer.cpp: Fix warning (#7755)
- update documentation example (#7697)
- Refactor WiFi scan example (#7655)
- BREAKING: Change return type of channel() (#7656)
- BREAKING: Change return type of RSSI() (#7657)
- Reduce codesize of setOutputPower (#7572)
Library - TLS/SSL
- Fix a warning (#8014)
- Adding comment to ignore SSL certificate in sample code. (#7994)
- Update Root Certificate in example (#7932)
- Adds the method setSSLVersions() also to WiFiClientSecure in order to use that new feature. (#7925)
- Add setSSLVersion call to SSL object (#7920)
- Allow users to inherit and override CertStore (#7827)
- Reduce BearSSL code size by not -O2 FSMs (#7807)
- WiFiServerSecure: Cache SSL sessions (#7774)
- WiFiClientSecure: use context (#7680)
- Update to latest BearSSL as of Nov 2020 (#7732)
- Add Stream loaders for BearSSL (#7675)
- Catch and display SSL errors for fatal alerts (#7681)
- Fix error when debug enabled but no port chosen (#7648)
- Remove stray axtls refs, deprecated compat funcs (#7626)
- Fix error message typo (#7581)
- Update DigestAuthorization.ino (Simple example update) (#7579)
- Update certs-from-mozilla.py (#7573,#7578)
- Use root cert, not fingerprint for api.github.com (#7490)
- Update FP for tls.mbed.org (#7479)
- Change BSSL_CertStore test URL (#7370)
- Update to BearSSL version lost in GCC10 update (#7453)
Library - Webserver
- ESP8266WebServer: Add variadic template version of collectHeaders() (#7296)
- Fix header FSM in webserver, fix Windows uploads (#7805)
- ETag support for WebServer (#7709)
- Rewrite multipart boundary detection (#7728)
- Fixed bug in parsing POST file uploads (#7543)
- Fix long password validation in WebServer (#7676)
- FIX MIME-Type for txt-suffix (#7608)
- FIX StaticRequestHandler crashes when cache_header is null and DEBUG_ESP_CORE is enabled (#7609)
- Avoid #includes with a surrounding namespace (#7560)
- webserver hook: allow to handle external http protocol (#7459,#7492,#7515)
- Made ESP8266WebServer::client() return a reference (fixes#7075) (#7080)
- WebServer: Allow client to send many requests on the same connection (#7414)
- webserver: do not count "plain" in argument list (#6768)
- webserver: string optimization (#7446)
Libraries - others
- Resolve "PWM-locked" / "phase-locked" waveform merge leftover in Servo lib (#7978)
- Add I2S class support (#7874)
- At MDNS.end() also release services (#7859)
- AVRISP: Prevent nullptr dereference on OOM (#7823)
- HTTPClient: fix error handling (#7811)
- LEAmDNS: one instance for all interfaces (#7786 -#7540#7615#7636#7640)
- Add the missing 'rename' method wrapper in SD library. (#7766)
- Update to ESP8266HTTPClient.cpp for no Content-Length (#7691)
- BREAKING: Change servo defaults to safer defaults (#7023)
- Hook up custom timestamp proc for SD/SDFS (#7686)
- BREAKING: Change return EEPROM.end() to bool (#7630)
- httpclient: remove deprecated API (#7617)
- Avoid float-double-conversion (#7559)
- Use direct member initialization instead of ctr initialisation (#7556)
- Basic authentication with ESP8266httpUpdate (#7190)
Documentation
- doc: analogRead must not be called to frequently with WiFi is on (#7981)
- comments in
ClientContext::connect()(#7961) - Fix typo in EEPROM debug message (#7934)
- Fix link to ESP8266 NonOS SDK (#7914)
- Update a02-my-esp-crashes.rst (#7739)
- Clarified implementation of the signed OTA implementation (#7736)
- Specify where Additional Boards Manager URLs is (#7733)
- update documentation example (#7697)
- Revive a dead link (#7679)
- Update OTA HTTP Server Header Information (#7633)
- Pull deprecated axtls link (#7624)
- Update README.md (#7623)
- Update path of gdb (#7603)
- Fixup weird combination of oneline/multi line comments (#7566)
- Fix spelling typo under doc/faq (#7538)
- doc: gcc handles duplicate literal strings (#7531)
- Fix and add details to Serial doc (#7521)
- Fix spelling typos in files under doc/esp8266wifi (#7520)
- Typo (#7502)
- Mention OTA Update class blocks flash mode changes (#7321)
- Fix spelling typos in readme.rst (#7447)
- Grammar fixes (#7441)
CI
- Fix ESP8266SdFat architecture, Windows CI (#7866)
- upgrade arduino in CI (#7716)
- Use smarter cache key, cache Arduino IDE (#7791)
- Remove Travis-CI configuration (#7674)
- Allow test framework to use cores/esp8266/Arduino.h directly (#7377)
- ci: apt update (#7596)
- Properly replace toolchain in PlatformIO CI script (#7580)
- PIO: Delete owner field (#7563)
- Add CI test for eboot build (#7546)
- Update PIO CI to be less chatty, fix CI fail (#7530)
- CI: on host: force 64 bit mode like
make -j2 CIimplicitly does (#7513) - Add valgrind mocked test to CI (#7501)
- Clean up minor warnings from LGTM.com (#7500)
- Small update to ease manual release generation (#7467)
- Fix typo in platform.txt causing device test fails (#7463)
- Transition from TravisCI to GitHub CI (#7444)
- Fix spelling typos in files under packages dir (#7439)
- Remove wget dump during CI (#7438)
Build options
- board manager: wemos d1 clones: new entry with menus for flash mode and flash freq (#7989)
- board manager: + Agrumino lemon v4 (#7883)
- Fix improper GENERIC board IDs (#7839)
- boards.txt: sort by displayed name (#7670)
- add sdk options to "generic esp8285 module" (#7550)
Build system
- Update board-specific defines (#7875)
- Add a check for all URLs in the package file (#7848)
- Fix typo in 32-bit Windows package JSON (#7847)
- PIO: Dynamically configure exceptions support (#7834)
- platform.txt: instruct GCC to perform more aggressive optimization (#7770)
- makecorever.py: Hide GIT error messages. Fixes#7744 (#7745)
- Normalize platform.txt pattern numbers (#7752)
- Fix platform.txt issue for Windows (#7750)
- Update to pyserial 3.5, esptool 3.0 (#7737)
- Added GZipped OTA support in elf2bin and PlatformIO (#7727)
- Use -std=gnu17 instead of -std=c17 for GCC and test (#7588)
- Compile failure fix with FS_NO_GLOBALS flag (#7685)
- Update to GCC 10.2 (#7607)
- Upgrade to GCC 10.1 toolchain (#6294)
Emulation on host
- minor host fix found while compiling arduinoJson (#8009)
- emulation on host: millis()/micros() now start at 0 (#7810)
- mock: +hexdump() from debug.cpp (#7789)
- emulation on host: makefile rework: only one build dir (#7738,#7740,#7741)
- emulation on host makefile update, allowing to pass more options (#7552)
Assets4
Uh oh!
There was an error while loading.Please reload this page.
10 people reacted