From dd01e5ad03a00a14771a700646d948b4b14d383d Mon Sep 17 00:00:00 2001 From: Josefine Hansson <66409231+jhansson-ard@users.noreply.github.com> Date: Mon, 20 Feb 2023 10:38:13 +0100 Subject: [PATCH 01/17] Updated board names Updated some board names to the proper spelling @facchinm --- boards.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/boards.txt b/boards.txt index c100ecc..b9add10 100644 --- a/boards.txt +++ b/boards.txt @@ -58,7 +58,7 @@ yun.build.extra_flags={build.usb_flags} ############################################################## -uno.name=Arduino Uno +uno.name=Arduino UNO uno.vid.0=0x2341 uno.pid.0=0x0043 @@ -107,7 +107,7 @@ uno.build.variant=standard ############################################################## -unomini.name=Arduino Uno Mini +unomini.name=Arduino UNO Mini unomini.vid.0=0x2341 unomini.pid.0=0x0062 @@ -1272,7 +1272,7 @@ one.build.extra_flags={build.usb_flags} ############################################################## -unowifi.name=Arduino Uno WiFi +unowifi.name=Arduino UNO WiFi unowifi.vid.0=0x2A03 unowifi.pid.0=0x0057 unowifi.upload_port.0.vid=0x2A03 From daf2713c794c3019b44e74b949c7e050fd0339fd Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 18 Mar 2023 15:39:37 -0700 Subject: [PATCH 02/17] Correct misspelled word in comment This misspelled (mislocalized?) word was causing the spell check to fail --- libraries/Wire/examples/i2c_scanner/i2c_scanner.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino b/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino index 295edf7..508de80 100644 --- a/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino +++ b/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino @@ -6,7 +6,7 @@ // can be found in many places. // For example on the Arduino.cc forum. // The original author is not known. -// Version 2, Juni 2012, Using Arduino 1.0.1 +// Version 2, June 2012, Using Arduino 1.0.1 // Adapted to be as simple as possible by Arduino.cc user Krodal // Version 3, Feb 26 2013 // V3 by louarnold From edb06d48c2cce3db6adcdd460df54cd0deb95aa1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:08:58 +0000 Subject: [PATCH 03/17] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check-arduino.yml | 2 +- .github/workflows/compile-platform-examples.yml | 2 +- .github/workflows/spell-check.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml index 95f61d8..2c2d5f1 100644 --- a/.github/workflows/check-arduino.yml +++ b/.github/workflows/check-arduino.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Arduino Lint uses: arduino/arduino-lint-action@v1 diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index fad8e1d..d01f276 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -176,7 +176,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Compile examples uses: arduino/compile-sketches@v1 diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml index 3f6b03f..ef7d894 100644 --- a/.github/workflows/spell-check.yml +++ b/.github/workflows/spell-check.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Spell check uses: codespell-project/actions-codespell@master From bd473a8fde47c10e7f38b48248440f918cf79eae Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 25 May 2024 01:45:57 -0700 Subject: [PATCH 04/17] Fix spell check false positives by ignoring words The codespell spellchecker tool is used to automatically detect commonly misspelled words in the files of this project. The misspelled words dictionary was expanded in the latest release of codespell. Some of the text in the project codebase happens to match against newly added entries, which caused codespell to produce false misspelled word detections. Since the code that produced the detections is correct and intended, the false positives are resolved by configuring codespell to ignore the problematic words. --- .codespellrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codespellrc b/.codespellrc index 825e4a0..7d9fef5 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,7 +1,7 @@ # See: https://github.com/codespell-project/codespell#using-a-config-file [codespell] # In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here: -ignore-words-list = clen,hart,pullrequest +ignore-words-list = clearin,clen,hart,pullrequest,shiftin,waitin builtin = clear check-filenames = check-hidden = From 106b2c6372d9db5a17d19a06ccbd19407739b300 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 08:37:11 +0000 Subject: [PATCH 05/17] Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/compile-platform-examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index d01f276..93e40a5 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -202,7 +202,7 @@ jobs: sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} - name: Save sketches report as workflow artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error path: ${{ env.SKETCHES_REPORTS_PATH }} From 6e6036eac13e1f06197c1e3f8e0dd7cfb9bc76f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 18:55:52 +0000 Subject: [PATCH 06/17] Bump arduino/arduino-lint-action from 1 to 2 Bumps [arduino/arduino-lint-action](https://github.com/arduino/arduino-lint-action) from 1 to 2. - [Release notes](https://github.com/arduino/arduino-lint-action/releases) - [Commits](https://github.com/arduino/arduino-lint-action/compare/v1...v2) --- updated-dependencies: - dependency-name: arduino/arduino-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check-arduino.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml index 2c2d5f1..3991385 100644 --- a/.github/workflows/check-arduino.yml +++ b/.github/workflows/check-arduino.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v4 - name: Arduino Lint - uses: arduino/arduino-lint-action@v1 + uses: arduino/arduino-lint-action@v2 with: compliance: specification # Always use this setting for official repositories. Remove for 3rd party projects. From 8e9f84815111753b7206c9d1bfd2ffd94c1560dd Mon Sep 17 00:00:00 2001 From: per1234 Date: Fri, 18 Oct 2024 06:47:25 -0700 Subject: [PATCH 07/17] Don't upload multiple times to same artifact in sketch compilation workflow The "Compile Examples" GitHub Actions workflow is configured to compile the example sketches for each of the supported boards. This is done by using a job matrix in the GitHub Actions workflow to generate a parallel job for each board. A GitHub Actions workflow artifact is used to transfer the sketches report files generated by the "arduino/compile-sketches" action between this workflow's job and the "Report Size Deltas" workflow that uses the "arduino/report-size-deltas" action to publish the data. The "actions/upload-artifact" action is used to upload the sketches report files to the workflow artifact. Previously, the sketches reports from all the boards were uploaded to a single artifact. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now necessary for each of the jobs to use a separate artifact. The "arduino/report-size-deltas" action is configured to recognize these multiple artifacts by a regular expression that matches against a standardized prefix on the artifact names. --- .../workflows/compile-platform-examples.yml | 40 ++++++++++++++++++- .github/workflows/report-size-deltas.yml | 4 +- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index 93e40a5..58cfd34 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -35,117 +35,155 @@ jobs: matrix: board: - fqbn: arduino:avr:yun + artifact-name-suffix: arduino-avr-yun serial: true softwareserial: true - fqbn: arduino:avr:uno + artifact-name-suffix: arduino-avr-uno serial: true softwareserial: true - fqbn: arduino:avr:diecimila:cpu=atmega328 + artifact-name-suffix: arduino-avr-diecimila-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:diecimila:cpu=atmega168 + artifact-name-suffix: arduino-avr-diecimila-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:nano:cpu=atmega328 + artifact-name-suffix: arduino-avr-nano-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:nano:cpu=atmega328old + artifact-name-suffix: arduino-avr-nano-cpu-atmega328old serial: true softwareserial: true - fqbn: arduino:avr:nano:cpu=atmega168 + artifact-name-suffix: arduino-avr-nano-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:mega:cpu=atmega2560 + artifact-name-suffix: arduino-avr-mega-cpu-atmega2560 serial: true softwareserial: true - fqbn: arduino:avr:mega:cpu=atmega1280 + artifact-name-suffix: arduino-avr-mega-cpu-atmega1280 serial: true softwareserial: true - fqbn: arduino:avr:megaADK + artifact-name-suffix: arduino-avr-megaADK serial: true softwareserial: true - fqbn: arduino:avr:leonardo + artifact-name-suffix: arduino-avr-leonardo serial: true softwareserial: true - fqbn: arduino:avr:leonardoeth + artifact-name-suffix: arduino-avr-leonardoeth serial: true softwareserial: true - fqbn: arduino:avr:micro + artifact-name-suffix: arduino-avr-micro serial: true softwareserial: true - fqbn: arduino:avr:esplora + artifact-name-suffix: arduino-avr-esplora serial: true softwareserial: true - fqbn: arduino:avr:mini:cpu=atmega328 + artifact-name-suffix: arduino-avr-mini-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:mini:cpu=atmega168 + artifact-name-suffix: arduino-avr-mini-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:ethernet + artifact-name-suffix: arduino-avr-ethernet serial: true softwareserial: true - fqbn: arduino:avr:fio + artifact-name-suffix: arduino-avr-fio serial: true softwareserial: true - fqbn: arduino:avr:bt:cpu=atmega328 + artifact-name-suffix: arduino-avr-bt-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:bt:cpu=atmega168 + artifact-name-suffix: arduino-avr-bt-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:LilyPadUSB + artifact-name-suffix: arduino-avr-LilyPadUSB serial: true softwareserial: true - fqbn: arduino:avr:lilypad:cpu=atmega328 + artifact-name-suffix: arduino-avr-lilypad-cpu-atmega328 serial: true softwareserial: true - fqbn: arduino:avr:lilypad:cpu=atmega168 + artifact-name-suffix: arduino-avr-lilypad-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=16MHzatmega328 + artifact-name-suffix: arduino-avr-pro-cpu-16MHzatmega328 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=8MHzatmega328 + artifact-name-suffix: arduino-avr-pro-cpu-8MHzatmega328 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=16MHzatmega168 + artifact-name-suffix: arduino-avr-pro-cpu-16MHzatmega168 serial: true softwareserial: true - fqbn: arduino:avr:pro:cpu=8MHzatmega168 + artifact-name-suffix: arduino-avr-pro-cpu-8MHzatmega168 serial: true softwareserial: true - fqbn: arduino:avr:atmegang:cpu=atmega168 + artifact-name-suffix: arduino-avr-atmegang-cpu-atmega168 serial: true softwareserial: true - fqbn: arduino:avr:atmegang:cpu=atmega8 + artifact-name-suffix: arduino-avr-atmegang-cpu-atmega8 serial: true softwareserial: false - fqbn: arduino:avr:robotControl + artifact-name-suffix: arduino-avr-robotControl serial: true softwareserial: false - fqbn: arduino:avr:robotMotor + artifact-name-suffix: arduino-avr-robotMotor serial: true softwareserial: false - fqbn: arduino:avr:gemma + artifact-name-suffix: arduino-avr-gemma serial: false softwareserial: false - fqbn: arduino:avr:circuitplay32u4cat + artifact-name-suffix: arduino-avr-circuitplay32u4cat serial: true softwareserial: true - fqbn: arduino:avr:yunmini + artifact-name-suffix: arduino-avr-yunmini serial: true softwareserial: true - fqbn: arduino:avr:chiwawa + artifact-name-suffix: arduino-avr-chiwawa serial: true softwareserial: true - fqbn: arduino:avr:one + artifact-name-suffix: arduino-avr-one serial: true softwareserial: true - fqbn: arduino:avr:unowifi + artifact-name-suffix: arduino-avr-unowifi serial: true softwareserial: true - fqbn: arduino:avr:unomini + artifact-name-suffix: arduino-avr-unomini serial: true softwareserial: true @@ -206,4 +244,4 @@ jobs: with: if-no-files-found: error path: ${{ env.SKETCHES_REPORTS_PATH }} - name: ${{ env.SKETCHES_REPORTS_PATH }} + name: sketches-report-${{ matrix.board.artifact-name-suffix }} diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml index 652be5d..39e2a0a 100644 --- a/.github/workflows/report-size-deltas.yml +++ b/.github/workflows/report-size-deltas.yml @@ -20,5 +20,5 @@ jobs: - name: Comment size deltas reports to PRs uses: arduino/report-size-deltas@v1 with: - # The name of the workflow artifact created by the sketch compilation workflow - sketches-reports-source: sketches-reports + # Regex matching the names of the workflow artifacts created by the "Compile Examples" workflow + sketches-reports-source: ^sketches-report-.+ From 70ae1423a59df7b460e4733eed2063535831e5cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 22:12:41 +0000 Subject: [PATCH 08/17] Bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check-arduino.yml | 2 +- .github/workflows/compile-platform-examples.yml | 2 +- .github/workflows/spell-check.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml index 3991385..1dd2985 100644 --- a/.github/workflows/check-arduino.yml +++ b/.github/workflows/check-arduino.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Arduino Lint uses: arduino/arduino-lint-action@v2 diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index 58cfd34..c828a98 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -214,7 +214,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Compile examples uses: arduino/compile-sketches@v1 diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml index ef7d894..19f5d38 100644 --- a/.github/workflows/spell-check.yml +++ b/.github/workflows/spell-check.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Spell check uses: codespell-project/actions-codespell@master From 71fcee29874195c9c678cd2cfb7ffe8f1e856edb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 18:52:40 +0000 Subject: [PATCH 09/17] Bump actions/upload-artifact from 4 to 5 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/compile-platform-examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index c828a98..7916e08 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -240,7 +240,7 @@ jobs: sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} - name: Save sketches report as workflow artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: if-no-files-found: error path: ${{ env.SKETCHES_REPORTS_PATH }} From 1a6a417f89c8901dad646efce74ae9d3ddebfd59 Mon Sep 17 00:00:00 2001 From: pennam Date: Wed, 29 Oct 2025 09:07:20 +0100 Subject: [PATCH 10/17] check boundaries converting float/double to String --- cores/arduino/WString.cpp | 15 +++++++++++++-- cores/arduino/WString.h | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/cores/arduino/WString.cpp b/cores/arduino/WString.cpp index 043fda7..17aa3e3 100644 --- a/cores/arduino/WString.cpp +++ b/cores/arduino/WString.cpp @@ -21,6 +21,13 @@ #include "WString.h" +/*********************************************/ +/* Static Member Initialisation */ +/*********************************************/ + +size_t const String::FLT_MAX_DECIMAL_PLACES; +size_t const String::DBL_MAX_DECIMAL_PLACES; + /*********************************************/ /* Constructors */ /*********************************************/ @@ -107,15 +114,19 @@ String::String(unsigned long value, unsigned char base) String::String(float value, unsigned char decimalPlaces) { + static size_t const FLOAT_BUF_SIZE = 38 + FLT_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; init(); - char buf[33]; + char buf[FLOAT_BUF_SIZE]; + decimalPlaces = decimalPlaces < FLT_MAX_DECIMAL_PLACES ? decimalPlaces : FLT_MAX_DECIMAL_PLACES; *this = dtostrf(value, (decimalPlaces + 2), decimalPlaces, buf); } String::String(double value, unsigned char decimalPlaces) { + static size_t const DOUBLE_BUF_SIZE = 38 + DBL_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; init(); - char buf[33]; + char buf[DOUBLE_BUF_SIZE]; + decimalPlaces = decimalPlaces < DBL_MAX_DECIMAL_PLACES ? decimalPlaces : DBL_MAX_DECIMAL_PLACES; *this = dtostrf(value, (decimalPlaces + 2), decimalPlaces, buf); } diff --git a/cores/arduino/WString.h b/cores/arduino/WString.h index 2cf4cd7..de2a229 100644 --- a/cores/arduino/WString.h +++ b/cores/arduino/WString.h @@ -50,6 +50,9 @@ class String typedef void (String::*StringIfHelperType)() const; void StringIfHelper() const {} + static size_t const FLT_MAX_DECIMAL_PLACES = 10; + static size_t const DBL_MAX_DECIMAL_PLACES = FLT_MAX_DECIMAL_PLACES; + public: // constructors // creates a copy of the initial value. From 85d690cdbc29c7605bf98bde061e27a8bbade2f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Nov 2025 18:01:41 +0000 Subject: [PATCH 11/17] Bump actions/checkout from 5 to 6 Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check-arduino.yml | 2 +- .github/workflows/compile-platform-examples.yml | 2 +- .github/workflows/spell-check.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml index 1dd2985..71e5a7f 100644 --- a/.github/workflows/check-arduino.yml +++ b/.github/workflows/check-arduino.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Arduino Lint uses: arduino/arduino-lint-action@v2 diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index 7916e08..e7c1374 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -214,7 +214,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Compile examples uses: arduino/compile-sketches@v1 diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml index 19f5d38..8fc4b8c 100644 --- a/.github/workflows/spell-check.yml +++ b/.github/workflows/spell-check.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Spell check uses: codespell-project/actions-codespell@master From db1b6a0540321cf0f7b9eb4881bcc3cc70849f76 Mon Sep 17 00:00:00 2001 From: pennam Date: Fri, 28 Nov 2025 09:15:45 +0100 Subject: [PATCH 12/17] use FLT_MAX_10_EXP and DBL_MAX_10_EXP instead of hardcoded values --- cores/arduino/WString.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cores/arduino/WString.cpp b/cores/arduino/WString.cpp index 17aa3e3..9bd9eda 100644 --- a/cores/arduino/WString.cpp +++ b/cores/arduino/WString.cpp @@ -20,6 +20,7 @@ */ #include "WString.h" +#include /*********************************************/ /* Static Member Initialisation */ @@ -114,7 +115,7 @@ String::String(unsigned long value, unsigned char base) String::String(float value, unsigned char decimalPlaces) { - static size_t const FLOAT_BUF_SIZE = 38 + FLT_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; + static size_t const FLOAT_BUF_SIZE = FLT_MAX_10_EXP + FLT_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; init(); char buf[FLOAT_BUF_SIZE]; decimalPlaces = decimalPlaces < FLT_MAX_DECIMAL_PLACES ? decimalPlaces : FLT_MAX_DECIMAL_PLACES; @@ -123,7 +124,7 @@ String::String(float value, unsigned char decimalPlaces) String::String(double value, unsigned char decimalPlaces) { - static size_t const DOUBLE_BUF_SIZE = 38 + DBL_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; + static size_t const DOUBLE_BUF_SIZE = DBL_MAX_10_EXP + DBL_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; init(); char buf[DOUBLE_BUF_SIZE]; decimalPlaces = decimalPlaces < DBL_MAX_DECIMAL_PLACES ? decimalPlaces : DBL_MAX_DECIMAL_PLACES; From 7692600f5ef29c8a19964f59321d47306625ab5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Dec 2025 18:05:09 +0000 Subject: [PATCH 13/17] Bump actions/upload-artifact from 5 to 6 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/compile-platform-examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile-platform-examples.yml b/.github/workflows/compile-platform-examples.yml index e7c1374..c0c6a9b 100644 --- a/.github/workflows/compile-platform-examples.yml +++ b/.github/workflows/compile-platform-examples.yml @@ -240,7 +240,7 @@ jobs: sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} - name: Save sketches report as workflow artifact - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: if-no-files-found: error path: ${{ env.SKETCHES_REPORTS_PATH }} From 3a957ab8586a2c5199372bd70837753942ad4119 Mon Sep 17 00:00:00 2001 From: pennam Date: Tue, 13 Jan 2026 14:24:21 +0100 Subject: [PATCH 14/17] fix FLOAT / DOUBLE String buffer size We need an additional +1 because 10^n makes use of n+1 digits --- cores/arduino/WString.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cores/arduino/WString.cpp b/cores/arduino/WString.cpp index 9bd9eda..44c83ba 100644 --- a/cores/arduino/WString.cpp +++ b/cores/arduino/WString.cpp @@ -115,7 +115,7 @@ String::String(unsigned long value, unsigned char base) String::String(float value, unsigned char decimalPlaces) { - static size_t const FLOAT_BUF_SIZE = FLT_MAX_10_EXP + FLT_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; + static size_t const FLOAT_BUF_SIZE = (FLT_MAX_10_EXP + 1) + FLT_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; init(); char buf[FLOAT_BUF_SIZE]; decimalPlaces = decimalPlaces < FLT_MAX_DECIMAL_PLACES ? decimalPlaces : FLT_MAX_DECIMAL_PLACES; @@ -124,7 +124,7 @@ String::String(float value, unsigned char decimalPlaces) String::String(double value, unsigned char decimalPlaces) { - static size_t const DOUBLE_BUF_SIZE = DBL_MAX_10_EXP + DBL_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; + static size_t const DOUBLE_BUF_SIZE = (DBL_MAX_10_EXP + 1) + DBL_MAX_DECIMAL_PLACES + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; init(); char buf[DOUBLE_BUF_SIZE]; decimalPlaces = decimalPlaces < DBL_MAX_DECIMAL_PLACES ? decimalPlaces : DBL_MAX_DECIMAL_PLACES; From b80585ca2b9109b98a0fdfadaa25a56711cfe18b Mon Sep 17 00:00:00 2001 From: pennam Date: Tue, 13 Jan 2026 14:47:56 +0100 Subject: [PATCH 15/17] use DECIMAL_DIG instead of hardcoded values --- cores/arduino/WString.cpp | 4 ++-- cores/arduino/WString.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cores/arduino/WString.cpp b/cores/arduino/WString.cpp index 44c83ba..dd5e2b2 100644 --- a/cores/arduino/WString.cpp +++ b/cores/arduino/WString.cpp @@ -26,8 +26,8 @@ /* Static Member Initialisation */ /*********************************************/ -size_t const String::FLT_MAX_DECIMAL_PLACES; -size_t const String::DBL_MAX_DECIMAL_PLACES; +size_t const String::FLT_MAX_DECIMAL_PLACES = DECIMAL_DIG; +size_t const String::DBL_MAX_DECIMAL_PLACES = DECIMAL_DIG; /*********************************************/ /* Constructors */ diff --git a/cores/arduino/WString.h b/cores/arduino/WString.h index de2a229..beab233 100644 --- a/cores/arduino/WString.h +++ b/cores/arduino/WString.h @@ -50,8 +50,8 @@ class String typedef void (String::*StringIfHelperType)() const; void StringIfHelper() const {} - static size_t const FLT_MAX_DECIMAL_PLACES = 10; - static size_t const DBL_MAX_DECIMAL_PLACES = FLT_MAX_DECIMAL_PLACES; + static size_t const FLT_MAX_DECIMAL_PLACES; + static size_t const DBL_MAX_DECIMAL_PLACES; public: // constructors From d5d1355b95fd57bbcd30b86db5dc0003440eee8d Mon Sep 17 00:00:00 2001 From: Mattia Pennasilico Date: Wed, 21 Jan 2026 11:09:53 +0100 Subject: [PATCH 16/17] Publish core 1.8.7 --- platform.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.txt b/platform.txt index df5ddb7..4352695 100644 --- a/platform.txt +++ b/platform.txt @@ -6,7 +6,7 @@ # https://arduino.github.io/arduino-cli/latest/platform-specification/ name=Arduino AVR Boards -version=1.8.6 +version=1.8.7 # AVR compile variables # --------------------- From 41c2f4d73a761574c8e2ccc29d51ac837e35aee3 Mon Sep 17 00:00:00 2001 From: David Madison Date: Mon, 2 Feb 2026 09:04:21 -0500 Subject: [PATCH 17/17] Update version to 1.0.6 --- platform.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.txt b/platform.txt index 63179d3..8c4f5eb 100644 --- a/platform.txt +++ b/platform.txt @@ -6,7 +6,7 @@ # https://arduino.github.io/arduino-cli/latest/platform-specification/ name=XInput AVR Boards -version=1.0.5 +version=1.0.6 # AVR compile variables # ---------------------