[Pkg-electronics-devel] Bug#1135833: bookworm-pu: package arduino-core-avr/1.8.7+dfsg-1~deb12u1

Adrian Bunk bunk at debian.org
Wed May 6 11:37:00 BST 2026


Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: arduino-core-avr at packages.debian.org, security at debian.org
Control: affects -1 + src:arduino-core-avr
User: release.debian.org at packages.debian.org
Usertags: pu

This follows trixie in upgrading from 1.8.6 to 1.8.7 for
fixing CVE-2025-69209 (see #1129671).

A Debian change for a FTBFS in trixie that is not needed
in bookworm (the 1.8.6+dfsg-2 change) is not applied, and
dropping the Priority+Rules-Requires-Root fields is reverted
for bookworm.
-------------- next part --------------
diffstat for arduino-core-avr-1.8.6+dfsg arduino-core-avr-1.8.7+dfsg

 .codespellrc                                                           |    2 
 .github/workflows/check-arduino.yml                                    |    4 
 .github/workflows/compile-platform-examples.yml                        |   44 +++++++++-
 .github/workflows/report-size-deltas.yml                               |    4 
 .github/workflows/spell-check.yml                                      |    2 
 boards.txt                                                             |    6 -
 cores/arduino/WString.cpp                                              |   16 +++
 cores/arduino/WString.h                                                |    3 
 debian/arduino-core-avr.lintian-overrides                              |    6 +
 debian/changelog                                                       |   28 ++++++
 debian/control                                                         |    2 
 debian/copyright                                                       |   36 ++++----
 debian/patches/debian-hacks/Adjust-paths-for-gcc-avr-and-avrdude.patch |    2 
 debian/patches/debian-hacks/optimize-fno-jump-tables.diff              |   20 ++++
 debian/patches/series                                                  |    1 
 libraries/Wire/examples/i2c_scanner/i2c_scanner.ino                    |    2 
 platform.txt                                                           |    2 
 17 files changed, 144 insertions(+), 36 deletions(-)

diff -Nru arduino-core-avr-1.8.6+dfsg/boards.txt arduino-core-avr-1.8.7+dfsg/boards.txt
--- arduino-core-avr-1.8.6+dfsg/boards.txt	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/boards.txt	2026-01-30 14:43:05.000000000 +0200
@@ -58,7 +58,7 @@
 
 ##############################################################
 
-uno.name=Arduino Uno
+uno.name=Arduino UNO
 
 uno.vid.0=0x2341
 uno.pid.0=0x0043
@@ -107,7 +107,7 @@
 
 ##############################################################
 
-unomini.name=Arduino Uno Mini
+unomini.name=Arduino UNO Mini
 
 unomini.vid.0=0x2341
 unomini.pid.0=0x0062
@@ -1272,7 +1272,7 @@
 
 ##############################################################
 
-unowifi.name=Arduino Uno WiFi
+unowifi.name=Arduino UNO WiFi
 unowifi.vid.0=0x2A03
 unowifi.pid.0=0x0057
 unowifi.upload_port.0.vid=0x2A03
diff -Nru arduino-core-avr-1.8.6+dfsg/.codespellrc arduino-core-avr-1.8.7+dfsg/.codespellrc
--- arduino-core-avr-1.8.6+dfsg/.codespellrc	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/.codespellrc	2026-01-30 14:43:05.000000000 +0200
@@ -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 =
diff -Nru arduino-core-avr-1.8.6+dfsg/cores/arduino/WString.cpp arduino-core-avr-1.8.7+dfsg/cores/arduino/WString.cpp
--- arduino-core-avr-1.8.6+dfsg/cores/arduino/WString.cpp	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/cores/arduino/WString.cpp	2026-01-30 14:43:05.000000000 +0200
@@ -20,6 +20,14 @@
 */
 
 #include "WString.h"
+#include <float.h>
+
+/*********************************************/
+/*  Static Member Initialisation             */
+/*********************************************/
+
+size_t const String::FLT_MAX_DECIMAL_PLACES = DECIMAL_DIG;
+size_t const String::DBL_MAX_DECIMAL_PLACES = DECIMAL_DIG;
 
 /*********************************************/
 /*  Constructors                             */
@@ -107,15 +115,19 @@
 
 String::String(float value, unsigned char decimalPlaces)
 {
+	static size_t const FLOAT_BUF_SIZE = (FLT_MAX_10_EXP + 1) + 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 = (DBL_MAX_10_EXP + 1) + 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 -Nru arduino-core-avr-1.8.6+dfsg/cores/arduino/WString.h arduino-core-avr-1.8.7+dfsg/cores/arduino/WString.h
--- arduino-core-avr-1.8.6+dfsg/cores/arduino/WString.h	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/cores/arduino/WString.h	2026-01-30 14:43:05.000000000 +0200
@@ -50,6 +50,9 @@
 	typedef void (String::*StringIfHelperType)() const;
 	void StringIfHelper() const {}
 
+	static size_t const FLT_MAX_DECIMAL_PLACES;
+	static size_t const DBL_MAX_DECIMAL_PLACES;
+
 public:
 	// constructors
 	// creates a copy of the initial value.
diff -Nru arduino-core-avr-1.8.6+dfsg/debian/arduino-core-avr.lintian-overrides arduino-core-avr-1.8.7+dfsg/debian/arduino-core-avr.lintian-overrides
--- arduino-core-avr-1.8.6+dfsg/debian/arduino-core-avr.lintian-overrides	2022-11-06 08:20:44.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/debian/arduino-core-avr.lintian-overrides	2026-01-30 14:56:33.000000000 +0200
@@ -8,3 +8,9 @@
 # Mostly for the same reason as above we can ignore this.
 arduino-core-avr: repeated-path-segment arduino [usr/share/arduino/hardware/arduino/]
 arduino-core-avr: repeated-path-segment arduino [usr/share/arduino/hardware/arduino/avr/cores/arduino/]
+
+# Those are for the AVR boards, and expected to live in this location, as we have no AVR arch
+arduino-core-avr: arch-dependent-file-in-usr-share [usr/share/arduino/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168.o]
+arduino-core-avr: arch-dependent-file-in-usr-share [usr/share/arduino/hardware/arduino/avr/bootloaders/bt/ATmegaBOOT_168.o]
+arduino-core-avr: arch-independent-package-contains-binary-or-object [usr/share/arduino/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168.o]
+arduino-core-avr: arch-independent-package-contains-binary-or-object [usr/share/arduino/hardware/arduino/avr/bootloaders/bt/ATmegaBOOT_168.o]
diff -Nru arduino-core-avr-1.8.6+dfsg/debian/changelog arduino-core-avr-1.8.7+dfsg/debian/changelog
--- arduino-core-avr-1.8.6+dfsg/debian/changelog	2022-11-06 08:27:21.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/debian/changelog	2026-05-06 12:56:00.000000000 +0300
@@ -1,3 +1,31 @@
+arduino-core-avr (1.8.7+dfsg-1~deb12u1) bookworm; urgency=medium
+
+  * Non-maintainer upload.
+  * Rebuild for bookworm.
+    - Drop -fno-jump-tables addition.
+    - debian/control: Restore Priority and Rules-Requires-Root fields.
+
+ -- Adrian Bunk <bunk at debian.org>  Wed, 06 May 2026 12:56:00 +0300
+
+arduino-core-avr (1.8.7+dfsg-1) unstable; urgency=medium
+
+  * Team upload
+  * [6840e74] New upstream version 1.8.7+dfsg (Closes: #1126285) (CVE-2025-69209)
+  * [f497c6e] d/copyright: Adjust excludes list
+  * [a9b845a] Refresh patches for new upstream release
+  * [c386188] d/control: Bump S-V to 4.7.3; drop priority: optional and RRR
+  * [95bf24d] Update lintian overrides for avr bootloader files
+
+ -- Matthias Geiger <werdahias at debian.org>  Fri, 30 Jan 2026 13:56:33 +0100
+
+arduino-core-avr (1.8.6+dfsg-2) unstable; urgency=medium
+
+  * Team upload
+  * [d3d832c] Add patch adding -fno-jump-tables to makefile (Closes: #1086256),
+    thanks to Scott Ashcroft
+
+ -- Matthias Geiger <werdahias at debian.org>  Wed, 19 Mar 2025 20:06:26 +0100
+
 arduino-core-avr (1.8.6+dfsg-1) unstable; urgency=medium
 
   * [0ef762f] New upstream version 1.8.6+dfsg
diff -Nru arduino-core-avr-1.8.6+dfsg/debian/control arduino-core-avr-1.8.7+dfsg/debian/control
--- arduino-core-avr-1.8.6+dfsg/debian/control	2022-11-06 08:16:47.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/debian/control	2026-05-06 12:56:00.000000000 +0300
@@ -8,7 +8,7 @@
  avr-libc,
  debhelper-compat (= 13),
  gcc-avr,
-Standards-Version: 4.6.1
+Standards-Version: 4.7.3
 Rules-Requires-Root: no
 Homepage: https://github.com/arduino/ArduinoCore-avr
 Vcs-Browser: https://salsa.debian.org/electronics-team/arduino/arduino-core-avr
diff -Nru arduino-core-avr-1.8.6+dfsg/debian/copyright arduino-core-avr-1.8.7+dfsg/debian/copyright
--- arduino-core-avr-1.8.6+dfsg/debian/copyright	2022-11-06 08:05:47.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/debian/copyright	2026-01-30 14:56:33.000000000 +0200
@@ -9,7 +9,7 @@
  *.pnps
  *.ppg
  *.rej
- driver
+ drivers
  firmwares/wifishield
 Comment: The upstream Git tree isn't holding a dedicated copyright and
  license information for now. The arduino-core-avr relevant part was split
@@ -288,7 +288,7 @@
  .
    * Neither the name of <Organization> nor the names of its
      contributors may be used to endorse or promote products derived from
-     this software without specific prior written permission. 
+     this software without specific prior written permission.
  .
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
  IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -331,13 +331,13 @@
  OTHER DEALINGS IN THE SOFTWARE.
 
 License: MIT-modified
- Permission to use, copy, modify, distribute, and sell this 
+ Permission to use, copy, modify, distribute, and sell this
  software and its documentation for any purpose is hereby granted
- without fee, provided that the above copyright notice appear in 
+ without fee, provided that the above copyright notice appear in
  all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting 
- documentation, and that the name of the author not be used in 
- advertising or publicity pertaining to distribution of the 
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
  software without specific, written prior permission.
  .
  The author disclaim all warranties with regard to this
@@ -362,17 +362,17 @@
  /usr/share/common-licenses/GPL-3.
 
 License: ISC
- Permission to use, copy, modify, and/or distribute this software for  
- any purpose with or without fee is hereby granted, provided that the  
- above copyright notice and this permission notice appear in all copies.  
- .
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL  
- WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED  
- WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR  
- BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES  
- OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,  
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,  
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS  
+ Permission to use, copy, modify, and/or distribute this software for
+ any purpose with or without fee is hereby granted, provided that the
+ above copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
+ BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+ OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  SOFTWARE.
 
 License: LGPL-2.1+
diff -Nru arduino-core-avr-1.8.6+dfsg/debian/patches/debian-hacks/Adjust-paths-for-gcc-avr-and-avrdude.patch arduino-core-avr-1.8.7+dfsg/debian/patches/debian-hacks/Adjust-paths-for-gcc-avr-and-avrdude.patch
--- arduino-core-avr-1.8.6+dfsg/debian/patches/debian-hacks/Adjust-paths-for-gcc-avr-and-avrdude.patch	2022-11-06 08:13:00.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/debian/patches/debian-hacks/Adjust-paths-for-gcc-avr-and-avrdude.patch	2026-01-30 14:56:33.000000000 +0200
@@ -19,7 +19,7 @@
  
 -name=Arduino AVR Boards
 +name=Arduino AVR Boards (Debian packaged)
- version=1.8.6
+ version=1.8.7
  
  # AVR compile variables
 @@ -18,7 +18,7 @@ compiler.warning_flags.more=-Wall
diff -Nru arduino-core-avr-1.8.6+dfsg/debian/patches/debian-hacks/optimize-fno-jump-tables.diff arduino-core-avr-1.8.7+dfsg/debian/patches/debian-hacks/optimize-fno-jump-tables.diff
--- arduino-core-avr-1.8.6+dfsg/debian/patches/debian-hacks/optimize-fno-jump-tables.diff	1970-01-01 02:00:00.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/debian/patches/debian-hacks/optimize-fno-jump-tables.diff	2026-01-30 14:56:33.000000000 +0200
@@ -0,0 +1,20 @@
+Description: Add -fno-jump-tables to optimization flags
+ Original author: Scott Ashcroft <scott.ashcroft at hotmail.com>
+Author: Matthias Geiger <werdahias at debian.org>
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1086256 
+Forwarded: not-needed 
+Last-Update: 2025-03-19
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+
+--- a/bootloaders/atmega8/Makefile
++++ b/bootloaders/atmega8/Makefile
+@@ -26,7 +26,7 @@
+ 
+ 
+ OBJ        = $(PROGRAM).o
+-OPTIMIZE   = -Os -funsigned-char -funsigned-bitfields -fno-inline-small-functions
++OPTIMIZE   = -Os -funsigned-char -funsigned-bitfields -fno-inline-small-functions -fno-jump-tables
+ 
+ DEFS       = -DF_CPU=16000000 -DBAUD_RATE=19200
+ LIBS       =
diff -Nru arduino-core-avr-1.8.6+dfsg/debian/patches/series arduino-core-avr-1.8.7+dfsg/debian/patches/series
--- arduino-core-avr-1.8.6+dfsg/debian/patches/series	2022-11-06 08:13:00.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/debian/patches/series	2026-05-06 12:56:00.000000000 +0300
@@ -1,2 +1,3 @@
 debian-hacks/Don-t-use-DIRAVRBIN-variable-in-bootloaders-atmega8.patch
 debian-hacks/Adjust-paths-for-gcc-avr-and-avrdude.patch
+#debian-hacks/optimize-fno-jump-tables.diff
diff -Nru arduino-core-avr-1.8.6+dfsg/.github/workflows/check-arduino.yml arduino-core-avr-1.8.7+dfsg/.github/workflows/check-arduino.yml
--- arduino-core-avr-1.8.6+dfsg/.github/workflows/check-arduino.yml	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/.github/workflows/check-arduino.yml	2026-01-30 14:43:05.000000000 +0200
@@ -16,10 +16,10 @@
 
     steps:
       - name: Checkout repository
-        uses: actions/checkout at v3
+        uses: actions/checkout at v6
 
       - name: Arduino Lint
-        uses: arduino/arduino-lint-action at v1
+        uses: arduino/arduino-lint-action at v2
         with:
           compliance: specification
           # Always use this setting for official repositories. Remove for 3rd party projects.
diff -Nru arduino-core-avr-1.8.6+dfsg/.github/workflows/compile-platform-examples.yml arduino-core-avr-1.8.7+dfsg/.github/workflows/compile-platform-examples.yml
--- arduino-core-avr-1.8.6+dfsg/.github/workflows/compile-platform-examples.yml	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/.github/workflows/compile-platform-examples.yml	2026-01-30 14:43:05.000000000 +0200
@@ -35,117 +35,155 @@
       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
 
@@ -176,7 +214,7 @@
 
     steps:
       - name: Checkout repository
-        uses: actions/checkout at v3
+        uses: actions/checkout at v6
 
       - name: Compile examples
         uses: arduino/compile-sketches at v1
@@ -202,8 +240,8 @@
           sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
 
       - name: Save sketches report as workflow artifact
-        uses: actions/upload-artifact at v3
+        uses: actions/upload-artifact at v6
         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 -Nru arduino-core-avr-1.8.6+dfsg/.github/workflows/report-size-deltas.yml arduino-core-avr-1.8.7+dfsg/.github/workflows/report-size-deltas.yml
--- arduino-core-avr-1.8.6+dfsg/.github/workflows/report-size-deltas.yml	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/.github/workflows/report-size-deltas.yml	2026-01-30 14:43:05.000000000 +0200
@@ -20,5 +20,5 @@
       - name: Comment size deltas reports to PRs
         uses: arduino/report-size-deltas at 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-.+
diff -Nru arduino-core-avr-1.8.6+dfsg/.github/workflows/spell-check.yml arduino-core-avr-1.8.7+dfsg/.github/workflows/spell-check.yml
--- arduino-core-avr-1.8.6+dfsg/.github/workflows/spell-check.yml	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/.github/workflows/spell-check.yml	2026-01-30 14:43:05.000000000 +0200
@@ -16,7 +16,7 @@
 
     steps:
       - name: Checkout repository
-        uses: actions/checkout at v3
+        uses: actions/checkout at v6
 
       - name: Spell check
         uses: codespell-project/actions-codespell at master
diff -Nru arduino-core-avr-1.8.6+dfsg/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino arduino-core-avr-1.8.7+dfsg/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino
--- arduino-core-avr-1.8.6+dfsg/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/libraries/Wire/examples/i2c_scanner/i2c_scanner.ino	2026-01-30 14:43:05.000000000 +0200
@@ -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
diff -Nru arduino-core-avr-1.8.6+dfsg/platform.txt arduino-core-avr-1.8.7+dfsg/platform.txt
--- arduino-core-avr-1.8.6+dfsg/platform.txt	2022-11-02 12:46:53.000000000 +0200
+++ arduino-core-avr-1.8.7+dfsg/platform.txt	2026-01-30 14:43:05.000000000 +0200
@@ -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
 # ---------------------


More information about the Pkg-electronics-devel mailing list