Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nilo85/esp8266-arduino
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: esp8266/Arduino
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Mar 17, 2024

  1. Copy the full SHA
    b0d9e75 View commit details
  2. ESP8266WiFi - document event handler lifetime, add [[nodiscard]] (esp…

    …8266#9087)
    
    * disallow not assigning wifieventhandler somewhere
    
    * fix markdown syntax in rst
    
    * mention lifetime in example and docs
    mcspr authored Mar 17, 2024
    Copy the full SHA
    2064d43 View commit details
  3. Copy the full SHA
    760dbee View commit details
  4. Updater - missing error codes (esp8266#9104)

    Adds the two missing error states when beginning an Update. There were debugging logs for this but the error state was not set which would lead to confusion
    DRSDavidSoft authored Mar 17, 2024
    Copy the full SHA
    1248d38 View commit details
  5. ESP8266WiFiMulti - get number of APs in the list (esp8266#9082)

    When having some more complex setups it might be helpful to know the number of APs already added to the list.
    holgerlembke authored Mar 17, 2024
    Copy the full SHA
    dc9abed View commit details

Commits on Mar 19, 2024

  1. Fix semantic typo in generic-examples.rst (esp8266#9107)

    exists -> exits
    everslick authored Mar 19, 2024
    Copy the full SHA
    2bb1b5a View commit details

Commits on Mar 24, 2024

  1. Add url redirect (esp8266#8970)

    * added getAvailableVersion(), moved _httpClientTimeout and _followRedirects to protected, added enum HTTPUpdateError
    
    * auto numbering of HTTPUpdateError enum
    
    * added getAvailableVersion(), debug output current current Sketch MD5
    
    * Revert "added getAvailableVersion(), debug output current current Sketch MD5"
    
    This reverts commit 60d2c77.
    
    * Revert "auto numbering of HTTPUpdateError enum"
    
    This reverts commit 61785b2.
    
    * Revert "added getAvailableVersion(), moved _httpClientTimeout and _followRedirects to protected, added enum HTTPUpdateError"
    
    This reverts commit cec84ed.
    
    * add redirect function
    
    * enhanced redirect() by cache control and client stop
    
    * updated redirect() comment
    
    * replaced redirect() API calls in examples
    
    * server.client().stop() not needed, redirect() does this
    hmueller01 authored Mar 24, 2024
    Copy the full SHA
    877d440 View commit details
  2. Copy the full SHA
    8731f63 View commit details
  3. Stream: +helpers to stream regular String (esp8266#9043)

    This allows to use a String as a destination Stream by using a temporary with streaming helpers.
    d-a-v authored Mar 24, 2024
    Copy the full SHA
    41ecd65 View commit details

Commits on Mar 26, 2024

  1. CONT stack overflow postmortem (esp8266#9083)

    - check in cont_run() and cont_suspend() whether a1 is out of bounds
    - in case a1 is broken, postmortem will still report proper context in
      proper stack boundaries
    
    additionally
    - as suggested in esp8266#9069, change stack smashing to a single line that
      does not mention any Exceptions
    - reduce overall stack dump length when there are know garbage values i.e. cont stackguard
    - decoder.py addr search regexp would no longer skip stack lines with '<'
    - fix decoder.py parsing so it notices both stack smashing and alloc errors
    mcspr authored Mar 26, 2024
    Copy the full SHA
    eda4e08 View commit details

Commits on Mar 27, 2024

  1. Updater - fixed signature verification for compressed binaries (esp82…

    …66#9109)
    
    Previously, Arduino Core attempted to read from flash memory without proper consideration for the 4-byte alignment requirement when calculating the hash for the signature verification. This did not present an issue when uncompressed binaries are checked as all compiled binaries are 4-aligned (unconfirmed, just an educated guess), and signature verification appears to work well in these cases.
    
    When uploading a compressed binary (based on this) the gzip algorithm makes no attempt to produce a 4-aligned file. The rest of the signing results in a valid signed binary regardless, however when calculating the hash for the verification process there is a ~75% chance that the hash will include some bytes from the signature, thus compromising the whole signature verification process.
    
    editorial note: ESP.flashRead for u8 arrays (aka byte arrays) was already updated to properly handle both aligned and unaligned target buffer and / or length, while u32 expects that its arguments are already aligned. Since array pointer in Updater is already aligned, this properly handles unaligned size case.
    bakadave authored Mar 27, 2024
    Copy the full SHA
    d7c50f7 View commit details
  2. Copy the full SHA
    75cd58f View commit details

Commits on Mar 31, 2024

  1. decoder.py: allowing to use it live (esp8266#9108)

    - avoid ctx repetition and hide some useless fw debug lines
    - hide "DECODE IT"
    - immediately print stack at closing marker
    - check for tool executable at startup
    
    live command line example
    >  pyserial-miniterm /dev/ttyUSB0 115200 | \
            path/to/esp8266/Arduino/tools/decoder.py \
                --tool addr2line \
                --toolchain-path path/to/esp8266/Arduino/tools/xtensa-lx106-elf/bin \
                path/to/build.elf
    d-a-v authored Mar 31, 2024
    Copy the full SHA
    685f2c9 View commit details

Commits on Jun 15, 2024

  1. Implemented support for filters and removable routes in ESP8266WebSer…

    …ver (esp8266#9152)
    
    * feat: added filters and removeable routes
    
    * Update Filters.ino
    
    * fix: clang-format
    
    * chore: updated docs
    
    * chore: updated doc
    
    * fix: use new implementation
    
    * fix: filters.ino example
    
    * fix: filters.ino
    
    * fix: formatting
    
    * fix: formatting (2)
    ayushsharma82 authored Jun 15, 2024
    Copy the full SHA
    9afeaf5 View commit details
  2. Copy the full SHA
    754324e View commit details
  3. Copy the full SHA
    7e3d1bd View commit details
  4. Copy the full SHA
    338b625 View commit details
  5. Copy the full SHA
    f741521 View commit details
  6. Add creation timestamp to LittleFS directories (esp8266#9127)

    * Add creation timestamp to LittleFS directories
    
    Partial fix esp8266#9120.  This is simple enough to include and does not increase
    the amount of flash writes on file updates significantly (which a
    modified-time 't' attribute would).
    
    * Fix typo in debug message on error
    earlephilhower authored Jun 15, 2024
    Copy the full SHA
    96ee7df View commit details

Commits on Jun 19, 2024

  1. Update to SDFat upstream 2.2.2 (esp8266#9126)

    * Update to SDFat upstream 2.2.2
    
    Pull in reformatted/slightly refactored SDFat 2.2.2 upstream.
    
    Very minor changes, simple testing on other architectures passed w/o
    incident.
    
    * Fix SdFat to build for ESP8266
    
    2.2.2 removed a define from the configuration header which is needed to
    compile on the ESP8266.  Restore the default values there previously.
    
    * SDFat Debug tests not compatible, skip
    
    ---------
    
    Co-authored-by: Max Prokhorov <prokhorov.max@outlook.com>
    earlephilhower and mcspr authored Jun 19, 2024
    Copy the full SHA
    7e0d20e View commit details

Commits on Jul 25, 2024

  1. Directly include <exception> for std::set_terminate (esp8266#8978)

    I was recently trying to compile this project with a more recent version of GCC and hit an issue with this file. With older versions the std::set_terminate definition was being included via a transitive include of <exception> from the C++ standard library implementation. This is no longer the case with newer versions of libstdc++. This fixes the issue by using a direct include instead of relying on an implementation specific transitive include.
    jpinkul authored Jul 25, 2024
    Copy the full SHA
    e4887b7 View commit details
  2. Fixes exceptions resulting from using SPI0Command (esp8266#9140)

    * Resolves exceptions occuring when using SPI0Command for flash write operations
    such as: Write Status Register-1, Sector Eraser, etc.
    
    Moved PRECACHE_END to ensure `Wait_SPI_Idlep` and `xt_wsr_ps` are included in the iCache.
    
    Added SPIUCSSETUP to give more settling time for #CS.
    
    * There was a risk of flash reads inserted between an "enable opcode"
    and the "target opcode". They are now tightly coupled.
    
    Update flash quirks.
    
    * When sending instruction Write Enable 0x06, use BootROM API
    SPI_write_enable for the special handling of the WEL bit.
    
    Corrected zero mask for fractional byte returns where the partial
    byte bits are positioned at the most significant bit position in the byte.
    mhightower83 authored Jul 25, 2024
    Copy the full SHA
    c2f1365 View commit details

Commits on Jul 30, 2024

  1. Sphinx syntax fixes (esp8266#9180)

    get rid of warnings when converting python -> rst, force quit when they happen
    fix code-blocks, always need extra line
    fix invalid headers refs so they actually work
    mcspr authored Jul 30, 2024
    Copy the full SHA
    1b6f815 View commit details
  2. Boards - add Mercury 1.0 (esp8266#9166)

    Co-authored-by: Gaurang Gupta <iotgupta@gmail.com>
    RoboticsAI-Lab and iotgupta authored Jul 30, 2024
    Copy the full SHA
    bd136f1 View commit details
  3. Copy the full SHA
    05f05d0 View commit details
  4. Mock - update func signatures for latest glibc (esp8266#9117)

    glibc 2.38 includes strlcpy and strlcat, attempt to detect them before use
    mcspr authored Jul 30, 2024
    Copy the full SHA
    3a5157e View commit details

Commits on Jul 31, 2024

  1. Mock - compatibility fix for shell calls (esp8266#9183)

    echo does not seem to have escape mode with GH actions runner
    trying to fix apparently broken makefile funcs from esp8266#9117
    mcspr authored Jul 31, 2024
    Copy the full SHA
    1d6e50f View commit details
  2. Update certs.h (esp8266#9182)

    * Update certs.h
    
    not_valid_{after,before} -> not_valid_{after,before}_utc
    
    https://cryptography.io/en/latest/x509/reference/#cryptography.x509.Certificate.not_valid_before
    > This property is deprecated and will be removed in a future version. Please switch to the timezone-aware variant not_valid_before_utc().
    
    * fixup! Update certs.h
    mcspr authored Jul 31, 2024
    Copy the full SHA
    07feace View commit details
  3. Copy the full SHA
    27272de View commit details
  4. CI - restyle script summary and annotations in PRs (esp8266#9184)

    similar to .ino builder, prepare a short 'diff' summary of all the required changes
    https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary
    
    provide inline annotations, so it is apparent clang-format job is the
    cause of the PR actions check failure
    https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-a-notice-message
    mcspr authored Jul 31, 2024
    Copy the full SHA
    bb3360d View commit details

Commits on Aug 1, 2024

  1. Copy the full SHA
    ccea728 View commit details

Commits on Nov 20, 2024

  1. SD - examples/listfilesEnhanced (esp8266#9206)

    * add new example for enhanced file listing
    
    * adapt Pin
    
    * adapt due to clanf format check in line 14
    
    * Adapt further clang findings
    
    * additional intention corrections
    
    * last clang format issues corrected
    
    * case-sensitive, eof line break
    hasenradball authored Nov 20, 2024
    Copy the full SHA
    9e3ba26 View commit details
  2. Copy the full SHA
    bb79e90 View commit details

Commits on Jan 24, 2025

  1. CI - clang-format-18 (esp8266#9225)

    * Fix shell variable comparison without $CI present
    
    + '[' = true ']'
    ./tests/restyle.sh: line 16: [: =: unary operator expected
    
    vs.
    
    + '[' '' = true ']'
    
    * Update to clang-format-18
    
    new opt to skip overly eager macro formatting
    https://clang.llvm.org/docs/ClangFormatStyleOptions.html#skipmacrodefinitionbody
    
    minor changes between 15 and 18 for ide examples
    
    reference arduino-ide format is still stuck with 15, though
    https://github.com/arduino/clang-static-binaries/releases
    
    * Pin clang-format in CI recipe not the script itself
    
    * style
    mcspr authored Jan 24, 2025
    Copy the full SHA
    be3035c View commit details
  2. Stack thunk yield() fixes (esp8266#9224)

    * Update bearssl builder
    
    * Keep bssl stack pointer from confusing yield
    
    implement stack_thunk_yield() which is called within bssl
    stack overflow checks for cont would always fail otherwise
    mcspr authored Jan 24, 2025
    Copy the full SHA
    1a13ab9 View commit details

Commits on Mar 10, 2025

  1. Docs - fix sphinx v8 builds (esp8266#9235)

    abnormal version selection w/ nbsphinx causing us to fall down to 5.x.x
    venv install specific versions, fix arguments provided to the sphinx-build
    mcspr authored Mar 10, 2025
    Copy the full SHA
    7af5246 View commit details
  2. Copy the full SHA
    5874351 View commit details

Commits on May 20, 2025

  1. Docs - default to sphinx_rtd_theme (esp8266#9237)

    following examples and conf.py from sphinx_rtd_theme itself
    mcspr authored May 20, 2025
    Copy the full SHA
    cd844b9 View commit details
  2. CI - build with arduino-cli (esp8266#9241)

    Sync with GCC14 branch test scripts
    
    Remove explicit IDE, HARDWARE & LIBRARIES envirnoment in workflows in favour of script defaults
    Remove explicit dependency on IDE & HARDWARE path, assume arduino-cli default paths
    Remove explicit library install for platformio, share library path & downloaded libraries with arduino
    Bump ConfigFile dependencies, set ArduinoJson to v7 & update blob install script
    mcspr authored May 20, 2025
    Copy the full SHA
    8e2094e View commit details
  3. CI - Python deprecations (esp8266#9242)

    py3.13 - https://docs.python.org/3/library/re.html#re.sub
    > Deprecated since version 3.13: Passing count and flags as positional arguments is deprecated. In future Python versions they will be keyword-only parameters.
    
    py3.12 - https://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extraction_filter
    > If extraction_filter is None (the default), calling an extraction method without a filter argument will raise a DeprecationWarning, and fall back to the fully_trusted filter, whose dangerous behavior matches previous versions of Python.
    mcspr authored May 20, 2025
    Copy the full SHA
    606324c View commit details
  4. Libraries - fix some warnings with gcc ≥12 (esp8266#9244)

    * ESP8266WebServer - unused templated code throws out unused statics
    
    currently, only w/ mock build because it is using gcc>=12
    
    > ../../libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h:14:15: warning: ‘String esp8266webserver::calcETag(fs::FS&, const String&)’ defined but not used [-Wunused-function]
    >   14 | static String calcETag(FS &fs, const String &path) {
    >      |               ^~~~~~~~
    
    * ESP8266WiFiMesh - fix classes used as aggregates
    
    > error: designated initializers cannot be used with a non-aggregate type '...'
    
    gcc10.3 allowed this construct for some reason
    
    * LEAmDNS - consistent const <-> non-const accessors
    
    > error: infinite recursion detected [-Werror=infinite-recursion]
    mcspr authored May 20, 2025
    Copy the full SHA
    2c72e6f View commit details
  5. Tools - none-cxxflags generator script & enable deprecation warnings (e…

    …sp8266#9245)
    
    * Tools - none-cxxflags generator script
    
    GCC10 -> GCC (as in general, not specific to 10)
    cpp -> cxx to be consistent with gcc terminology
    grep exclude patterns in a separate file
    exclude 'deprecated' warnings by default
    
    * actually set warnings when compiling
    
    --warnings=none is arduino-cli implicit default
    mcspr authored May 20, 2025
    Copy the full SHA
    a5f18b5 View commit details

Commits on May 21, 2025

  1. Device tests updates (esp8266#9246)

    Stop pyexpect from closing serial port when running with WSL2
    Remove makefile flags & opts making it too silent. At some point it makes a lot of useful info just disappear. There are external means of silencing make, so probably best to leave useful data always available
    
    Replace SPIFFS with LittleFS in FS test
    Re-use certs-from-mozilla.py in FS test
    
    Fix libc tests w/o -fno-builtin not actually testing anything, also add the flag via .globals.h in case it breaks
    Fix libc tests generating warnings when using invalid (but safe) size arguments
    mcspr authored May 21, 2025
    Copy the full SHA
    92002ec View commit details

Commits on May 26, 2025

  1. Tools - get.py updates (esp8266#9247)

    * Tools - get.py updates
    
    Using pathlib for paths, assume relative paths from __file__.parent as PWD
    Using argparse for arguments, expose previously uncustomizable bits.
    
    Reading tarfile with transparent compression.
    Drop previously untested .t{...} and .tar.{...}, just use "r:*"
    
    Remove hard-coded dependency on 'platform' and allow to specify sys_name, sys_platform and bits.
    Stub for DarwinARM, allow to fetch x86_64 packages in the meantime.
    
    * missing mkdir_p
    mcspr authored May 26, 2025
    Copy the full SHA
    30780cb View commit details

Commits on May 27, 2025

  1. Tools - makecorever.py explicit output argument (esp8266#9248)

    * Tools - makecorever.py explicit output argument
    
    Don't hide where the file is actually placed
    Using pathlib instead of raw strings to simplify path ops
    Plus, add stdout preview when output is missing
    
    Clean-up git-describe <-> version availility checks
    
    * typo
    
    * fix unhandled exc in git cmd
    
    * unused escape
    
    * RELEASE using same values
    mcspr authored May 27, 2025
    Copy the full SHA
    4214e16 View commit details

Commits on May 28, 2025

  1. Tools - makecorever.py fixed packaging & avoid needless overwrites (e…

    …sp8266#9250)
    
    update packaging script w/ new arguments
    
    rewrite ci build pattern to only rewrite core_version.h once per job
    restore behaviour from esp8266#6414 for other cases
    mcspr authored May 28, 2025
    Copy the full SHA
    2201770 View commit details

Commits on May 29, 2025

  1. Stack Thunk - check saved a1 before using and zero after using (esp82…

    …66#9252)
    
    post esp8266#9224, allow to call 'stack_thunk_yield()' outside of bssl context
    
    Reset 'stack_thunk_save' before returning from 'thunk_...'ed function
    Skip invalid a1 load and yield with the current value
    mcspr authored May 29, 2025
    Copy the full SHA
    0ecb6f0 View commit details
  2. Doc - cleanup (esp8266#9253)

    mention esptool.FatalError & syntax corrections
    un-orphan FAQ and toctree glob inclusion
    mcspr authored May 29, 2025
    Copy the full SHA
    9592c2b View commit details
  3. Boards - fix & update Mercury (esp8266#9238)

    * update Mercury Board
    
    * fix
    
    ---------
    
    Co-authored-by: Maxim Prokhorov <prokhorov.max@outlook.com>
    iotgupta and mcspr authored May 29, 2025
    Copy the full SHA
    bc25138 View commit details
  4. Tools - upload.py exception handling fixes (esp8266#9186)

    - don't check exc_info() in `finally`, it only works without `except` with just `try` and `finally`
      see https://docs.python.org/3/reference/compound_stmts.html#try
      after `except Exception as e:` block, `e` is already deleted
    
    - handle a rare case when esptool code does not close 'erase_file'.
      printing paths may cause encoding issues, so just fall through silently
    
    - simplify ordering of write_flash & erase_region arguments
      since we always end up in write_flash, prefer to think of it as argument pairs 'addr' + 'path'. actual binaries go first, erase 
      temporaries go last. construct write args beforehand and apply when finishing with the command line.
    
      both commands can appear multiple times, for manual or scripting cases, where multiple regions should be erased / written to
    mcspr authored May 29, 2025
    Copy the full SHA
    f5142b8 View commit details
Showing with 4,017 additions and 1,595 deletions.
  1. +2 −2 .github/workflows/build-host.yml
  2. +7 −12 .github/workflows/build-ide.yml
  3. +3 −3 .github/workflows/build-platformio.yml
  4. +5 −5 .github/workflows/check-autogenerated.yml
  5. +7 −4 .github/workflows/documentation.yml
  6. +1 −1 .github/workflows/release-to-publish.yml
  7. +5 −4 .github/workflows/style-check.yml
  8. +2 −2 .github/workflows/tag-to-draft-release.yml
  9. +22 −14 .gitignore
  10. +21 −0 .readthedocs.yaml
  11. +223 −0 boards.txt
  12. +2 −1 cores/esp8266/Esp-version.cpp
  13. +1 −1 cores/esp8266/Esp.cpp
  14. +1 −1 cores/esp8266/LwipIntf.cpp
  15. +9 −18 cores/esp8266/LwipIntfDev.h
  16. +47 −1 cores/esp8266/StackThunk.cpp
  17. +9 −3 cores/esp8266/StackThunk.h
  18. +4 −0 cores/esp8266/Stream.h
  19. +8 −8 cores/esp8266/StreamString.h
  20. +15 −7 cores/esp8266/Updater.cpp
  21. +5 −3 cores/esp8266/Updater.h
  22. +3 −3 cores/esp8266/WString.h
  23. +17 −3 cores/esp8266/cont.S
  24. +9 −2 cores/esp8266/cont.h
  25. +17 −10 cores/esp8266/cont_util.cpp
  26. +3 −2 cores/esp8266/core_esp8266_flash_quirks.cpp
  27. +2 −1 cores/esp8266/core_esp8266_main.cpp
  28. +4 −11 cores/esp8266/core_esp8266_noniso.cpp
  29. +49 −15 cores/esp8266/core_esp8266_postmortem.cpp
  30. +143 −30 cores/esp8266/core_esp8266_spi_utils.cpp
  31. +3 −0 cores/esp8266/debug.h
  32. +11 −0 cores/esp8266/esp8266_undocumented.h
  33. +1 −1 cores/esp8266/spi_utils.h
  34. +14 −2 cores/esp8266/stdlib_noniso.cpp
  35. +16 −19 cores/esp8266/stdlib_noniso.h
  36. +2 −2 doc/Makefile
  37. +34 −22 doc/boards.rst
  38. +19 −28 doc/conf.py
  39. +23 −7 doc/esp8266wifi/generic-examples.rst
  40. +0 −1 doc/esp8266wifi/server-examples.rst
  41. +3 −1 doc/esp8266wifi/soft-access-point-examples.rst
  42. +2 −2 doc/esp8266wifi/station-class.rst
  43. +9 −9 doc/{faq/readme.rst → faq.rst}
  44. +110 −16 doc/faq/{a01-espcomm_sync-failed.rst → a01-upload-failed.rst}
  45. +3 −5 doc/faq/a02-my-esp-crashes.rst
  46. +1 −3 doc/faq/a03-library-does-not-work.rst
  47. +0 −2 doc/faq/a04-board-generic-is-unknown.rst
  48. +0 −2 doc/faq/a05-board-generator.rst
  49. +0 −2 doc/faq/a06-global-build-options.rst
  50. +20 −3 doc/index.rst
  51. +0 −2 doc/mmu.rst
  52. +3 −3 doc/ota_updates/readme.rst
  53. +6 −8 doc/requirements.txt
  54. +2 −9 libraries/DNSServer/examples/CaptivePortalAdvanced/handleHttp.ino
  55. +1 −3 libraries/DNSServer/examples/NAPTCaptivePortal/PortalRedirectHttp.ino
  56. +8 −3 libraries/ESP8266HTTPClient/examples/BasicHttpsClient/BasicHttpsClient.ino
  57. +10 −10 libraries/ESP8266HTTPClient/examples/BasicHttpsClient/certs.h
  58. +16 −13 libraries/ESP8266HTTPClient/examples/StreamHttpsClient/StreamHttpsClient.ino
  59. +2 −0 libraries/ESP8266HTTPClient/examples/StreamHttpsClient/certUpdate
  60. +173 −0 libraries/ESP8266HTTPClient/examples/StreamHttpsClient/certs.h
  61. +1 −1 libraries/ESP8266SdFat
  62. +20 −1 libraries/ESP8266WebServer/README.rst
  63. +101 −0 libraries/ESP8266WebServer/examples/Filters/Filters.ino
  64. +6 −8 libraries/ESP8266WebServer/examples/WebServer/README.md
  65. +4 −5 libraries/ESP8266WebServer/examples/WebServer/WebServer.ino
  66. +2 −2 libraries/ESP8266WebServer/examples/WebServer/builtinfiles.h
  67. +81 −6 libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h
  68. +35 −4 libraries/ESP8266WebServer/src/ESP8266WebServer.h
  69. +6 −6 libraries/ESP8266WebServer/src/Parsing-impl.h
  70. +53 −6 libraries/ESP8266WebServer/src/detail/RequestHandler.h
  71. +48 −28 libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h
  72. +24 −0 libraries/ESP8266WebServer/src/detail/etag.cpp
  73. +18 −8 libraries/ESP8266WebServer/src/uri/UriRegex.h
  74. +8 −14 libraries/ESP8266WiFi/examples/BearSSL_CertStore/certs-from-mozilla.py
  75. +1 −1 libraries/ESP8266WiFi/examples/BearSSL_Validation/BearSSL_Validation.ino
  76. +64 −64 libraries/ESP8266WiFi/examples/BearSSL_Validation/certs.h
  77. +3 −2 libraries/ESP8266WiFi/examples/HTTPSRequest/HTTPSRequest.ino
  78. +57 −58 libraries/ESP8266WiFi/examples/HTTPSRequest/certs.h
  79. +5 −2 libraries/ESP8266WiFi/examples/WiFiEvents/WiFiEvents.ino
  80. +9 −9 libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.h
  81. +1 −1 libraries/ESP8266WiFi/src/ESP8266WiFiMulti.h
  82. +1 −1 libraries/ESP8266WiFi/src/enable_wifi_at_boot_time.cpp
  83. +2 −2 libraries/ESP8266WiFiMesh/src/ESP8266WiFiMesh.cpp
  84. +2 −2 libraries/ESP8266WiFiMesh/src/EspnowMeshBackend.cpp
  85. +2 −2 libraries/ESP8266WiFiMesh/src/TcpIpMeshBackend.cpp
  86. +1 −2 libraries/ESP8266mDNS/src/LEAmDNS.h
  87. +9 −9 libraries/ESP8266mDNS/src/LEAmDNS_Control.cpp
  88. +26 −35 libraries/ESP8266mDNS/src/LEAmDNS_Structs.cpp
  89. +1 −2 libraries/I2S/examples/InputSerialPlotter/InputSerialPlotter.ino
  90. +1 −2 libraries/I2S/examples/SimpleTone/SimpleTone.ino
  91. +8 −0 libraries/LittleFS/src/LittleFS.h
  92. +134 −0 libraries/SD/examples/listfilesEnhanced/listfilesEnhanced.ino
  93. +2 −4 libraries/TFT_Touch_Shield_V2/examples/tftbmp/tftbmp.ino
  94. +3 −6 libraries/TFT_Touch_Shield_V2/examples/tftbmp2/tftbmp2.ino
  95. +3 −3 libraries/esp8266/examples/ConfigFile/ConfigFile.ino
  96. +1 −2 libraries/esp8266/examples/SerialStress/SerialStress.ino
  97. +16 −4 libraries/esp8266/examples/StreamString/StreamString.ino
  98. +15 −0 libraries/lwIP_Ethernet/src/EthernetCompat.h
  99. +1 −1 package/build_boards_manager_package.sh
  100. +3 −0 package/package_esp8266com_index.template.json
  101. +2 −2 platform.txt
  102. +39 −10 tests/build.sh
  103. +1 −1 tests/ci/build_docs.sh
  104. +1 −0 tests/clang-format-core.yaml
  105. +192 −188 tests/common.sh
  106. +27 −0 tests/dep-arduino-cli.sh
  107. +6 −0 tests/dep-libraries.sh
  108. +132 −90 tests/device/Makefile
  109. +46 −42 tests/device/libraries/BSTest/runner.py
  110. +1 −2 tests/device/libraries/BSTest/src/BSTest.h
  111. +1 −0 tests/device/test_BearSSL/make_data.py
  112. +0 −71 tests/device/test_BearSSL/make_spiffs.py
  113. +6 −6 tests/device/test_BearSSL/test_BearSSL.ino
  114. +182 −66 tests/device/test_libc/libm_string.c
  115. +1 −0 tests/device/test_libc/memmove1.c
  116. +0 −10 tests/device/test_libc/strcmp-1.c
  117. +4 −0 tests/device/test_libc/test_libc.ino.globals.h
  118. +4 −0 tests/device/test_libc/tstring.c
  119. +23 −23 tests/device/test_sw_FS/test_sw_FS.ino
  120. +26 −0 tests/host/Makefile
  121. +5 −3 tests/host/common/ArduinoCatch.hpp
  122. +10 −5 tests/host/common/mock.h
  123. +3 −19 tests/host/common/noniso.c
  124. +2 −2 tests/host/common/queue.h
  125. +56 −62 tests/host/common/strl.cpp
  126. +1 −0 tests/host/sys/pgmspace.h
  127. +53 −0 tests/lib-skip-ino.sh
  128. +291 −0 tests/restyle.py
  129. +7 −48 tests/restyle.sh
  130. +150 −10 tests/sanity_check.sh
  131. +182 −0 tests/test_restyle.py
  132. +54 −32 tools/boards.txt.py
  133. +3 −3 tools/cert.py
  134. +28 −18 tools/decoder.py
  135. +217 −109 tools/get.py
  136. +116 −61 tools/makecorever.py
  137. +5 −3 tools/platformio-build.py
  138. +1 −1 tools/sdk/include/bearssl/bearssl_git.h
  139. +0 −1 tools/sdk/include/ets_sys.h
  140. BIN tools/sdk/lib/libbearssl.a
  141. +1 −1 tools/sdk/ssl/bearssl
  142. +102 −50 tools/upload.py
  143. +4 −5 tools/warnings/README.md
  144. 0 tools/warnings/{default-cppflags → default-cxxflags}
  145. 0 tools/warnings/{extra-cppflags → extra-cxxflags}
  146. +11 −0 tools/warnings/make_none-cxxflags.sh
  147. 0 tools/warnings/{more-cppflags → more-cxxflags}
  148. +9 −3 tools/warnings/{none-cppflags → none-cxxflags}
  149. +22 −0 tools/warnings/patterns_none-cxxflags.txt
  150. +74 −0 variants/mercury/pins_arduino.h
4 changes: 2 additions & 2 deletions .github/workflows/build-host.yml
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: true
- run: |
@@ -32,7 +32,7 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: true
- run: |
19 changes: 7 additions & 12 deletions .github/workflows/build-ide.yml
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
- uses: actions/cache@v4
@@ -39,10 +39,10 @@ jobs:
lwip: ["default", "IPv6"]
chunk: [0, 1, 2, 3, 4, 5, 6, 7]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: true
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- uses: actions/cache@v4
@@ -52,7 +52,6 @@ jobs:
- name: Build Sketches
env:
ESP8266_ARDUINO_BUILDER: "arduino"
ESP8266_ARDUINO_IDE: "${{ runner.temp }}/arduino_ide"
ESP8266_ARDUINO_LWIP: ${{ matrix.lwip }}
run: |
bash ./tests/build.sh 8 ${{ matrix.chunk }}
@@ -63,10 +62,10 @@ jobs:
name: Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- uses: actions/cache@v4
@@ -75,8 +74,6 @@ jobs:
key: ${{ runner.os }}-${{ hashFiles('package/package_esp8266com_index.template.json', 'tests/common.sh', 'tests/build.sh') }}
- name: Build Sketch
env:
ESP8266_ARDUINO_HARDWARE: "${{ runner.temp }}/hardware"
ESP8266_ARDUINO_IDE: "${{ runner.temp }}/arduino_ide"
ESP8266_ARDUINO_SKETCHES: "libraries/esp8266/examples/Blink/Blink.ino"
run: |
bash ./tests/build.sh
@@ -88,10 +85,10 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- uses: actions/cache@v4
@@ -100,8 +97,6 @@ jobs:
key: ${{ runner.os }}-${{ hashFiles('package/package_esp8266com_index.template.json', 'tests/common.sh', 'tests/build.sh') }}
- name: Build Sketch
env:
ESP8266_ARDUINO_HARDWARE: "${{ runner.temp }}/hardware"
ESP8266_ARDUINO_IDE: "${{ runner.temp }}/arduino_ide"
ESP8266_ARDUINO_SKETCHES: "libraries/esp8266/examples/Blink/Blink.ino"
run: |
bash ./tests/build.sh
6 changes: 3 additions & 3 deletions .github/workflows/build-platformio.yml
Original file line number Diff line number Diff line change
@@ -18,10 +18,10 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: true
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- uses: actions/cache@v4
@@ -36,4 +36,4 @@ jobs:
ESP8266_ARDUINO_BUILDER: "platformio"
run: |
pip install -U platformio
env ESP8266_ARDUINO_SKETCHES="$(find libraries/ -name '*.ino' | shuf -n 10 -)" bash ./tests/build.sh
env ESP8266_ARDUINO_SKETCHES="$(find libraries/ -name '*.ino' | grep -e libraries/esp8266/examples -e SoftwareSerial)" bash ./tests/build.sh
10 changes: 5 additions & 5 deletions .github/workflows/check-autogenerated.yml
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
- run: |
@@ -29,10 +29,10 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- uses: actions/cache@v4
@@ -51,10 +51,10 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: Check git-diff result
11 changes: 7 additions & 4 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -16,13 +16,16 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: true
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: Build documentation
run: |
pip install --user -r doc/requirements.txt
bash ./tests/ci/build_docs.sh
pushd doc/
python3 -mvenv _venv
./_venv/bin/pip install -r requirements.txt
env SPHINXBUILD=$(pwd)/_venv/bin/sphinx-build ../tests/ci/build_docs.sh
popd
2 changes: 1 addition & 1 deletion .github/workflows/release-to-publish.yml
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ jobs:
name: Update master JSON file
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
fetch-depth: 0
9 changes: 5 additions & 4 deletions .github/workflows/style-check.yml
Original file line number Diff line number Diff line change
@@ -17,24 +17,25 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: true
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: Style check
run: |
sudo apt update
bash ./tests/ci/style_check.sh
python ./tests/test_restyle.py --quiet
env CLANG_FORMAT="clang-format-18" bash ./tests/ci/style_check.sh
# Validate orthography

code-spell:
name: codespell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: false
- name: Run codespell
4 changes: 2 additions & 2 deletions .github/workflows/tag-to-draft-release.yml
Original file line number Diff line number Diff line change
@@ -18,11 +18,11 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
submodules: true
fetch-depth: 0
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: Set GIT tag name
36 changes: 22 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
.DS_Store
tools/dist/
tools/xtensa-lx106-elf/
tools/mkspiffs/
tools/mklittlefs/
tools/python3/
package/versions/
exclude.txt

tests/hosts/lcov/
*.orig

*.pyc
*.gch
*.pyc

boards.local.txt

*.gcov
*.gcno
*.gcda
*.o
*.gcno
*.gcov
*.a
*.o

#created by user/scripts
cores/esp8266/CommonHFile.h
tests/host/lcov/
tools/sdk/ld/backup/
*.local.txt
.cache
compile_commands.json

#dist
tools/dist/
tools/mklittlefs/
tools/mkspiffs/
tools/python3/
tools/xtensa-lx106-elf/
package/versions/
exclude.txt

#Ignore files built by Visual Studio/Visual Micro
[Dd]ebug*/
21 changes: 21 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-24.04
tools:
python: "3.12"

# Build documentation in the "doc/" directory with Sphinx
sphinx:
configuration: doc/conf.py

# Install same versions as our local tools
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: doc/requirements.txt
Loading