From c11b9dd57aa7eed999d7832ad6c6ff9071aa3b51 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 22 Apr 2025 15:49:40 +0200 Subject: [PATCH 01/17] [skip-changelog] Fixed release workflow build (#2896) --- .github/workflows/release-go-task.yml | 37 +++++++++++++++++---------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 7c37deeacf8..fa9ed513bf7 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -20,20 +20,29 @@ jobs: create-release-artifacts: outputs: version: ${{ steps.get-version.outputs.version }} - runs-on: ubuntu-latest + runs-on: ${{ matrix.env.runner }} strategy: matrix: - os: - - Windows_32bit - - Windows_64bit - - Linux_32bit - - Linux_64bit - - Linux_ARMv6 - - Linux_ARMv7 - - Linux_ARM64 - - macOS_64bit - - macOS_ARM64 + env: + - os: Windows_32bit + runner: ubuntu-latest + - os: Windows_64bit + runner: ubuntu-latest + - os: Linux_32bit + runner: ubuntu-latest + - os: Linux_64bit + runner: ubuntu-latest + - os: Linux_ARMv6 + runner: ubuntu-latest + - os: Linux_ARMv7 + runner: ubuntu-latest + - os: Linux_ARM64 + runner: ubuntu-latest + - os: macOS_64bit + runner: ubuntu-latest + - os: macOS_ARM64 + runner: ubuntu-24.04-arm steps: - name: Checkout repository @@ -43,7 +52,7 @@ jobs: - name: Create changelog # Avoid creating the same changelog for each os - if: matrix.os == 'Windows_32bit' + if: matrix.env.os == 'Windows_32bit' uses: arduino/create-changelog@v1 with: tag-regex: '^v[0-9]+\.[0-9]+\.[0-9]+.*$' @@ -58,7 +67,7 @@ jobs: version: 3.x - name: Build - run: task dist:${{ matrix.os }} + run: task dist:${{ matrix.env.os }} - name: Output Version id: get-version @@ -68,7 +77,7 @@ jobs: uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }}-${{ matrix.os }} + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.env.os }} path: ${{ env.DIST_DIR }} notarize-macos: From 0846b470dc5b7d159000f59dc492a018f0cfc62d Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Mon, 28 Apr 2025 02:14:52 -0700 Subject: [PATCH 02/17] [skip changelog] Bump markdown-link-check from 3.10.3 to 3.13.7 (#2898) --- package-lock.json | 1133 ++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 876 insertions(+), 259 deletions(-) diff --git a/package-lock.json b/package-lock.json index ed3e3fd970f..b87ae733398 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,24 +5,72 @@ "packages": { "": { "devDependencies": { - "markdown-link-check": "3.10.3", + "markdown-link-check": "3.13.7", "markdownlint-cli": "^0.33.0", "prettier": "^3.3.1" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@oozcitak/dom": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.10.tgz", + "integrity": "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@oozcitak/infra": "1.0.8", + "@oozcitak/url": "1.0.4", + "@oozcitak/util": "8.3.8" }, "engines": { - "node": ">=8" + "node": ">=8.0" + } + }, + "node_modules/@oozcitak/infra": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", + "dev": true, + "dependencies": { + "@oozcitak/util": "8.3.8" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@oozcitak/url": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", + "dev": true, + "dependencies": { + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@oozcitak/util": { + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true, + "engines": { + "node": ">= 14" } }, "node_modules/argparse": { @@ -31,10 +79,22 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, "node_modules/balanced-match": { @@ -43,6 +103,15 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -59,16 +128,12 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -112,31 +177,13 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "dev": true, "engines": { - "node": ">= 6" + "node": ">=18" } }, "node_modules/css-select": { @@ -167,13 +214,30 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/deep-extend": { @@ -185,6 +249,20 @@ "node": ">=4.0.0" } }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -227,23 +305,23 @@ } }, "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "engines": { "node": ">=0.12" @@ -252,6 +330,58 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -270,6 +400,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-uri": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", + "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", + "dev": true, + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -289,15 +433,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/html-link-extractor": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-link-extractor/-/html-link-extractor-1.0.5.tgz", @@ -308,9 +443,9 @@ } }, "node_modules/htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -321,9 +456,35 @@ ], "dependencies": { "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "domutils": "^3.0.1", - "entities": "^4.3.0" + "entities": "^4.4.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" } }, "node_modules/iconv-lite": { @@ -372,6 +533,19 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/is-absolute-url": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", @@ -399,18 +573,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "dependencies": { - "punycode": "2.x.x" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -423,6 +585,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, "node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -430,15 +598,16 @@ "dev": true }, "node_modules/link-check": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.2.0.tgz", - "integrity": "sha512-xRbhYLaGDw7eRDTibTAcl6fXtmUQ13vkezQiTqshHHdGueQeumgxxmQMIOmJYsh2p8BF08t8thhDQ++EAOOq3w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.4.0.tgz", + "integrity": "sha512-0Pf4xBVUnwJdbDgpBlhHNmWDtbVjHTpIFs+JaBuIsC9PKRxjv4KMGCO2Gc8lkVnqMf9B/yaNY+9zmMlO5MyToQ==", "dev": true, "dependencies": { "is-relative-url": "^4.0.0", - "isemail": "^3.2.0", "ms": "^2.1.3", - "needle": "^3.1.0" + "needle": "^3.3.1", + "node-email-verifier": "^2.0.0", + "proxy-agent": "^6.4.0" } }, "node_modules/linkify-it": { @@ -450,11 +619,14 @@ "uc.micro": "^1.0.1" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } }, "node_modules/markdown-it": { "version": "13.0.1", @@ -485,32 +657,33 @@ } }, "node_modules/markdown-link-check": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.3.tgz", - "integrity": "sha512-uGdJiZOy1CVWlRe7CyBSJ0Gz80Xm4vt++xjX9sNFjB7qcAxLinaMmzFQ5xOwERaXC9mK770BhnqnsyJT1gTr9w==", + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.13.7.tgz", + "integrity": "sha512-Btn3HU8s2Uyh1ZfzmyZEkp64zp2+RAjwfQt1u4swq2Xa6w37OW0T2inQZrkSNVxDSa2jSN2YYhw/JkAp5jF1PQ==", "dev": true, "dependencies": { - "async": "^3.2.4", - "chalk": "^4.1.2", - "commander": "^6.2.0", - "link-check": "^5.2.0", - "lodash": "^4.17.21", - "markdown-link-extractor": "^3.1.0", - "needle": "^3.1.0", - "progress": "^2.0.3" + "async": "^3.2.6", + "chalk": "^5.3.0", + "commander": "^13.1.0", + "link-check": "^5.4.0", + "markdown-link-extractor": "^4.0.2", + "needle": "^3.3.1", + "progress": "^2.0.3", + "proxy-agent": "^6.4.0", + "xmlbuilder2": "^3.1.1" }, "bin": { "markdown-link-check": "markdown-link-check" } }, "node_modules/markdown-link-extractor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-3.1.0.tgz", - "integrity": "sha512-r0NEbP1dsM+IqB62Ru9TXLP/HDaTdBNIeylYXumuBi6Xv4ufjE1/g3TnslYL8VNqNcGAGbMptQFHrrdfoZ/Sug==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.2.tgz", + "integrity": "sha512-5cUOu4Vwx1wenJgxaudsJ8xwLUMN7747yDJX3V/L7+gi3e4MsCm7w5nbrDQQy8nEfnl4r5NV3pDXMAjhGXYXAw==", "dev": true, "dependencies": { "html-link-extractor": "^1.0.5", - "marked": "^4.1.0" + "marked": "^12.0.1" } }, "node_modules/markdownlint": { @@ -558,15 +731,15 @@ } }, "node_modules/marked": { - "version": "4.2.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz", - "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", "dev": true, "bin": { "marked": "bin/marked.js" }, "engines": { - "node": ">= 12" + "node": ">= 18" } }, "node_modules/mdurl": { @@ -603,12 +776,11 @@ "dev": true }, "node_modules/needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, "dependencies": { - "debug": "^3.2.6", "iconv-lite": "^0.6.3", "sax": "^1.2.4" }, @@ -619,6 +791,28 @@ "node": ">= 4.4.x" } }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/node-email-verifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-email-verifier/-/node-email-verifier-2.0.0.tgz", + "integrity": "sha512-AHcppjOH2KT0mxakrxFMOMjV/gOVMRpYvnJUkNfgF9oJ3INdVmqcMFJ5TlM8elpTPwt6A7bSp1IMnnWcxGom/Q==", + "dev": true, + "dependencies": { + "ms": "^2.1.3", + "validator": "^13.11.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -640,31 +834,75 @@ "wrappy": "1" } }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "dev": true, + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "dependencies": { - "entities": "^4.4.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, "dependencies": { - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "parse5": "^7.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/prettier": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", @@ -689,15 +927,31 @@ "node": ">=0.4.0" } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", "dev": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, "engines": { - "node": ">=6" + "node": ">= 14" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/run-con": { "version": "1.2.11", "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz", @@ -720,9 +974,63 @@ "dev": true }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "dev": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "node_modules/strip-json-comments": { @@ -737,17 +1045,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true }, "node_modules/uc.micro": { "version": "1.0.6", @@ -755,33 +1057,133 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, + "node_modules/validator": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", + "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true + }, + "node_modules/xmlbuilder2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz", + "integrity": "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==", + "dev": true, + "dependencies": { + "@oozcitak/dom": "1.15.10", + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8", + "js-yaml": "3.14.1" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/xmlbuilder2/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/xmlbuilder2/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/xmlbuilder2/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true } }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "@oozcitak/dom": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.10.tgz", + "integrity": "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "@oozcitak/infra": "1.0.8", + "@oozcitak/url": "1.0.4", + "@oozcitak/util": "8.3.8" } }, + "@oozcitak/infra": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", + "dev": true, + "requires": { + "@oozcitak/util": "8.3.8" + } + }, + "@oozcitak/url": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", + "dev": true, + "requires": { + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8" + } + }, + "@oozcitak/util": { + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", + "dev": true + }, + "@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, + "agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, "balanced-match": { @@ -790,6 +1192,12 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "dev": true + }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -806,14 +1214,10 @@ } }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true }, "cheerio": { "version": "1.0.0-rc.12", @@ -844,25 +1248,10 @@ "domutils": "^3.0.1" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "dev": true }, "css-select": { @@ -884,13 +1273,19 @@ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, + "data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "dev": true + }, "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "^2.1.3" } }, "deep-extend": { @@ -899,6 +1294,17 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, + "degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "requires": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + } + }, "dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -926,20 +1332,50 @@ } }, "domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, "requires": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" } }, "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "fs.realpath": { @@ -954,6 +1390,17 @@ "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", "dev": true }, + "get-uri": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", + "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", + "dev": true, + "requires": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + } + }, "glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -967,12 +1414,6 @@ "once": "^1.3.0" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "html-link-extractor": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-link-extractor/-/html-link-extractor-1.0.5.tgz", @@ -983,15 +1424,35 @@ } }, "htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "requires": { "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "domutils": "^3.0.1", - "entities": "^4.3.0" + "entities": "^4.4.0" + } + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "requires": { + "agent-base": "^7.1.2", + "debug": "4" } }, "iconv-lite": { @@ -1031,6 +1492,16 @@ "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", "dev": true }, + "ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + } + }, "is-absolute-url": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", @@ -1046,15 +1517,6 @@ "is-absolute-url": "^4.0.1" } }, - "isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "requires": { - "punycode": "2.x.x" - } - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1064,6 +1526,12 @@ "argparse": "^2.0.1" } }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, "jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -1071,15 +1539,16 @@ "dev": true }, "link-check": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.2.0.tgz", - "integrity": "sha512-xRbhYLaGDw7eRDTibTAcl6fXtmUQ13vkezQiTqshHHdGueQeumgxxmQMIOmJYsh2p8BF08t8thhDQ++EAOOq3w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.4.0.tgz", + "integrity": "sha512-0Pf4xBVUnwJdbDgpBlhHNmWDtbVjHTpIFs+JaBuIsC9PKRxjv4KMGCO2Gc8lkVnqMf9B/yaNY+9zmMlO5MyToQ==", "dev": true, "requires": { "is-relative-url": "^4.0.0", - "isemail": "^3.2.0", "ms": "^2.1.3", - "needle": "^3.1.0" + "needle": "^3.3.1", + "node-email-verifier": "^2.0.0", + "proxy-agent": "^6.4.0" } }, "linkify-it": { @@ -1091,10 +1560,10 @@ "uc.micro": "^1.0.1" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true }, "markdown-it": { @@ -1119,29 +1588,30 @@ } }, "markdown-link-check": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.3.tgz", - "integrity": "sha512-uGdJiZOy1CVWlRe7CyBSJ0Gz80Xm4vt++xjX9sNFjB7qcAxLinaMmzFQ5xOwERaXC9mK770BhnqnsyJT1gTr9w==", + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.13.7.tgz", + "integrity": "sha512-Btn3HU8s2Uyh1ZfzmyZEkp64zp2+RAjwfQt1u4swq2Xa6w37OW0T2inQZrkSNVxDSa2jSN2YYhw/JkAp5jF1PQ==", "dev": true, "requires": { - "async": "^3.2.4", - "chalk": "^4.1.2", - "commander": "^6.2.0", - "link-check": "^5.2.0", - "lodash": "^4.17.21", - "markdown-link-extractor": "^3.1.0", - "needle": "^3.1.0", - "progress": "^2.0.3" + "async": "^3.2.6", + "chalk": "^5.3.0", + "commander": "^13.1.0", + "link-check": "^5.4.0", + "markdown-link-extractor": "^4.0.2", + "needle": "^3.3.1", + "progress": "^2.0.3", + "proxy-agent": "^6.4.0", + "xmlbuilder2": "^3.1.1" } }, "markdown-link-extractor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-3.1.0.tgz", - "integrity": "sha512-r0NEbP1dsM+IqB62Ru9TXLP/HDaTdBNIeylYXumuBi6Xv4ufjE1/g3TnslYL8VNqNcGAGbMptQFHrrdfoZ/Sug==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.2.tgz", + "integrity": "sha512-5cUOu4Vwx1wenJgxaudsJ8xwLUMN7747yDJX3V/L7+gi3e4MsCm7w5nbrDQQy8nEfnl4r5NV3pDXMAjhGXYXAw==", "dev": true, "requires": { "html-link-extractor": "^1.0.5", - "marked": "^4.1.0" + "marked": "^12.0.1" } }, "markdownlint": { @@ -1179,9 +1649,9 @@ } }, "marked": { - "version": "4.2.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz", - "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", "dev": true }, "mdurl": { @@ -1212,16 +1682,31 @@ "dev": true }, "needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, "requires": { - "debug": "^3.2.6", "iconv-lite": "^0.6.3", "sax": "^1.2.4" } }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true + }, + "node-email-verifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-email-verifier/-/node-email-verifier-2.0.0.tgz", + "integrity": "sha512-AHcppjOH2KT0mxakrxFMOMjV/gOVMRpYvnJUkNfgF9oJ3INdVmqcMFJ5TlM8elpTPwt6A7bSp1IMnnWcxGom/Q==", + "dev": true, + "requires": { + "ms": "^2.1.3", + "validator": "^13.11.0" + } + }, "nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -1240,22 +1725,56 @@ "wrappy": "1" } }, + "pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "dev": true, + "requires": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + } + }, + "pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "requires": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + } + }, "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "requires": { - "entities": "^4.4.0" + "entities": "^6.0.0" + }, + "dependencies": { + "entities": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "dev": true + } } }, "parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, "requires": { - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, @@ -1271,10 +1790,26 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "dev": true, + "requires": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, "run-con": { @@ -1296,9 +1831,49 @@ "dev": true }, "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "dev": true, + "requires": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "requires": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "strip-json-comments": { @@ -1307,14 +1882,11 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true }, "uc.micro": { "version": "1.0.6", @@ -1322,11 +1894,56 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, + "validator": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", + "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", + "dev": true + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true + }, + "xmlbuilder2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz", + "integrity": "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==", + "dev": true, + "requires": { + "@oozcitak/dom": "1.15.10", + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8", + "js-yaml": "3.14.1" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + } + } } } } diff --git a/package.json b/package.json index 2b5477852c6..a2fdad125ff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "markdown-link-check": "3.10.3", + "markdown-link-check": "3.13.7", "markdownlint-cli": "^0.33.0", "prettier": "^3.3.1" } From faf79a7d088e6fe503530ab29cb84ba3a7252657 Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Mon, 28 Apr 2025 05:25:20 -0700 Subject: [PATCH 03/17] [skip changelog] Revert "Disable internal anchor checks by link checker tool (#1692)" (#2900) This reverts commit f470f407a3afca82e30c6503b421ddde694c7b6d. This configuration entry was previously required in order to work around a bug in the "markdown-link-check" tool that resulted in false positives for links to anchors created by HTML anchor tags. The bug in the "markdown-link-check" tool has since been fixed, and this project updated to use the version of the tool with that fix. So this configuration entry is no longer required. The now superfluous configuration entry is hereby removed in order to ensure more comprehensive link check coverage. --- .markdown-link-check.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/.markdown-link-check.json b/.markdown-link-check.json index 281aa2d61e0..2d7d80a50c3 100644 --- a/.markdown-link-check.json +++ b/.markdown-link-check.json @@ -4,9 +4,6 @@ "timeout": "20s", "aliveStatusCodes": [200, 206], "ignorePatterns": [ - { - "pattern": "^#" - }, { "pattern": "https?://localhost:\\d*/" }, From 3929052d4aef4ec8945c3dc3ef149dea7333cd65 Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Thu, 1 May 2025 23:24:18 -0700 Subject: [PATCH 04/17] [skip changelog] Correct configuration key name in documentation (#2903) Previously, this reference to Arduino CLI's `directories.downloads` configuration key misspelled the name as "directories.download". --- docs/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 9081bf7c5b9..df78cfabfa0 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -64,8 +64,8 @@ configuration file. - on Windows is: `{HOME}/AppData/Local/Arduino15` - on MacOS is: `{HOME}/Library/Arduino15` -- The `directories.download` default is `{directories.data}/staging`. If the value of `{directories.data}` is changed in - the configuration the user-specified value will be used. +- The `directories.downloads` default is `{directories.data}/staging`. If the value of `{directories.data}` is changed + in the configuration the user-specified value will be used. - The `directories.user` default is OS-dependent: - on Linux (and other Unix-based OS) is: `{HOME}/Arduino` From 63c44a41f499c82085765fccc53e0893a9d03f2f Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Thu, 1 May 2025 23:25:03 -0700 Subject: [PATCH 05/17] [skip changelog] Add missing pages to website navigation panel (#2904) The project includes a documentation website which is generated by the MkDocs static site generator. The site contains a navigation panel which lists the available documentation pages. Rather than being automatically generated from the contents of the `docs` folder, the contents of the navigation panel have been explicitly defined via the MkDocs configuration file. This means that the project contributors must remember to update the configuration file when development work results in the addition or removal of web pages. This was not done when the `config get` and `debug check` commands were added. The web pages are generated as expected, but the missing configuration file entries means that a visitor to the website would never know of their existence, and could only access them by hacking the URL. The missing entries are hereby added to the MkDocs configuration file. --- mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 59bd3a0128a..b4930eb9d7d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,6 +67,7 @@ nav: - config init: commands/arduino-cli_config_init.md - config add: commands/arduino-cli_config_add.md - config delete: commands/arduino-cli_config_delete.md + - config get: commands/arduino-cli_config_get.md - config remove: commands/arduino-cli_config_remove.md - config set: commands/arduino-cli_config_set.md - core: commands/arduino-cli_core.md @@ -79,6 +80,7 @@ nav: - core upgrade: commands/arduino-cli_core_upgrade.md - daemon: commands/arduino-cli_daemon.md - debug: commands/arduino-cli_debug.md + - debug check: commands/arduino-cli_debug_check.md - lib: commands/arduino-cli_lib.md - lib deps: commands/arduino-cli_lib_deps.md - lib download: commands/arduino-cli_lib_download.md From 31cf7a68bbce0f3671a9cfac32dba0916395fd29 Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Mon, 12 May 2025 02:05:57 -0700 Subject: [PATCH 06/17] Move information re: allowed characters for FQBN component to specifications (#2902) Arduino CLI restricts which characters can be used by platform developers in their vendor, architecture, board, custom board menu, and custom board option identifiers. Previously, the information was only documented(?) in the "FAQ". This type of requirement must be present in the formal specifications. A platform developer is unlikely to ever think to look for such information in the FAQ. In addition, the inclusion of such information in the FAQ is not appropriate as this is intended for end users of the Arduino CLI application and end users have no control over which characters were used by the platform developers in their identifiers. So the presence of the information in the FAQ only harms readability by introducing unnecessary complexity into a subject that users often struggle to understand. --- docs/FAQ.md | 6 ++---- docs/package_index_json-specification.md | 4 ++++ docs/platform-specification.md | 23 ++++++++++++++++++++--- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index ebd50812830..63aa5f74d1f 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -11,10 +11,8 @@ When you run [`arduino-cli board list`][arduino cli board list], your board does FQBN stands for Fully Qualified Board Name. It has the following format: `VENDOR:ARCHITECTURE:BOARD_ID[:MENU_ID=OPTION_ID[,MENU2_ID=OPTION_ID ...]]`, with each `MENU_ID=OPTION_ID` being an -optional key-value pair configuration. Each field accepts letters (`A-Z` or `a-z`), numbers (`0-9`), underscores (`_`), -dashes(`-`) and dots(`.`). The special character `=` is accepted in the configuration value. The `VENDOR` and -`ARCHITECTURE` parts can be empty. For a deeper understanding of how FQBN works, you should understand the [Arduino -platform specification][0]. +optional key-value pair configuration. The `VENDOR` and `ARCHITECTURE` parts can be empty. For a deeper understanding of +how FQBN works, you should understand the [Arduino platform specification][0]. ## How to set multiple board options? diff --git a/docs/package_index_json-specification.md b/docs/package_index_json-specification.md index 2752ef732ea..9cfcebe4422 100644 --- a/docs/package_index_json-specification.md +++ b/docs/package_index_json-specification.md @@ -64,6 +64,8 @@ The metadata fields are: - `name`: the folder used for the installed cores. The [vendor folder](platform-specification.md#hardware-folders-structure) name of the installed package is determined by this field + - The value must not contain any characters other than the letters `A`-`Z` and `a`-`z`, numbers (`0`-`9`), underscores + (`_`), dashes (`-`), and dots (`.`). - `maintainer`: the extended name of the vendor that is displayed on the Arduino IDE Boards Manager GUI - `websiteURL`: the URL to the vendor's website, appears on the Arduino IDE Boards Manager as a "More info" link - `email`: the email of the vendor/maintainer @@ -260,6 +262,8 @@ Each PLATFORM describes a core for a specific architecture. The fields needed ar - `name`: the extended name of the platform that is displayed on the Boards Manager GUI - `architecture`: is the architecture of the platform (avr, sam, etc...). It must match the architecture of the core as explained in the [Arduino platform specification](platform-specification.md#hardware-folders-structure) + - The value must not contain any characters other than the letters `A`-`Z` and `a`-`z`, numbers (`0`-`9`), underscores + (`_`), dashes (`-`), and dots (`.`). - `version`: the version of the platform. - `deprecated`: (optional) setting to `true` causes the platform to be moved to the bottom of all Boards Manager and [`arduino-cli core`](https://arduino.github.io/arduino-cli/latest/commands/arduino-cli_core/) listings and marked diff --git a/docs/platform-specification.md b/docs/platform-specification.md index 47fbc2a62bc..652b7348878 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -24,7 +24,11 @@ Alternatively, a platform may be manually installed by the user inside the Sketc - `{directories.user}` is the user directory as specified in the [configuration file](configuration.md#default-directories). - `{VENDOR_NAME}` is the identifier of the vendor/maintainer of the platform. + - The name of the vendor directory must not contain any characters other than the letters `A`-`Z` and `a`-`z`, numbers + (`0`-`9`), underscores (`_`), dashes (`-`), and dots (`.`). - `{ARCHITECTURE}` is the architecture of the CPU used in the platform. + - The name of the architecture directory must not contain any characters other than the letters `A`-`Z` and `a`-`z`, + numbers (`0`-`9`), underscores (`_`), dashes (`-`), and dots (`.`). A vendor/maintainer may have multiple supported architectures. @@ -534,6 +538,9 @@ This file contains definitions and metadata for the boards supported by the plat short name, the board ID. The settings for a board are defined through a set of properties with keys having the board ID as prefix. +The board ID must not contain any characters other than the letters `A`-`Z` and `a`-`z`, numbers (`0`-`9`), underscores +(`_`), and dashes (`-`). + For example, the board ID chosen for the Arduino Uno board is "uno". An extract of the Uno board configuration in boards.txt looks like: @@ -1591,8 +1598,13 @@ This board was produced in two models, one with an ATmega168 microcontroller and going then to define a custom option, using the "cpu" MENU_ID, that allows the user to choose between the two different microcontrollers. -We must first define a set of **menu.MENU_ID=Text** properties. **Text** is what is displayed on the GUI for every -custom menu we are going to create and must be declared at the beginning of the boards.txt file: +We must first define a set of **menu.MENU_ID=Text** properties. + +The menu ID must not contain any characters other than the letters `A`-`Z` and `a`-`z`, numbers (`0`-`9`), underscores +(`_`), and dashes (`-`). + +**Text** is what is displayed on the GUI for every custom menu we are going to create and must be declared at the +beginning of the boards.txt file: ``` menu.cpu=Processor @@ -1627,7 +1639,12 @@ duemilanove.menu.cpu.atmega168=ATmega168 We have defined two values: "atmega328" and "atmega168".
Note that the property keys must follow the format **BOARD_ID.menu.MENU_ID.OPTION_ID=Text**, where **Text** is what is displayed under the "Processor" menu in the IDE's -GUI.
Finally, the specific configuration for each option value: +GUI. + +The option ID must not contain any characters other than the letters `A`-`Z` and `a`-`z`, numbers (`0`-`9`), underscores +(`_`), dashes (`-`), and equal signs (`=`). + +Finally, the specific configuration for each option value: ``` [.....] From 261714913faee016630b02ee60bad3d54e46ae7c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 11:49:21 +0200 Subject: [PATCH 07/17] [skip changelog] Bump github.com/arduino/go-paths-helper from 1.13.0 to 1.13.1 (#2905) * [skip changelog] Bump github.com/arduino/go-paths-helper Bumps [github.com/arduino/go-paths-helper](https://github.com/arduino/go-paths-helper) from 1.13.0 to 1.13.1. - [Release notes](https://github.com/arduino/go-paths-helper/releases) - [Commits](https://github.com/arduino/go-paths-helper/compare/v1.13.0...v1.13.1) --- updated-dependencies: - dependency-name: github.com/arduino/go-paths-helper dependency-version: 1.13.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Updated license cache --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie --- .licenses/go/github.com/arduino/go-paths-helper.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml index 8a0611c2ee1..c3a80f1c84e 100644 --- a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml +++ b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml @@ -1,8 +1,8 @@ --- name: github.com/arduino/go-paths-helper -version: v1.13.0 +version: v1.13.1 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/arduino/go-paths-helper license: gpl-2.0-or-later licenses: diff --git a/go.mod b/go.mod index 3510c2e00dc..f90b01e37c2 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( fortio.org/safecast v1.0.0 github.com/ProtonMail/go-crypto v1.2.0 - github.com/arduino/go-paths-helper v1.13.0 + github.com/arduino/go-paths-helper v1.13.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b diff --git a/go.sum b/go.sum index a70cca2d7e4..814c30f0de0 100644 --- a/go.sum +++ b/go.sum @@ -10,8 +10,8 @@ github.com/ProtonMail/go-crypto v1.2.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.13.0 h1:HIkgg8ChPw1QPNHkB5bQSs+geTj74vf6TFgVhm/9mmw= -github.com/arduino/go-paths-helper v1.13.0/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= +github.com/arduino/go-paths-helper v1.13.1 h1:M7SCdLB2VldxOdChnjZkxAZwWZdDtNY4IlHL9nxGQFo= +github.com/arduino/go-paths-helper v1.13.1/go.mod h1:dDodKn2ZX4iwuoBMapdDO+5d0oDLBeM4BS0xS4i40Ak= github.com/arduino/go-properties-orderedmap v1.8.1 h1:nU5S6cXPwMoxZs4ORw61wPTALNfriIduvNB4cxTmNYM= github.com/arduino/go-properties-orderedmap v1.8.1/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-serial-utils v0.1.2 h1:MRFwME4w/uaVkJ1R+wzz4KSbI9cF9IDVrYorazvjpTk= From 9306ff9e73112970cf7ad9d1c723e092af2b5c6f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 11:54:32 +0200 Subject: [PATCH 08/17] [skip changelog] Bump golangci/golangci-lint-action from 7 to 8 (#2909) * [skip changelog] Bump golangci/golangci-lint-action from 7 to 8 Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 7 to 8. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v7...v8) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Update golangci-lint version to 2.1.0 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie --- .github/workflows/check-go-task.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 16b758f4304..360c450de35 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -114,9 +114,9 @@ jobs: version: 3.x - name: golangci-lint - uses: golangci/golangci-lint-action@v7 + uses: golangci/golangci-lint-action@v8 with: - version: v2.0.2 + version: v2.1.0 - name: Check style env: From 28c79853ff9c2e6e55621d6dc051ed5fef8c6b72 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 12:13:32 +0200 Subject: [PATCH 09/17] [skip changelog] Bump golang.org/x/sys from 0.32.0 to 0.33.0 (#2910) * [skip changelog] Bump golang.org/x/sys from 0.32.0 to 0.33.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.32.0 to 0.33.0. - [Commits](https://github.com/golang/sys/compare/v0.32.0...v0.33.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Update license cache --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index d2eeeb205c3..e2f2952b2e6 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.32.0 +version: v0.33.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.32.0/LICENSE +- sources: sys@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.32.0/PATENTS +- sources: sys@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 63734fd7e4f..0d1502c8aa9 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.32.0 +version: v0.33.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.32.0/LICENSE +- sources: sys@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.32.0/PATENTS +- sources: sys@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index f90b01e37c2..d90de343212 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.15.0 go.bug.st/testifyjson v1.3.0 - golang.org/x/sys v0.32.0 + golang.org/x/sys v0.33.0 golang.org/x/term v0.31.0 golang.org/x/text v0.24.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a diff --git a/go.sum b/go.sum index 814c30f0de0..fdd0f340a36 100644 --- a/go.sum +++ b/go.sum @@ -235,8 +235,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= From 5e10879015fa863b28f20c44b699d409598035bc Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 12 May 2025 12:34:02 +0200 Subject: [PATCH 10/17] bugfix: Kill compile processes that generates too much output (#2883) * Added integration test * Fixed linter warning * bugfix: Kill compile processes that generates too much output * Apply suggestion from code review --- .../builder/internal/preprocessor/gcc.go | 41 +++++++++++++++-- internal/integrationtest/arduino-cli.go | 24 +++++++--- .../compile_5/recusive_include_test.go | 44 +++++++++++++++++++ .../SketchWithRecursiveIncludes.ino | 1 + .../testdata/SketchWithRecursiveIncludes/a.h | 2 + 5 files changed, 101 insertions(+), 11 deletions(-) create mode 100644 internal/integrationtest/compile_5/recusive_include_test.go create mode 100644 internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/SketchWithRecursiveIncludes.ino create mode 100644 internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/a.h diff --git a/internal/arduino/builder/internal/preprocessor/gcc.go b/internal/arduino/builder/internal/preprocessor/gcc.go index cbf156dfae6..f8d6100d10d 100644 --- a/internal/arduino/builder/internal/preprocessor/gcc.go +++ b/internal/arduino/builder/internal/preprocessor/gcc.go @@ -16,6 +16,7 @@ package preprocessor import ( + "bytes" "context" "errors" "fmt" @@ -77,10 +78,42 @@ func GCC( if err != nil { return Result{}, err } - stdout, stderr, err := proc.RunAndCaptureOutput(ctx) - // Append gcc arguments to stdout - stdout = append([]byte(fmt.Sprintln(strings.Join(args, " "))), stdout...) + stdout := bytes.NewBuffer(nil) + stderr := bytes.NewBuffer(nil) - return Result{args: proc.GetArgs(), stdout: stdout, stderr: stderr}, err + ctx, cancel := context.WithCancel(ctx) + defer cancel() + count := 0 + stderrLimited := writerFunc(func(p []byte) (int, error) { + // Limit the size of the stderr buffer to 100KB + n, err := stderr.Write(p) + count += n + if count > 100*1024 { + fmt.Fprintln(stderr, i18n.Tr("Compiler error output has been truncated.")) + cancel() + } + return n, err + }) + + proc.RedirectStdoutTo(stdout) + proc.RedirectStderrTo(stderrLimited) + + // Append gcc arguments to stdout before running the command + fmt.Fprintln(stdout, strings.Join(args, " ")) + + if err := proc.Start(); err != nil { + return Result{}, err + } + + // Wait for the process to finish + err = proc.WaitWithinContext(ctx) + + return Result{args: proc.GetArgs(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err +} + +type writerFunc func(p []byte) (n int, err error) + +func (f writerFunc) Write(p []byte) (n int, err error) { + return f(p) } diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index f035e792f55..4b2b4850450 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -22,6 +22,7 @@ import ( "errors" "fmt" "io" + "maps" "os" "runtime" "strings" @@ -190,12 +191,16 @@ func (cli *ArduinoCLI) Run(args ...string) ([]byte, []byte, error) { return cli.RunWithCustomEnv(cli.cliEnvVars, args...) } +// RunWithContext executes the given arduino-cli command with the given context and returns the output. +// If the context is canceled, the command is killed. +func (cli *ArduinoCLI) RunWithContext(ctx context.Context, args ...string) ([]byte, []byte, error) { + return cli.RunWithCustomEnvContext(ctx, cli.cliEnvVars, args...) +} + // GetDefaultEnv returns a copy of the default execution env used with the Run method. func (cli *ArduinoCLI) GetDefaultEnv() map[string]string { res := map[string]string{} - for k, v := range cli.cliEnvVars { - res[k] = v - } + maps.Copy(res, cli.cliEnvVars) return res } @@ -324,8 +329,13 @@ func (cli *ArduinoCLI) InstallMockedAvrdude(t *testing.T) { // RunWithCustomEnv executes the given arduino-cli command with the given custom env and returns the output. func (cli *ArduinoCLI) RunWithCustomEnv(env map[string]string, args ...string) ([]byte, []byte, error) { + return cli.RunWithCustomEnvContext(context.Background(), env, args...) +} + +// RunWithCustomEnv executes the given arduino-cli command with the given custom env and returns the output. +func (cli *ArduinoCLI) RunWithCustomEnvContext(ctx context.Context, env map[string]string, args ...string) ([]byte, []byte, error) { var stdoutBuf, stderrBuf bytes.Buffer - err := cli.run(&stdoutBuf, &stderrBuf, nil, env, args...) + err := cli.run(ctx, &stdoutBuf, &stderrBuf, nil, env, args...) errBuf := stderrBuf.Bytes() cli.t.NotContains(string(errBuf), "panic: runtime error:", "arduino-cli panicked") @@ -336,7 +346,7 @@ func (cli *ArduinoCLI) RunWithCustomEnv(env map[string]string, args ...string) ( // RunWithCustomInput executes the given arduino-cli command pushing the given input stream and returns the output. func (cli *ArduinoCLI) RunWithCustomInput(in io.Reader, args ...string) ([]byte, []byte, error) { var stdoutBuf, stderrBuf bytes.Buffer - err := cli.run(&stdoutBuf, &stderrBuf, in, cli.cliEnvVars, args...) + err := cli.run(context.Background(), &stdoutBuf, &stderrBuf, in, cli.cliEnvVars, args...) errBuf := stderrBuf.Bytes() cli.t.NotContains(string(errBuf), "panic: runtime error:", "arduino-cli panicked") @@ -344,7 +354,7 @@ func (cli *ArduinoCLI) RunWithCustomInput(in io.Reader, args ...string) ([]byte, return stdoutBuf.Bytes(), errBuf, err } -func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader, env map[string]string, args ...string) error { +func (cli *ArduinoCLI) run(ctx context.Context, stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader, env map[string]string, args ...string) error { if cli.cliConfigPath != nil { args = append([]string{"--config-file", cli.cliConfigPath.String()}, args...) } @@ -402,8 +412,8 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader } }() } + cliErr := cliProc.WaitWithinContext(ctx) wg.Wait() - cliErr := cliProc.Wait() fmt.Fprintln(terminalOut, color.HiBlackString("<<< Run completed (err = %v)", cliErr)) return cliErr diff --git a/internal/integrationtest/compile_5/recusive_include_test.go b/internal/integrationtest/compile_5/recusive_include_test.go new file mode 100644 index 00000000000..59a3c421c7f --- /dev/null +++ b/internal/integrationtest/compile_5/recusive_include_test.go @@ -0,0 +1,44 @@ +// This file is part of arduino-cli. +// +// Copyright 2025 ARDUINO SA (http://www.arduino.cc/) +// +// This software is released under the GNU General Public License version 3, +// which covers the main part of arduino-cli. +// The terms of this license can be found at: +// https://www.gnu.org/licenses/gpl-3.0.en.html +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package compile_test + +import ( + "context" + "testing" + "time" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestCompileWithInfiniteMultipleIncludeRecursion(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + t.Cleanup(env.CleanUp) + + // Install Arduino AVR Boards + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + sketch, err := paths.New("testdata", "SketchWithRecursiveIncludes").Abs() + require.NoError(t, err) + + // Time-limited test to prevent OOM + ctx, cancel := context.WithTimeout(t.Context(), 10*time.Second) + t.Cleanup(cancel) + _, _, _ = cli.RunWithContext(ctx, "compile", "-b", "arduino:avr:uno", sketch.String()) + require.NotErrorIs(t, ctx.Err(), context.DeadlineExceeded, "compilation should not hang") +} diff --git a/internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/SketchWithRecursiveIncludes.ino b/internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/SketchWithRecursiveIncludes.ino new file mode 100644 index 00000000000..2243de1baf9 --- /dev/null +++ b/internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/SketchWithRecursiveIncludes.ino @@ -0,0 +1 @@ +#include "a.h" diff --git a/internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/a.h b/internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/a.h new file mode 100644 index 00000000000..7c626e5beb0 --- /dev/null +++ b/internal/integrationtest/compile_5/testdata/SketchWithRecursiveIncludes/a.h @@ -0,0 +1,2 @@ +#include "a.h" +#include "a.h" From 330f49f614a0b0c79e9f257e9d4d425344dab1d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 12:49:49 +0200 Subject: [PATCH 11/17] [skip changelog] Bump golang.org/x/term from 0.31.0 to 0.32.0 (#2911) * [skip changelog] Bump golang.org/x/term from 0.31.0 to 0.32.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.31.0 to 0.32.0. - [Commits](https://github.com/golang/term/compare/v0.31.0...v0.32.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-version: 0.32.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Updated license cache --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie --- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index a8c6b02a552..6b429e20738 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.31.0 +version: v0.32.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index d90de343212..07782824ce4 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( go.bug.st/relaxed-semver v0.15.0 go.bug.st/testifyjson v1.3.0 golang.org/x/sys v0.33.0 - golang.org/x/term v0.31.0 + golang.org/x/term v0.32.0 golang.org/x/text v0.24.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a google.golang.org/grpc v1.72.0 diff --git a/go.sum b/go.sum index fdd0f340a36..2eaa830d34a 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= -golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= From dd621eecd5bc9d4a52edb8c06eea2550d3f12e29 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 13:56:37 +0200 Subject: [PATCH 12/17] [skip changelog] Bump golang.org/x/text from 0.24.0 to 0.25.0 (#2912) * [skip changelog] Bump golang.org/x/text from 0.24.0 to 0.25.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.24.0 to 0.25.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.24.0...v0.25.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.25.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Update license cache --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../golang.org/x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index d72fdaa52d0..6c4cef2f33c 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.24.0 +version: v0.25.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.24.0/LICENSE +- sources: text@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.24.0/PATENTS +- sources: text@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 5866849a9bd..3ae9b6872da 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.24.0 +version: v0.25.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.24.0/LICENSE +- sources: text@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.24.0/PATENTS +- sources: text@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index dfd79d45d17..b4ae0b6e0d3 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.24.0 +version: v0.25.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.24.0/LICENSE +- sources: text@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.24.0/PATENTS +- sources: text@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index 5d614c25340..241da0ed93c 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.24.0 +version: v0.25.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.24.0/LICENSE +- sources: text@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.24.0/PATENTS +- sources: text@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 5a94ace3dac..86732b18fb4 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.24.0 +version: v0.25.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.24.0/LICENSE +- sources: text@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.24.0/PATENTS +- sources: text@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index faccf2bbd7a..806e95d0ce9 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.24.0 +version: v0.25.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.24.0/LICENSE +- sources: text@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.24.0/PATENTS +- sources: text@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 07782824ce4..f92886252e3 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( go.bug.st/testifyjson v1.3.0 golang.org/x/sys v0.33.0 golang.org/x/term v0.32.0 - golang.org/x/text v0.24.0 + golang.org/x/text v0.25.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a google.golang.org/grpc v1.72.0 google.golang.org/protobuf v1.36.6 diff --git a/go.sum b/go.sum index 2eaa830d34a..c80a672a32c 100644 --- a/go.sum +++ b/go.sum @@ -241,8 +241,8 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4= From 55f86b541026aad880fcb27bc49e3fe1facb223b Mon Sep 17 00:00:00 2001 From: Per Tillisch Date: Wed, 28 May 2025 04:42:37 -0700 Subject: [PATCH 13/17] [skip changelog] Correct documentation re: default for `build_cache.path` configuration key (#2919) The "Configuration" documentation page includes information on the default values of the configuration keys. The default value of the build_cache.path configuration key was recently changed, but the documentation was not updated accordingly. The documentation is hereby updated to provide the correct information regarding the default value of the build_cache.path configuration key. Previously, the information was provided in the list of keys. That is a non-standard location for the information as there is an established convention of instead providing this information in the separate section of the page dedicated to documenting default paths. In addition. the location in the keys list became more problematic for the new default since it is operating system-specific and thus the increased volume of documentation content would be awkward to fit into the nested list of keys. For these reasons, the documentation content was moved to the standardized location under the "Default directories" section of the page. --- docs/configuration.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index df78cfabfa0..702594a019b 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -38,7 +38,7 @@ - `updater` - configuration options related to Arduino CLI updates - `enable_notification` - set to `false` to disable notifications of new Arduino CLI releases, defaults to `true` - `build_cache` configuration options related to the compilation cache - - `path` - the path to the build cache, default is `$TMP/arduino`. + - `path` - the path to the folder under which build caches are stored. - `extra_paths` - a list of paths to look for precompiled artifacts if not found on `build_cache.path` setting. - `compilations_before_purge` - interval, in number of compilations, at which the cache is purged, defaults to `10`. When `0` the cache is never purged. @@ -58,6 +58,14 @@ The following are the default directories selected by the Arduino CLI if alternatives are not specified in the configuration file. +- The `build_cache.path` default is OS-dependent: + + - on Linux (and other Unix-based OS) is: if + [`$XDG_CACHE_HOME`](https://specifications.freedesktop.org/basedir-spec/latest/#variables) is defined, + `$XDG_CACHE_HOME/arduino`. Otherwise `{HOME}/.config/arduino`. + - on Windows is: `{HOME}/AppData/Local/arduino` + - on MacOS is: `{HOME}/Library/Caches/arduino` + - The `directories.data` default is OS-dependent: - on Linux (and other Unix-based OS) is: `{HOME}/.arduino15` From f0d04a9b0e74565723939bbdcb159fd9ffbfc051 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 13:48:19 +0200 Subject: [PATCH 14/17] [skip changelog] Bump github.com/ProtonMail/go-crypto from 1.2.0 to 1.3.0 (#2918) * [skip changelog] Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/compare/v1.2.0...v1.3.0) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * regenerate licenses --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini --- .../go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/brainpool.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml | 6 +++--- .../ProtonMail/go-crypto/internal/byteutil.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 24 files changed, 69 insertions(+), 69 deletions(-) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index cbe841d417d..456257e6631 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.2.0 +version: v1.3.0 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index 07cae41e25b..43ea652b190 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.2.0 +version: v1.3.0 type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index fde7c6e9d26..561b80a4b55 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.2.0 +version: v1.3.0 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 381568efb23..477d0208f93 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.2.0 +version: v1.3.0 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index d2328b5fb40..404d1b54a3c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.2.0 +version: v1.3.0 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index efaf5b6bcd8..ee0a17fea38 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.2.0 +version: v1.3.0 type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index 8f944221e01..df26c679b98 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.2.0 +version: v1.3.0 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index 4b6b8c0aecf..6bf90db323d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.2.0 +version: v1.3.0 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 54449a47cd5..c7c31705536 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.2.0 +version: v1.3.0 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index 642457665c3..3e7a007b80c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.2.0 +version: v1.3.0 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index 73c4e6e5512..72e9fa27b9e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.2.0 +version: v1.3.0 type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index 043c48df85c..4e2666754b4 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.2.0 +version: v1.3.0 type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index c39a89e9150..163d87dbdd5 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.2.0 +version: v1.3.0 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index a8da261dddf..2738b5a8adf 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.2.0 +version: v1.3.0 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index 410d137e541..7e5f244313d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.2.0 +version: v1.3.0 type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index 0d701e406a2..b368bb81c1c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.2.0 +version: v1.3.0 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index f2f26abb1a2..7b856775e02 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.2.0 +version: v1.3.0 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 46147a172c3..463558c8e4c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.2.0 +version: v1.3.0 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index 89196fbb262..e93d815c820 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.2.0 +version: v1.3.0 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index 8afba8fe0f5..1f240fa7043 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.2.0 +version: v1.3.0 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index 36bfad817d3..918b402b8c9 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.2.0 +version: v1.3.0 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index 9fecfa6a582..7cd4b16271b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.2.0 +version: v1.3.0 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.2.0/LICENSE +- sources: go-crypto@v1.3.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.2.0/PATENTS +- sources: go-crypto@v1.3.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index f92886252e3..8040727edfe 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( fortio.org/safecast v1.0.0 - github.com/ProtonMail/go-crypto v1.2.0 + github.com/ProtonMail/go-crypto v1.3.0 github.com/arduino/go-paths-helper v1.13.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 diff --git a/go.sum b/go.sum index c80a672a32c..f342bb2e793 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,8 @@ fortio.org/safecast v1.0.0/go.mod h1:xZmcPk3vi4kuUFf+tq4SvnlVdwViqf6ZSZl91Jr9Jdg github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/ProtonMail/go-crypto v1.2.0 h1:+PhXXn4SPGd+qk76TlEePBfOfivE0zkWFenhGhFLzWs= -github.com/ProtonMail/go-crypto v1.2.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= +github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= +github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= From ed3825da846be22a148e3800f7beb89284fdf7c2 Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Mon, 9 Jun 2025 13:49:09 +0200 Subject: [PATCH 15/17] Build and distribuite deb packages (#2926) --------- Co-authored-by: Cristian Maglie --- DistTasks.yml | 36 +++++++++++++++++++++++++++++ debian/Dockerfile | 33 ++++++++++++++++++++++++++ debian/arduino-cli/DEBIAN/control | 5 ++++ debian/arduino-cli/DEBIAN/copyright | 18 +++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 debian/Dockerfile create mode 100644 debian/arduino-cli/DEBIAN/control create mode 100644 debian/arduino-cli/DEBIAN/copyright diff --git a/DistTasks.yml b/DistTasks.yml index eb0ce3dbd25..c1b3fe243c3 100644 --- a/DistTasks.yml +++ b/DistTasks.yml @@ -76,6 +76,10 @@ tasks: -p "{{.BUILD_PLATFORM}}" tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}} + - task: build_deb + vars: + GO_BINARY: "{{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}" + ARCH: "i386" vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_amd32" @@ -97,6 +101,10 @@ tasks: -p "{{.BUILD_PLATFORM}}" tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}} + - task: build_deb + vars: + GO_BINARY: "{{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}" + ARCH: "amd64" vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_amd64" @@ -118,6 +126,10 @@ tasks: -p "{{.BUILD_PLATFORM}}" tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}} + - task: build_deb + vars: + GO_BINARY: "{{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}" + ARCH: "armhf" vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_7" @@ -139,6 +151,10 @@ tasks: -p "{{.BUILD_PLATFORM}}" tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}} + - task: build_deb + vars: + GO_BINARY: "{{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}" + ARCH: "armel" vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_6" @@ -160,6 +176,10 @@ tasks: -p "{{.BUILD_PLATFORM}}" tar cz -C {{.PLATFORM_DIR}} {{.PROJECT_NAME}} -C ../.. LICENSE.txt -f {{.PACKAGE_NAME}} + - task: build_deb + vars: + GO_BINARY: "{{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}}" + ARCH: "arm64" vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_64" @@ -231,3 +251,19 @@ tasks: cmds: - mkdir --parents {{.DIST_DIR}} - cp ./internal/cli/configuration/configuration.schema.json {{.DIST_DIR}}/{{.PROJECT_NAME}}_{{.VERSION}}_configuration.schema.json + + build_deb: + desc: Builds the deb package + internal: true + cmds: + - | + docker build \ + --build-arg BINARY_NAME={{.PROJECT_NAME}} \ + --build-arg DEB_NAME={{.PROJECT_NAME}} \ + --build-arg VERSION={{ .VERSION }} \ + --build-arg ARCH={{ .ARCH }} \ + --build-arg GO_BINARY={{ .GO_BINARY }} \ + --output=./dist \ + -f debian/Dockerfile . + vars: + VERSION: "{{if .TAG}}{{.VERSION}}{{else}}v0.0.0-{{.VERSION}}{{end}}" diff --git a/debian/Dockerfile b/debian/Dockerfile new file mode 100644 index 00000000000..bd6cfaad4d6 --- /dev/null +++ b/debian/Dockerfile @@ -0,0 +1,33 @@ +FROM debian:bookworm AS debian + +ARG VERSION +RUN test -n "${VERSION}" || (echo "Error: VERSION is not set" && exit 1) + +ARG REVISION="1" +ARG ARCH +RUN test -n "${ARCH}" || (echo "Error: ARCH is not set" && exit 1) + +ARG DEB_NAME +RUN test -n "${DEB_NAME}" || (echo "Error: DEB_NAME is not set" && exit 1) + +ARG BINARY_NAME +RUN test -n "${BINARY_NAME}" || (echo "Error: BINARY_NAME is not set" && exit 1) + +RUN apt-get update && apt-get install -y sed + +ARG GO_BINARY + +COPY ./debian/${DEB_NAME} /${DEB_NAME}/ +COPY ./${GO_BINARY} /${DEB_NAME}/usr/bin/${BINARY_NAME} +COPY ./debian/${DEB_NAME}/DEBIAN/copyright /${DEB_NAME}/usr/share/doc/copyright + +# Go application are tagged with `v` prefix, this remove the first v if present +RUN export VERSION=$(echo "${VERSION}" | sed -e "s/^v\(.*\)/\1/") && \ + sed -i "s/\$ARCH/${ARCH}/" /${DEB_NAME}/DEBIAN/control && \ + sed -i "s/\$VERSION/${VERSION}/" /${DEB_NAME}/DEBIAN/control && \ + dpkg-deb --build --root-owner-group /${DEB_NAME} &&\ + mv /${DEB_NAME}.deb "/${DEB_NAME}_${VERSION}-${REVISION}_${ARCH}.deb" + +FROM scratch + +COPY --from=debian /*.deb / diff --git a/debian/arduino-cli/DEBIAN/control b/debian/arduino-cli/DEBIAN/control new file mode 100644 index 00000000000..f9a23038492 --- /dev/null +++ b/debian/arduino-cli/DEBIAN/control @@ -0,0 +1,5 @@ +Package: arduino-cli +Version: $VERSION +Architecture: $ARCH +Maintainer: arduino +Description: Arduino CLI diff --git a/debian/arduino-cli/DEBIAN/copyright b/debian/arduino-cli/DEBIAN/copyright new file mode 100644 index 00000000000..aee0cd7a5d3 --- /dev/null +++ b/debian/arduino-cli/DEBIAN/copyright @@ -0,0 +1,18 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: https://github.com/arduino/arduino-cli +Upstream-Name: arduino-cli + +Files: + * +Copyright: Copyright 2020-2025 ARDUINO SA (http://www.arduino.cc/) +License: GPL-3+ with exception + This software is released under the GNU General Public License version 3, + which covers the main part of arduino-cli. + The terms of this license can be found at: + https://www.gnu.org/licenses/gpl-3.0.en.html + . + You can be released from the requirements of the above licenses by purchasing + a commercial license. Buying such a license is mandatory if you want to + modify or otherwise use the software for commercial activities involving the + Arduino software without disclosing the source code of your own applications. + To purchase a commercial license, send an email to license@arduino.cc. From 2947cfb71e5472c8236cf24d34ba6af7a18a33be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 17:02:18 +0200 Subject: [PATCH 16/17] [skip changelog] Bump golang.org/x/text from 0.25.0 to 0.26.0 (#2925) * [skip changelog] Bump golang.org/x/text from 0.25.0 to 0.26.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.25.0 to 0.26.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.25.0...v0.26.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.26.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * regenerate licenses --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../golang.org/x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index 6c4cef2f33c..b236f79f6f6 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.25.0 +version: v0.26.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.25.0/LICENSE +- sources: text@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.25.0/PATENTS +- sources: text@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 3ae9b6872da..21aed0d64fe 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.25.0 +version: v0.26.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.25.0/LICENSE +- sources: text@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.25.0/PATENTS +- sources: text@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index b4ae0b6e0d3..aae33c8c115 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.25.0 +version: v0.26.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.25.0/LICENSE +- sources: text@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.25.0/PATENTS +- sources: text@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index 241da0ed93c..d8eebc3a197 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.25.0 +version: v0.26.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.25.0/LICENSE +- sources: text@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.25.0/PATENTS +- sources: text@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 86732b18fb4..e5d541910bf 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.25.0 +version: v0.26.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.25.0/LICENSE +- sources: text@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.25.0/PATENTS +- sources: text@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 806e95d0ce9..27ad4db9275 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.25.0 +version: v0.26.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.25.0/LICENSE +- sources: text@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.25.0/PATENTS +- sources: text@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 8040727edfe..715202cde3b 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( go.bug.st/testifyjson v1.3.0 golang.org/x/sys v0.33.0 golang.org/x/term v0.32.0 - golang.org/x/text v0.25.0 + golang.org/x/text v0.26.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a google.golang.org/grpc v1.72.0 google.golang.org/protobuf v1.36.6 diff --git a/go.sum b/go.sum index f342bb2e793..ed926cd0d4f 100644 --- a/go.sum +++ b/go.sum @@ -241,8 +241,8 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4= From 11b2625fc8b4af5ce10a183886d682ddf1e5cdfc Mon Sep 17 00:00:00 2001 From: Alessio Perugini Date: Thu, 12 Jun 2025 10:13:31 +0200 Subject: [PATCH 17/17] Improve error code when platform not available for OS (#2933) * arduino: improve error code when platform not available for OS * fix typo --- commands/cmderrors/cmderrors.go | 21 +++++++++++++++++++ commands/service_platform_install.go | 4 ++++ .../arduino/cores/packagemanager/download.go | 4 +++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/commands/cmderrors/cmderrors.go b/commands/cmderrors/cmderrors.go index bcc33bc3a8f..38eef33bcc1 100644 --- a/commands/cmderrors/cmderrors.go +++ b/commands/cmderrors/cmderrors.go @@ -16,6 +16,7 @@ package cmderrors import ( + "errors" "fmt" "strings" @@ -415,6 +416,26 @@ func (e *PlatformNotFoundError) Unwrap() error { return e.Cause } +// PlatformNotAvailableForOSError is returned when a platform contains a tool not available +// for the user OS + ARCH +type PlatformNotAvailableForOSError struct { + Platform string + Cause error +} + +func (e *PlatformNotAvailableForOSError) Error() string { + return composeErrorMsg(i18n.Tr("Platform '%s'", e.Platform), errors.New(i18n.Tr("platform is not available for your OS"))) +} + +// GRPCStatus converts the error into a *status.Status +func (e *PlatformNotAvailableForOSError) GRPCStatus() *status.Status { + return status.New(codes.FailedPrecondition, e.Error()) +} + +func (e *PlatformNotAvailableForOSError) Unwrap() error { + return e.Cause +} + // PlatformLoadingError is returned when a platform has fatal errors that prevents loading type PlatformLoadingError struct { Cause error diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index 9e268339bc8..bd4ea00ddb7 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -17,6 +17,7 @@ package commands import ( "context" + "errors" "fmt" "github.com/arduino/arduino-cli/commands/cmderrors" @@ -79,6 +80,9 @@ func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, } platformRelease, tools, err := pme.FindPlatformReleaseDependencies(ref) if err != nil { + if errors.Is(err, packagemanager.ErrPlatformNotAvailableForOS) { + return &cmderrors.PlatformNotAvailableForOSError{Platform: ref.String()} + } return &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err} } diff --git a/internal/arduino/cores/packagemanager/download.go b/internal/arduino/cores/packagemanager/download.go index 05cc0f70047..d80cd5e9185 100644 --- a/internal/arduino/cores/packagemanager/download.go +++ b/internal/arduino/cores/packagemanager/download.go @@ -26,6 +26,8 @@ import ( semver "go.bug.st/relaxed-semver" ) +var ErrPlatformNotAvailableForOS = errors.New("platform is not available for your OS") + // PlatformReference represents a tuple to identify a Platform type PlatformReference struct { Package string // The package where this Platform belongs to. @@ -89,7 +91,7 @@ func (pme *Explorer) FindPlatformReleaseDependencies(item *PlatformReference) (* } else { release = platform.GetLatestCompatibleRelease() if release == nil { - return nil, nil, errors.New(i18n.Tr("platform is not available for your OS")) + return nil, nil, ErrPlatformNotAvailableForOS } }