diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 00000000..f9996403 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,56 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.yml +# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms + +name: Bug report +description: Report a problem with the code or documentation in this repository. +labels: + - "type: imperfection" +body: + - type: textarea + id: description + attributes: + label: Describe the problem + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: To reproduce + description: Provide the specific set of steps we can follow to reproduce the problem. + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What would you expect to happen after following those instructions? + validations: + required: true + - type: input + id: project-version + attributes: + label: Arduino App CLI version + description: | + Which version of Arduino App CLI are you using? (output of `arduino-app-cli version` executed inside the board) + _This should be the most recent version available._ + validations: + required: true + - type: textarea + id: additional + attributes: + label: Additional context + description: Add any additional information here. + validations: + required: false + - type: checkboxes + id: checklist + attributes: + label: Issue checklist + description: Please double-check that you have done each of the following things before submitting the issue. + options: + - label: I searched for previous reports in [the issue tracker](https://github.com/arduino/arduino-app-cli/issues?q=) + required: true + - label: I verified the problem still occurs when using the latest version + required: true + - label: My report contains all necessary details + required: true diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 00000000..54810758 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,51 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/platform-dependent/bug-report.yml +# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms + +name: Feature request +description: Suggest an enhancement to this project. +labels: + - "type: enhancement" +body: + - type: textarea + id: description + attributes: + label: Describe the request + validations: + required: true + - type: textarea + id: current + attributes: + label: Describe the current behavior + description: | + What is the current behavior of Arduino App CLI in relation to your request? + How can we reproduce that behavior? + validations: + required: true + - type: input + id: project-version + attributes: + label: Arduino App CLI version + description: | + Which version of Arduino App CLI are you using? (output of `arduino-app-cli version` executed inside the board) + _This should be the most recent version available._ + validations: + required: true + - type: textarea + id: additional + attributes: + label: Additional context + description: Add any additional information here. + validations: + required: false + - type: checkboxes + id: checklist + attributes: + label: Issue checklist + description: Please double-check that you have done each of the following things before submitting the issue. + options: + - label: I searched for previous requests in [the issue tracker](https://github.com/arduino/arduino-app-cli/issues?q=) + required: true + - label: I verified the feature was still missing when using the latest version + required: true + - label: My request contains all necessary details + required: true diff --git a/.github/workflows/test-update.yml b/.github/workflows/test-update.yml new file mode 100644 index 00000000..9b5dc6bf --- /dev/null +++ b/.github/workflows/test-update.yml @@ -0,0 +1,29 @@ +name: test the system update flow + +on: + push: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + +jobs: + build-and-update: + runs-on: ubuntu-22.04 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + + - name: Run dep package update test + env: + GH_TOKEN: ${{ secrets.ARDUINOBOT_TOKEN }} + run: | + go tool task test:update diff --git a/.licenses/arduino-app-cli/NOTICE b/.licenses/arduino-app-cli/NOTICE index ff6448cf..27d1a289 100644 --- a/.licenses/arduino-app-cli/NOTICE +++ b/.licenses/arduino-app-cli/NOTICE @@ -97857,7 +97857,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5@v5.16.2 +github.com/go-git/go-git/v5@v5.16.3 Apache License Version 2.0, January 2004 @@ -98066,7 +98066,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/config@v5.16.2 +github.com/go-git/go-git/v5/config@v5.16.3 Apache License Version 2.0, January 2004 @@ -98275,7 +98275,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/internal/path_util@v5.16.2 +github.com/go-git/go-git/v5/internal/path_util@v5.16.3 Apache License Version 2.0, January 2004 @@ -98484,7 +98484,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/internal/revision@v5.16.2 +github.com/go-git/go-git/v5/internal/revision@v5.16.3 Apache License Version 2.0, January 2004 @@ -98693,7 +98693,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/internal/url@v5.16.2 +github.com/go-git/go-git/v5/internal/url@v5.16.3 Apache License Version 2.0, January 2004 @@ -98902,7 +98902,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing@v5.16.2 +github.com/go-git/go-git/v5/plumbing@v5.16.3 Apache License Version 2.0, January 2004 @@ -99111,7 +99111,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/cache@v5.16.2 +github.com/go-git/go-git/v5/plumbing/cache@v5.16.3 Apache License Version 2.0, January 2004 @@ -99320,7 +99320,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/color@v5.16.2 +github.com/go-git/go-git/v5/plumbing/color@v5.16.3 Apache License Version 2.0, January 2004 @@ -99529,7 +99529,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/filemode@v5.16.2 +github.com/go-git/go-git/v5/plumbing/filemode@v5.16.3 Apache License Version 2.0, January 2004 @@ -99738,7 +99738,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/config@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/config@v5.16.3 Apache License Version 2.0, January 2004 @@ -99947,7 +99947,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/diff@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/diff@v5.16.3 Apache License Version 2.0, January 2004 @@ -100156,7 +100156,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/gitignore@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/gitignore@v5.16.3 Apache License Version 2.0, January 2004 @@ -100365,7 +100365,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/idxfile@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/idxfile@v5.16.3 Apache License Version 2.0, January 2004 @@ -100574,7 +100574,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/index@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/index@v5.16.3 Apache License Version 2.0, January 2004 @@ -100783,7 +100783,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/objfile@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/objfile@v5.16.3 Apache License Version 2.0, January 2004 @@ -100992,7 +100992,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/packfile@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/packfile@v5.16.3 Apache License Version 2.0, January 2004 @@ -101201,7 +101201,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/format/pktline@v5.16.2 +github.com/go-git/go-git/v5/plumbing/format/pktline@v5.16.3 Apache License Version 2.0, January 2004 @@ -101410,7 +101410,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/hash@v5.16.2 +github.com/go-git/go-git/v5/plumbing/hash@v5.16.3 Apache License Version 2.0, January 2004 @@ -101619,7 +101619,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/object@v5.16.2 +github.com/go-git/go-git/v5/plumbing/object@v5.16.3 Apache License Version 2.0, January 2004 @@ -101828,7 +101828,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/protocol/packp@v5.16.2 +github.com/go-git/go-git/v5/plumbing/protocol/packp@v5.16.3 Apache License Version 2.0, January 2004 @@ -102037,7 +102037,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/protocol/packp/capability@v5.16.2 +github.com/go-git/go-git/v5/plumbing/protocol/packp/capability@v5.16.3 Apache License Version 2.0, January 2004 @@ -102246,7 +102246,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband@v5.16.2 +github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband@v5.16.3 Apache License Version 2.0, January 2004 @@ -102455,7 +102455,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/revlist@v5.16.2 +github.com/go-git/go-git/v5/plumbing/revlist@v5.16.3 Apache License Version 2.0, January 2004 @@ -102664,7 +102664,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/storer@v5.16.2 +github.com/go-git/go-git/v5/plumbing/storer@v5.16.3 Apache License Version 2.0, January 2004 @@ -102873,7 +102873,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport@v5.16.3 Apache License Version 2.0, January 2004 @@ -103082,7 +103082,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport/client@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport/client@v5.16.3 Apache License Version 2.0, January 2004 @@ -103291,7 +103291,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport/file@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport/file@v5.16.3 Apache License Version 2.0, January 2004 @@ -103500,7 +103500,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport/git@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport/git@v5.16.3 Apache License Version 2.0, January 2004 @@ -103709,7 +103709,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport/http@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport/http@v5.16.3 Apache License Version 2.0, January 2004 @@ -103918,7 +103918,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport/internal/common@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport/internal/common@v5.16.3 Apache License Version 2.0, January 2004 @@ -104127,7 +104127,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport/server@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport/server@v5.16.3 Apache License Version 2.0, January 2004 @@ -104336,7 +104336,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/plumbing/transport/ssh@v5.16.2 +github.com/go-git/go-git/v5/plumbing/transport/ssh@v5.16.3 Apache License Version 2.0, January 2004 @@ -104545,7 +104545,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/storage@v5.16.2 +github.com/go-git/go-git/v5/storage@v5.16.3 Apache License Version 2.0, January 2004 @@ -104754,7 +104754,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/storage/filesystem@v5.16.2 +github.com/go-git/go-git/v5/storage/filesystem@v5.16.3 Apache License Version 2.0, January 2004 @@ -104963,7 +104963,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/storage/filesystem/dotgit@v5.16.2 +github.com/go-git/go-git/v5/storage/filesystem/dotgit@v5.16.3 Apache License Version 2.0, January 2004 @@ -105172,7 +105172,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/storage/memory@v5.16.2 +github.com/go-git/go-git/v5/storage/memory@v5.16.3 Apache License Version 2.0, January 2004 @@ -105381,7 +105381,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/binary@v5.16.2 +github.com/go-git/go-git/v5/utils/binary@v5.16.3 Apache License Version 2.0, January 2004 @@ -105590,7 +105590,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/diff@v5.16.2 +github.com/go-git/go-git/v5/utils/diff@v5.16.3 Apache License Version 2.0, January 2004 @@ -105799,7 +105799,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/ioutil@v5.16.2 +github.com/go-git/go-git/v5/utils/ioutil@v5.16.3 Apache License Version 2.0, January 2004 @@ -106008,7 +106008,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/merkletrie@v5.16.2 +github.com/go-git/go-git/v5/utils/merkletrie@v5.16.3 Apache License Version 2.0, January 2004 @@ -106217,7 +106217,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/merkletrie/filesystem@v5.16.2 +github.com/go-git/go-git/v5/utils/merkletrie/filesystem@v5.16.3 Apache License Version 2.0, January 2004 @@ -106426,7 +106426,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/merkletrie/index@v5.16.2 +github.com/go-git/go-git/v5/utils/merkletrie/index@v5.16.3 Apache License Version 2.0, January 2004 @@ -106635,7 +106635,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/merkletrie/internal/frame@v5.16.2 +github.com/go-git/go-git/v5/utils/merkletrie/internal/frame@v5.16.3 Apache License Version 2.0, January 2004 @@ -106844,7 +106844,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/merkletrie/noder@v5.16.2 +github.com/go-git/go-git/v5/utils/merkletrie/noder@v5.16.3 Apache License Version 2.0, January 2004 @@ -107053,7 +107053,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/sync@v5.16.2 +github.com/go-git/go-git/v5/utils/sync@v5.16.3 Apache License Version 2.0, January 2004 @@ -107262,7 +107262,7 @@ Apache License Apache License Version 2.0, see [LICENSE](LICENSE) ***** -github.com/go-git/go-git/v5/utils/trace@v5.16.2 +github.com/go-git/go-git/v5/utils/trace@v5.16.3 Apache License Version 2.0, January 2004 @@ -140672,7 +140672,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ***** -github.com/sagikazarmark/locafero@v0.7.0 +github.com/sagikazarmark/locafero@v0.11.0 Copyright (c) 2023 Márk Sági-Kazár @@ -142261,7 +142261,7 @@ Copyright (c) 2013 skratchdot Licensed under the MIT license. ***** -github.com/sourcegraph/conc@v0.3.0 +github.com/sourcegraph/conc@v0.3.1-0.20240121214520-5f936abd7ae8 MIT License @@ -142286,7 +142286,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ***** -github.com/sourcegraph/conc/internal/multierror@v0.3.0 +github.com/sourcegraph/conc/panics@v0.3.1-0.20240121214520-5f936abd7ae8 MIT License @@ -142311,7 +142311,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ***** -github.com/sourcegraph/conc/iter@v0.3.0 +github.com/sourcegraph/conc/pool@v0.3.1-0.20240121214520-5f936abd7ae8 MIT License @@ -142336,32 +142336,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ***** -github.com/sourcegraph/conc/panics@v0.3.0 - -MIT License - -Copyright (c) 2023 Sourcegraph - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -***** -github.com/spf13/afero@v1.12.0 +github.com/spf13/afero@v1.15.0 Apache License Version 2.0, January 2004 @@ -142538,13 +142513,8 @@ Apache License incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. ------ - -Afero is released under the Apache 2.0 license. See -[LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) - ***** -github.com/spf13/afero/internal/common@v1.12.0 +github.com/spf13/afero/internal/common@v1.15.0 Apache License Version 2.0, January 2004 @@ -142721,13 +142691,8 @@ Apache License incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. ------ - -Afero is released under the Apache 2.0 license. See -[LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) - ***** -github.com/spf13/afero/mem@v1.12.0 +github.com/spf13/afero/mem@v1.15.0 Apache License Version 2.0, January 2004 @@ -142904,13 +142869,37 @@ Apache License incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +***** +github.com/spf13/cast@v1.10.0 + +The MIT License (MIT) + +Copyright (c) 2014 Steve Francia + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + ----- -Afero is released under the Apache 2.0 license. See -[LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) +The project is licensed under the [MIT License](LICENSE). ***** -github.com/spf13/cast@v1.7.1 +github.com/spf13/cast/internal@v1.10.0 The MIT License (MIT) @@ -142934,6 +142923,10 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +----- + +The project is licensed under the [MIT License](LICENSE). + ***** github.com/spf13/cobra@v1.10.1 @@ -143117,7 +143110,7 @@ Apache License Cobra is released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) ***** -github.com/spf13/pflag@v1.0.9 +github.com/spf13/pflag@v1.0.10 Copyright (c) 2012 Alex Ogier. All rights reserved. Copyright (c) 2012 The Go Authors. All rights reserved. @@ -143149,7 +143142,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***** -github.com/spf13/viper@v1.20.1 +github.com/spf13/viper@v1.21.0 The MIT License (MIT) @@ -143178,7 +143171,7 @@ SOFTWARE. The project is licensed under the [MIT License](LICENSE). ***** -github.com/spf13/viper/internal/encoding/dotenv@v1.20.1 +github.com/spf13/viper/internal/encoding/dotenv@v1.21.0 The MIT License (MIT) @@ -143207,7 +143200,7 @@ SOFTWARE. The project is licensed under the [MIT License](LICENSE). ***** -github.com/spf13/viper/internal/encoding/json@v1.20.1 +github.com/spf13/viper/internal/encoding/json@v1.21.0 The MIT License (MIT) @@ -143236,7 +143229,7 @@ SOFTWARE. The project is licensed under the [MIT License](LICENSE). ***** -github.com/spf13/viper/internal/encoding/toml@v1.20.1 +github.com/spf13/viper/internal/encoding/toml@v1.21.0 The MIT License (MIT) @@ -143265,7 +143258,7 @@ SOFTWARE. The project is licensed under the [MIT License](LICENSE). ***** -github.com/spf13/viper/internal/encoding/yaml@v1.20.1 +github.com/spf13/viper/internal/encoding/yaml@v1.21.0 The MIT License (MIT) @@ -143294,7 +143287,7 @@ SOFTWARE. The project is licensed under the [MIT License](LICENSE). ***** -github.com/spf13/viper/internal/features@v1.20.1 +github.com/spf13/viper/internal/features@v1.21.0 The MIT License (MIT) @@ -164099,7 +164092,81 @@ Apache License limitations under the License. ***** -golang.org/x/crypto/argon2@v0.41.0 +go.yaml.in/yaml/v3@v3.0.4 + +This project is covered by two different licenses: MIT and Apache. + +#### MIT License #### + +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original MIT license, with the additional +copyright staring in 2011 when the project was ported over: + + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go + +Copyright (c) 2006-2010 Kirill Simonov +Copyright (c) 2006-2011 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +### Apache License ### + +All the remaining project files are covered by the Apache license: + +Copyright (c) 2011-2019 Canonical Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +----- + +The yaml package is licensed under the MIT and Apache License 2.0 licenses. +Please see the LICENSE file for details. + +----- + +Copyright 2011-2016 Canonical Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +***** +golang.org/x/crypto/argon2@v0.42.0 Copyright 2009 The Go Authors. @@ -164155,7 +164222,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/blake2b@v0.41.0 +golang.org/x/crypto/blake2b@v0.42.0 Copyright 2009 The Go Authors. @@ -164211,7 +164278,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/blowfish@v0.41.0 +golang.org/x/crypto/blowfish@v0.42.0 Copyright 2009 The Go Authors. @@ -164267,7 +164334,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/cast5@v0.41.0 +golang.org/x/crypto/cast5@v0.42.0 Copyright 2009 The Go Authors. @@ -164323,7 +164390,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/curve25519@v0.41.0 +golang.org/x/crypto/curve25519@v0.42.0 Copyright 2009 The Go Authors. @@ -164379,7 +164446,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/ed25519@v0.41.0 +golang.org/x/crypto/ed25519@v0.42.0 Copyright 2009 The Go Authors. @@ -164435,7 +164502,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/hkdf@v0.41.0 +golang.org/x/crypto/hkdf@v0.42.0 Copyright 2009 The Go Authors. @@ -164491,7 +164558,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/nacl/sign@v0.41.0 +golang.org/x/crypto/nacl/sign@v0.42.0 Copyright 2009 The Go Authors. @@ -164547,7 +164614,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/pbkdf2@v0.41.0 +golang.org/x/crypto/pbkdf2@v0.42.0 Copyright 2009 The Go Authors. @@ -164603,7 +164670,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/sha3@v0.41.0 +golang.org/x/crypto/sha3@v0.42.0 Copyright 2009 The Go Authors. @@ -164659,7 +164726,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/ssh@v0.41.0 +golang.org/x/crypto/ssh@v0.42.0 Copyright 2009 The Go Authors. @@ -164715,7 +164782,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/ssh/agent@v0.41.0 +golang.org/x/crypto/ssh/agent@v0.42.0 Copyright 2009 The Go Authors. @@ -164771,7 +164838,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/ssh/internal/bcrypt_pbkdf@v0.41.0 +golang.org/x/crypto/ssh/internal/bcrypt_pbkdf@v0.42.0 Copyright 2009 The Go Authors. @@ -164827,7 +164894,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/crypto/ssh/knownhosts@v0.41.0 +golang.org/x/crypto/ssh/knownhosts@v0.42.0 Copyright 2009 The Go Authors. @@ -164883,7 +164950,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/context@v0.43.0 +golang.org/x/net/context@v0.44.0 Copyright 2009 The Go Authors. @@ -164939,7 +165006,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/html@v0.43.0 +golang.org/x/net/html@v0.44.0 Copyright 2009 The Go Authors. @@ -164995,7 +165062,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/html/atom@v0.43.0 +golang.org/x/net/html/atom@v0.44.0 Copyright 2009 The Go Authors. @@ -165051,7 +165118,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/http2@v0.43.0 +golang.org/x/net/http2@v0.44.0 Copyright 2009 The Go Authors. @@ -165107,7 +165174,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/internal/httpcommon@v0.43.0 +golang.org/x/net/internal/httpcommon@v0.44.0 Copyright 2009 The Go Authors. @@ -165163,7 +165230,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/internal/socks@v0.43.0 +golang.org/x/net/internal/socks@v0.44.0 Copyright 2009 The Go Authors. @@ -165219,7 +165286,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/internal/timeseries@v0.43.0 +golang.org/x/net/internal/timeseries@v0.44.0 Copyright 2009 The Go Authors. @@ -165275,7 +165342,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/proxy@v0.43.0 +golang.org/x/net/proxy@v0.44.0 Copyright 2009 The Go Authors. @@ -165331,7 +165398,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/publicsuffix@v0.43.0 +golang.org/x/net/publicsuffix@v0.44.0 Copyright 2009 The Go Authors. @@ -165387,7 +165454,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/trace@v0.43.0 +golang.org/x/net/trace@v0.44.0 Copyright 2009 The Go Authors. @@ -165443,7 +165510,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/net/websocket@v0.43.0 +golang.org/x/net/websocket@v0.44.0 Copyright 2009 The Go Authors. @@ -165673,7 +165740,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/sys/execabs@v0.36.0 +golang.org/x/sys/execabs@v0.38.0 Copyright 2009 The Go Authors. @@ -165729,7 +165796,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/sys/unix@v0.36.0 +golang.org/x/sys/unix@v0.38.0 Copyright 2009 The Go Authors. @@ -165785,7 +165852,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/term@v0.35.0 +golang.org/x/term@v0.36.0 Copyright 2009 The Go Authors. @@ -165841,7 +165908,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/cases@v0.29.0 +golang.org/x/text/cases@v0.30.0 Copyright 2009 The Go Authors. @@ -165897,7 +165964,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/encoding@v0.29.0 +golang.org/x/text/encoding@v0.30.0 Copyright 2009 The Go Authors. @@ -165953,7 +166020,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/encoding/internal@v0.29.0 +golang.org/x/text/encoding/internal@v0.30.0 Copyright 2009 The Go Authors. @@ -166009,7 +166076,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/encoding/internal/identifier@v0.29.0 +golang.org/x/text/encoding/internal/identifier@v0.30.0 Copyright 2009 The Go Authors. @@ -166065,7 +166132,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/encoding/unicode@v0.29.0 +golang.org/x/text/encoding/unicode@v0.30.0 Copyright 2009 The Go Authors. @@ -166121,7 +166188,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/feature/plural@v0.29.0 +golang.org/x/text/feature/plural@v0.30.0 Copyright 2009 The Go Authors. @@ -166177,7 +166244,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal@v0.29.0 +golang.org/x/text/internal@v0.30.0 Copyright 2009 The Go Authors. @@ -166233,7 +166300,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/catmsg@v0.29.0 +golang.org/x/text/internal/catmsg@v0.30.0 Copyright 2009 The Go Authors. @@ -166289,7 +166356,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/format@v0.29.0 +golang.org/x/text/internal/format@v0.30.0 Copyright 2009 The Go Authors. @@ -166345,7 +166412,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/language@v0.29.0 +golang.org/x/text/internal/language@v0.30.0 Copyright 2009 The Go Authors. @@ -166401,7 +166468,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/language/compact@v0.29.0 +golang.org/x/text/internal/language/compact@v0.30.0 Copyright 2009 The Go Authors. @@ -166457,7 +166524,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/number@v0.29.0 +golang.org/x/text/internal/number@v0.30.0 Copyright 2009 The Go Authors. @@ -166513,7 +166580,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/stringset@v0.29.0 +golang.org/x/text/internal/stringset@v0.30.0 Copyright 2009 The Go Authors. @@ -166569,7 +166636,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/tag@v0.29.0 +golang.org/x/text/internal/tag@v0.30.0 Copyright 2009 The Go Authors. @@ -166625,7 +166692,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/internal/utf8internal@v0.29.0 +golang.org/x/text/internal/utf8internal@v0.30.0 Copyright 2009 The Go Authors. @@ -166681,7 +166748,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/language@v0.29.0 +golang.org/x/text/language@v0.30.0 Copyright 2009 The Go Authors. @@ -166737,7 +166804,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/message@v0.29.0 +golang.org/x/text/message@v0.30.0 Copyright 2009 The Go Authors. @@ -166793,7 +166860,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/message/catalog@v0.29.0 +golang.org/x/text/message/catalog@v0.30.0 Copyright 2009 The Go Authors. @@ -166849,7 +166916,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/runes@v0.29.0 +golang.org/x/text/runes@v0.30.0 Copyright 2009 The Go Authors. @@ -166905,7 +166972,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -golang.org/x/text/width@v0.29.0 +golang.org/x/text/width@v0.30.0 Copyright 2009 The Go Authors. @@ -167017,7 +167084,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/genproto/googleapis/api/httpbody@v0.0.0-20250707201910-8d1bb00bc6a7 +google.golang.org/genproto/googleapis/api/httpbody@v0.0.0-20250804133106-a7a43d27e69b Apache License Version 2.0, January 2004 @@ -167222,7 +167289,7 @@ Apache License limitations under the License. ***** -google.golang.org/genproto/googleapis/rpc/errdetails@v0.0.0-20250707201910-8d1bb00bc6a7 +google.golang.org/genproto/googleapis/rpc/errdetails@v0.0.0-20250804133106-a7a43d27e69b Apache License Version 2.0, January 2004 @@ -167427,7 +167494,7 @@ Apache License limitations under the License. ***** -google.golang.org/genproto/googleapis/rpc/status@v0.0.0-20250707201910-8d1bb00bc6a7 +google.golang.org/genproto/googleapis/rpc/status@v0.0.0-20250804133106-a7a43d27e69b Apache License Version 2.0, January 2004 @@ -167632,7 +167699,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc@v1.75.1 +google.golang.org/grpc@v1.76.0 Apache License Version 2.0, January 2004 @@ -167857,7 +167924,7 @@ See the License for the specific language governing permissions and limitations under the License. ***** -google.golang.org/grpc/attributes@v1.75.1 +google.golang.org/grpc/attributes@v1.76.0 Apache License Version 2.0, January 2004 @@ -168062,7 +168129,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/backoff@v1.75.1 +google.golang.org/grpc/backoff@v1.76.0 Apache License Version 2.0, January 2004 @@ -168267,7 +168334,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer@v1.75.1 +google.golang.org/grpc/balancer@v1.76.0 Apache License Version 2.0, January 2004 @@ -168472,7 +168539,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer/base@v1.75.1 +google.golang.org/grpc/balancer/base@v1.76.0 Apache License Version 2.0, January 2004 @@ -168677,7 +168744,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer/endpointsharding@v1.75.1 +google.golang.org/grpc/balancer/endpointsharding@v1.76.0 Apache License Version 2.0, January 2004 @@ -168882,7 +168949,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer/grpclb/state@v1.75.1 +google.golang.org/grpc/balancer/grpclb/state@v1.76.0 Apache License Version 2.0, January 2004 @@ -169087,7 +169154,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer/pickfirst@v1.75.1 +google.golang.org/grpc/balancer/pickfirst@v1.76.0 Apache License Version 2.0, January 2004 @@ -169292,7 +169359,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer/pickfirst/internal@v1.75.1 +google.golang.org/grpc/balancer/pickfirst/internal@v1.76.0 Apache License Version 2.0, January 2004 @@ -169497,7 +169564,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer/pickfirst/pickfirstleaf@v1.75.1 +google.golang.org/grpc/balancer/pickfirst/pickfirstleaf@v1.76.0 Apache License Version 2.0, January 2004 @@ -169702,7 +169769,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/balancer/roundrobin@v1.75.1 +google.golang.org/grpc/balancer/roundrobin@v1.76.0 Apache License Version 2.0, January 2004 @@ -169907,7 +169974,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/binarylog/grpc_binarylog_v1@v1.75.1 +google.golang.org/grpc/binarylog/grpc_binarylog_v1@v1.76.0 Apache License Version 2.0, January 2004 @@ -170112,7 +170179,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/channelz@v1.75.1 +google.golang.org/grpc/channelz@v1.76.0 Apache License Version 2.0, January 2004 @@ -170317,7 +170384,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/codes@v1.75.1 +google.golang.org/grpc/codes@v1.76.0 Apache License Version 2.0, January 2004 @@ -170522,7 +170589,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/connectivity@v1.75.1 +google.golang.org/grpc/connectivity@v1.76.0 Apache License Version 2.0, January 2004 @@ -170727,7 +170794,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/credentials@v1.75.1 +google.golang.org/grpc/credentials@v1.76.0 Apache License Version 2.0, January 2004 @@ -170932,7 +170999,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/credentials/insecure@v1.75.1 +google.golang.org/grpc/credentials/insecure@v1.76.0 Apache License Version 2.0, January 2004 @@ -171137,7 +171204,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/encoding@v1.75.1 +google.golang.org/grpc/encoding@v1.76.0 Apache License Version 2.0, January 2004 @@ -171342,7 +171409,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/encoding/gzip@v1.75.1 +google.golang.org/grpc/encoding/gzip@v1.76.0 Apache License Version 2.0, January 2004 @@ -171547,7 +171614,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/encoding/proto@v1.75.1 +google.golang.org/grpc/encoding/proto@v1.76.0 Apache License Version 2.0, January 2004 @@ -171752,7 +171819,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/experimental/stats@v1.75.1 +google.golang.org/grpc/experimental/stats@v1.76.0 Apache License Version 2.0, January 2004 @@ -171957,7 +172024,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/grpclog@v1.75.1 +google.golang.org/grpc/grpclog@v1.76.0 Apache License Version 2.0, January 2004 @@ -172162,7 +172229,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/grpclog/internal@v1.75.1 +google.golang.org/grpc/grpclog/internal@v1.76.0 Apache License Version 2.0, January 2004 @@ -172367,7 +172434,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/health@v1.75.1 +google.golang.org/grpc/health@v1.76.0 Apache License Version 2.0, January 2004 @@ -172572,7 +172639,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/health/grpc_health_v1@v1.75.1 +google.golang.org/grpc/health/grpc_health_v1@v1.76.0 Apache License Version 2.0, January 2004 @@ -172777,7 +172844,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal@v1.75.1 +google.golang.org/grpc/internal@v1.76.0 Apache License Version 2.0, January 2004 @@ -172982,7 +173049,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/backoff@v1.75.1 +google.golang.org/grpc/internal/backoff@v1.76.0 Apache License Version 2.0, January 2004 @@ -173187,7 +173254,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/balancer/gracefulswitch@v1.75.1 +google.golang.org/grpc/internal/balancer/gracefulswitch@v1.76.0 Apache License Version 2.0, January 2004 @@ -173392,7 +173459,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/balancerload@v1.75.1 +google.golang.org/grpc/internal/balancerload@v1.76.0 Apache License Version 2.0, January 2004 @@ -173597,7 +173664,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/binarylog@v1.75.1 +google.golang.org/grpc/internal/binarylog@v1.76.0 Apache License Version 2.0, January 2004 @@ -173802,7 +173869,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/buffer@v1.75.1 +google.golang.org/grpc/internal/buffer@v1.76.0 Apache License Version 2.0, January 2004 @@ -174007,7 +174074,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/channelz@v1.75.1 +google.golang.org/grpc/internal/channelz@v1.76.0 Apache License Version 2.0, January 2004 @@ -174212,7 +174279,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/credentials@v1.75.1 +google.golang.org/grpc/internal/credentials@v1.76.0 Apache License Version 2.0, January 2004 @@ -174417,7 +174484,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/envconfig@v1.75.1 +google.golang.org/grpc/internal/envconfig@v1.76.0 Apache License Version 2.0, January 2004 @@ -174622,7 +174689,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/grpclog@v1.75.1 +google.golang.org/grpc/internal/grpclog@v1.76.0 Apache License Version 2.0, January 2004 @@ -174827,7 +174894,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/grpcsync@v1.75.1 +google.golang.org/grpc/internal/grpcsync@v1.76.0 Apache License Version 2.0, January 2004 @@ -175032,7 +175099,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/grpcutil@v1.75.1 +google.golang.org/grpc/internal/grpcutil@v1.76.0 Apache License Version 2.0, January 2004 @@ -175237,7 +175304,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/idle@v1.75.1 +google.golang.org/grpc/internal/idle@v1.76.0 Apache License Version 2.0, January 2004 @@ -175442,7 +175509,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/metadata@v1.75.1 +google.golang.org/grpc/internal/metadata@v1.76.0 Apache License Version 2.0, January 2004 @@ -175647,7 +175714,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/pretty@v1.75.1 +google.golang.org/grpc/internal/pretty@v1.76.0 Apache License Version 2.0, January 2004 @@ -175852,7 +175919,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/proxyattributes@v1.75.1 +google.golang.org/grpc/internal/proxyattributes@v1.76.0 Apache License Version 2.0, January 2004 @@ -176057,7 +176124,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/resolver@v1.75.1 +google.golang.org/grpc/internal/resolver@v1.76.0 Apache License Version 2.0, January 2004 @@ -176262,7 +176329,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/resolver/delegatingresolver@v1.75.1 +google.golang.org/grpc/internal/resolver/delegatingresolver@v1.76.0 Apache License Version 2.0, January 2004 @@ -176467,7 +176534,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/resolver/dns@v1.75.1 +google.golang.org/grpc/internal/resolver/dns@v1.76.0 Apache License Version 2.0, January 2004 @@ -176672,7 +176739,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/resolver/dns/internal@v1.75.1 +google.golang.org/grpc/internal/resolver/dns/internal@v1.76.0 Apache License Version 2.0, January 2004 @@ -176877,7 +176944,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/resolver/passthrough@v1.75.1 +google.golang.org/grpc/internal/resolver/passthrough@v1.76.0 Apache License Version 2.0, January 2004 @@ -177082,7 +177149,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/resolver/unix@v1.75.1 +google.golang.org/grpc/internal/resolver/unix@v1.76.0 Apache License Version 2.0, January 2004 @@ -177287,7 +177354,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/serviceconfig@v1.75.1 +google.golang.org/grpc/internal/serviceconfig@v1.76.0 Apache License Version 2.0, January 2004 @@ -177492,7 +177559,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/stats@v1.75.1 +google.golang.org/grpc/internal/stats@v1.76.0 Apache License Version 2.0, January 2004 @@ -177697,7 +177764,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/status@v1.75.1 +google.golang.org/grpc/internal/status@v1.76.0 Apache License Version 2.0, January 2004 @@ -177902,7 +177969,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/syscall@v1.75.1 +google.golang.org/grpc/internal/syscall@v1.76.0 Apache License Version 2.0, January 2004 @@ -178107,7 +178174,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/transport@v1.75.1 +google.golang.org/grpc/internal/transport@v1.76.0 Apache License Version 2.0, January 2004 @@ -178312,7 +178379,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/internal/transport/networktype@v1.75.1 +google.golang.org/grpc/internal/transport/networktype@v1.76.0 Apache License Version 2.0, January 2004 @@ -178517,7 +178584,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/keepalive@v1.75.1 +google.golang.org/grpc/keepalive@v1.76.0 Apache License Version 2.0, January 2004 @@ -178722,7 +178789,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/mem@v1.75.1 +google.golang.org/grpc/mem@v1.76.0 Apache License Version 2.0, January 2004 @@ -178927,7 +178994,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/metadata@v1.75.1 +google.golang.org/grpc/metadata@v1.76.0 Apache License Version 2.0, January 2004 @@ -179132,7 +179199,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/peer@v1.75.1 +google.golang.org/grpc/peer@v1.76.0 Apache License Version 2.0, January 2004 @@ -179337,7 +179404,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/resolver@v1.75.1 +google.golang.org/grpc/resolver@v1.76.0 Apache License Version 2.0, January 2004 @@ -179542,7 +179609,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/resolver/dns@v1.75.1 +google.golang.org/grpc/resolver/dns@v1.76.0 Apache License Version 2.0, January 2004 @@ -179747,7 +179814,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/serviceconfig@v1.75.1 +google.golang.org/grpc/serviceconfig@v1.76.0 Apache License Version 2.0, January 2004 @@ -179952,7 +180019,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/stats@v1.75.1 +google.golang.org/grpc/stats@v1.76.0 Apache License Version 2.0, January 2004 @@ -180157,7 +180224,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/status@v1.75.1 +google.golang.org/grpc/status@v1.76.0 Apache License Version 2.0, January 2004 @@ -180362,7 +180429,7 @@ Apache License limitations under the License. ***** -google.golang.org/grpc/tap@v1.75.1 +google.golang.org/grpc/tap@v1.76.0 Apache License Version 2.0, January 2004 @@ -180567,7 +180634,7 @@ Apache License limitations under the License. ***** -google.golang.org/protobuf/encoding/protodelim@v1.36.9 +google.golang.org/protobuf/encoding/protodelim@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -180623,7 +180690,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/encoding/protojson@v1.36.9 +google.golang.org/protobuf/encoding/protojson@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -180679,7 +180746,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/encoding/prototext@v1.36.9 +google.golang.org/protobuf/encoding/prototext@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -180735,7 +180802,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/encoding/protowire@v1.36.9 +google.golang.org/protobuf/encoding/protowire@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -180791,7 +180858,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/descfmt@v1.36.9 +google.golang.org/protobuf/internal/descfmt@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -180847,7 +180914,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/descopts@v1.36.9 +google.golang.org/protobuf/internal/descopts@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -180903,7 +180970,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/detrand@v1.36.9 +google.golang.org/protobuf/internal/detrand@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -180959,7 +181026,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/editiondefaults@v1.36.9 +google.golang.org/protobuf/internal/editiondefaults@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181015,7 +181082,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/editionssupport@v1.36.9 +google.golang.org/protobuf/internal/editionssupport@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181071,7 +181138,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/encoding/defval@v1.36.9 +google.golang.org/protobuf/internal/encoding/defval@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181127,7 +181194,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/encoding/json@v1.36.9 +google.golang.org/protobuf/internal/encoding/json@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181183,7 +181250,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/encoding/messageset@v1.36.9 +google.golang.org/protobuf/internal/encoding/messageset@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181239,7 +181306,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/encoding/tag@v1.36.9 +google.golang.org/protobuf/internal/encoding/tag@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181295,7 +181362,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/encoding/text@v1.36.9 +google.golang.org/protobuf/internal/encoding/text@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181351,7 +181418,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/errors@v1.36.9 +google.golang.org/protobuf/internal/errors@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181407,7 +181474,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/filedesc@v1.36.9 +google.golang.org/protobuf/internal/filedesc@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181463,7 +181530,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/filetype@v1.36.9 +google.golang.org/protobuf/internal/filetype@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181519,7 +181586,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/flags@v1.36.9 +google.golang.org/protobuf/internal/flags@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181575,7 +181642,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/genid@v1.36.9 +google.golang.org/protobuf/internal/genid@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181631,7 +181698,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/impl@v1.36.9 +google.golang.org/protobuf/internal/impl@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181687,7 +181754,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/order@v1.36.9 +google.golang.org/protobuf/internal/order@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181743,7 +181810,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/pragma@v1.36.9 +google.golang.org/protobuf/internal/pragma@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181799,7 +181866,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/protolazy@v1.36.9 +google.golang.org/protobuf/internal/protolazy@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181855,7 +181922,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/set@v1.36.9 +google.golang.org/protobuf/internal/set@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181911,7 +181978,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/strs@v1.36.9 +google.golang.org/protobuf/internal/strs@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -181967,7 +182034,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/internal/version@v1.36.9 +google.golang.org/protobuf/internal/version@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182023,7 +182090,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/proto@v1.36.9 +google.golang.org/protobuf/proto@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182079,7 +182146,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/protoadapt@v1.36.9 +google.golang.org/protobuf/protoadapt@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182135,7 +182202,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/reflect/protodesc@v1.36.9 +google.golang.org/protobuf/reflect/protodesc@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182191,7 +182258,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/reflect/protoreflect@v1.36.9 +google.golang.org/protobuf/reflect/protoreflect@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182247,7 +182314,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/reflect/protoregistry@v1.36.9 +google.golang.org/protobuf/reflect/protoregistry@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182303,7 +182370,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/runtime/protoiface@v1.36.9 +google.golang.org/protobuf/runtime/protoiface@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182359,7 +182426,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/runtime/protoimpl@v1.36.9 +google.golang.org/protobuf/runtime/protoimpl@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182415,7 +182482,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/descriptorpb@v1.36.9 +google.golang.org/protobuf/types/descriptorpb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182471,7 +182538,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/gofeaturespb@v1.36.9 +google.golang.org/protobuf/types/gofeaturespb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182527,7 +182594,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/known/anypb@v1.36.9 +google.golang.org/protobuf/types/known/anypb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182583,7 +182650,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/known/durationpb@v1.36.9 +google.golang.org/protobuf/types/known/durationpb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182639,7 +182706,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/known/emptypb@v1.36.9 +google.golang.org/protobuf/types/known/emptypb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182695,7 +182762,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/known/fieldmaskpb@v1.36.9 +google.golang.org/protobuf/types/known/fieldmaskpb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182751,7 +182818,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/known/structpb@v1.36.9 +google.golang.org/protobuf/types/known/structpb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182807,7 +182874,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/known/timestamppb@v1.36.9 +google.golang.org/protobuf/types/known/timestamppb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. @@ -182863,7 +182930,7 @@ rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. ***** -google.golang.org/protobuf/types/known/wrapperspb@v1.36.9 +google.golang.org/protobuf/types/known/wrapperspb@v1.36.10 Copyright (c) 2018 The Go Authors. All rights reserved. diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5.dep.yml index 7e6c5e6d..05df7e3f 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5 -version: v5.16.2 +version: v5.16.3 type: go summary: A highly extensible git implementation in pure Go. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5 diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/config.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/config.dep.yml index 5a8f4bf2..ff486698 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/config.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/config -version: v5.16.2 +version: v5.16.3 type: go summary: Package config contains the abstraction of multiple config files homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/config license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml index 04259efc..a5c5b9ed 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/path_util -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/path_util license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/revision.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/revision.dep.yml index 475a4d6b..eb283f9e 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/revision.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/revision.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/internal/revision -version: v5.16.2 +version: v5.16.3 type: go summary: 'Package revision extracts git revision from string More information about revision : https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html' homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/revision license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/url.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/url.dep.yml index 323954c3..920c3f7f 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/url.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/internal/url.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/url -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/url license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing.dep.yml index 05e34679..3beff5c8 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing -version: v5.16.2 +version: v5.16.3 type: go summary: package plumbing implement the core interfaces and structs used by go-git homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml index 7ad8bb0f..ee0bc906 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/cache -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/cache license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml index 62f0c00a..1498f6fb 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/color -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/color license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml index 094163ea..a158ff54 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/filemode -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/filemode license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml index 4cdf47de..378bc7cc 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/config -version: v5.16.2 +version: v5.16.3 type: go summary: Package config implements encoding and decoding of git config files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/config license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml index 07fa73d4..d81dea42 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/diff -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/diff license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml index e57027bb..08d5e7be 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/gitignore -version: v5.16.2 +version: v5.16.3 type: go summary: Package gitignore implements matching file system paths to gitignore patterns that can be automatically read from a git repository tree in the order of definition @@ -8,7 +8,7 @@ summary: Package gitignore implements matching file system paths to gitignore pa homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/gitignore license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -211,6 +211,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml index 500de1c1..f15dfa15 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/idxfile -version: v5.16.2 +version: v5.16.3 type: go summary: Package idxfile implements encoding and decoding of packfile idx files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/idxfile license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml index 0d1bb8c6..3bf27975 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/index -version: v5.16.2 +version: v5.16.3 type: go summary: Package index implements encoding and decoding of index format files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/index license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml index 4cf92a67..2e528aab 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/objfile -version: v5.16.2 +version: v5.16.3 type: go summary: Package objfile implements encoding and decoding of object files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/objfile license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml index 7b909673..651c0f9c 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/packfile -version: v5.16.2 +version: v5.16.3 type: go summary: Package packfile implements encoding and decoding of packfile format. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/packfile license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml index f4eddadf..d6852928 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/pktline -version: v5.16.2 +version: v5.16.3 type: go summary: Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/pktline license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml index c8156907..a49c31bf 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/hash -version: v5.16.2 +version: v5.16.3 type: go summary: package hash provides a way for managing the underlying hash implementations used across go-git. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/hash license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml index b77daa8e..233c24aa 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/object -version: v5.16.2 +version: v5.16.3 type: go summary: Package object contains implementations of all Git objects and utility functions to work with them. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/object license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml index be87fed5..d2304b4f 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml index 17b48754..87d914a1 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/capability -version: v5.16.2 +version: v5.16.3 type: go summary: Package capability defines the server and client capabilities. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml index 029d05e0..26845593 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband -version: v5.16.2 +version: v5.16.3 type: go summary: Package sideband implements a sideband mutiplex/demultiplexer homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml index 17e3d372..cea3eb43 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/revlist -version: v5.16.2 +version: v5.16.3 type: go summary: Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/revlist license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml index 3d283a5f..5c919411 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/storer -version: v5.16.2 +version: v5.16.3 type: go summary: Package storer defines the interfaces to store objects, references, etc. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/storer license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml index 239369e0..04c4c5af 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport -version: v5.16.2 +version: v5.16.3 type: go summary: Package transport includes the implementation for different transport protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml index acb280e5..1b75f74d 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/client -version: v5.16.2 +version: v5.16.3 type: go summary: Package client contains helper function to deal with the different client protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/client license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml index 1698e2e2..8cd44f27 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/file -version: v5.16.2 +version: v5.16.3 type: go summary: Package file implements the file transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/file license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml index b1e39a41..de189a12 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/git -version: v5.16.2 +version: v5.16.3 type: go summary: Package git implements the git transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/git license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml index 9a7202f6..e74b2df5 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/http -version: v5.16.2 +version: v5.16.3 type: go summary: Package http implements the HTTP transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/http license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml index 9fc6fa01..a53e0295 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/internal/common -version: v5.16.2 +version: v5.16.3 type: go summary: Package common implements the git pack protocol with a pluggable transport. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/internal/common license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml index e95cfcce..c5fc2a98 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/server -version: v5.16.2 +version: v5.16.3 type: go summary: Package server implements the git server protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/server license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml index b0dc3511..96a9e787 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/ssh -version: v5.16.2 +version: v5.16.3 type: go summary: Package ssh implements the SSH transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/ssh license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage.dep.yml index f27b218a..d4c1ec1d 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml index e65ac0cb..a6c3531b 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem -version: v5.16.2 +version: v5.16.3 type: go summary: Package filesystem is a storage backend base on filesystems homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml index 99687f06..7c917d1d 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem/dotgit -version: v5.16.2 +version: v5.16.3 type: go summary: https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem/dotgit license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/memory.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/memory.dep.yml index 50a0f26c..31a99471 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/memory.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/storage/memory.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/memory -version: v5.16.2 +version: v5.16.3 type: go summary: Package memory is a storage backend base on memory homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/memory license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/binary.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/binary.dep.yml index 81634e89..9eaabca3 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/binary.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/binary.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/binary -version: v5.16.2 +version: v5.16.3 type: go summary: Package binary implements syntax-sugar functions on top of the standard library binary package homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/binary license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/diff.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/diff.dep.yml index 51edddeb..6104e43f 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/diff.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/diff.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/diff -version: v5.16.2 +version: v5.16.3 type: go summary: Package diff implements line oriented diffs, similar to the ancient Unix diff command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/diff license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml index e6c4f389..83646c53 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/ioutil -version: v5.16.2 +version: v5.16.3 type: go summary: Package ioutil implements some I/O utility functions. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/ioutil license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml index 08e8b456..ecf6f630 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie -version: v5.16.2 +version: v5.16.3 type: go summary: Package merkletrie provides support for n-ary trees that are at the same time Merkle trees and Radix trees (tries). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml index 3370d30b..99c47770 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/filesystem -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/filesystem license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml index 59c0fcf3..6609b0c2 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/index -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/index license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml index 8faa378c..0aaeabe0 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/internal/frame -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml index 3cbf44fa..af736be7 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/noder -version: v5.16.2 +version: v5.16.3 type: go summary: Package noder provide an interface for defining nodes in a merkletrie, their hashes and their paths (a noders and its ancestors). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/noder license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/sync.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/sync.dep.yml index 965ec8c6..8f0442f8 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/sync.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/sync.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/sync -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/sync license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/trace.dep.yml b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/trace.dep.yml index 678d26ca..58751a32 100644 --- a/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/trace.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/go-git/go-git/v5/utils/trace.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/trace -version: v5.16.2 +version: v5.16.3 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/trace license: apache-2.0 licenses: -- sources: v5@v5.16.2/LICENSE +- sources: v5@v5.16.3/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.16.2/README.md +- sources: v5@v5.16.3/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/sagikazarmark/locafero.dep.yml b/.licenses/arduino-app-cli/go/github.com/sagikazarmark/locafero.dep.yml index d159fe8a..b7b6e50c 100644 --- a/.licenses/arduino-app-cli/go/github.com/sagikazarmark/locafero.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/sagikazarmark/locafero.dep.yml @@ -1,8 +1,8 @@ --- name: github.com/sagikazarmark/locafero -version: v0.7.0 +version: v0.11.0 type: go -summary: Package finder looks for files and directories in an {fs.Fs} filesystem. +summary: Package locafero looks for files and directories in an {fs.Fs} filesystem. homepage: https://pkg.go.dev/github.com/sagikazarmark/locafero license: mit licenses: diff --git a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc.dep.yml b/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc.dep.yml index e9af869d..5b90aa4f 100644 --- a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc.dep.yml @@ -1,8 +1,8 @@ --- name: github.com/sourcegraph/conc -version: v0.3.0 +version: v0.3.1-0.20240121214520-5f936abd7ae8 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/sourcegraph/conc license: mit licenses: diff --git a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/panics.dep.yml b/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/panics.dep.yml index 412e1c2c..9fabe553 100644 --- a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/panics.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/panics.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/sourcegraph/conc/panics -version: v0.3.0 +version: v0.3.1-0.20240121214520-5f936abd7ae8 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/sourcegraph/conc/panics license: mit licenses: -- sources: conc@v0.3.0/LICENSE +- sources: conc@v0.3.1-0.20240121214520-5f936abd7ae8/LICENSE text: | MIT License diff --git a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/internal/multierror.dep.yml b/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/pool.dep.yml similarity index 84% rename from .licenses/arduino-app-cli/go/github.com/sourcegraph/conc/internal/multierror.dep.yml rename to .licenses/arduino-app-cli/go/github.com/sourcegraph/conc/pool.dep.yml index 7bd4c6de..75f9d4d9 100644 --- a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/internal/multierror.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/pool.dep.yml @@ -1,12 +1,12 @@ --- -name: github.com/sourcegraph/conc/internal/multierror -version: v0.3.0 +name: github.com/sourcegraph/conc/pool +version: v0.3.1-0.20240121214520-5f936abd7ae8 type: go -summary: -homepage: https://pkg.go.dev/github.com/sourcegraph/conc/internal/multierror +summary: +homepage: https://pkg.go.dev/github.com/sourcegraph/conc/pool license: mit licenses: -- sources: conc@v0.3.0/LICENSE +- sources: conc@v0.3.1-0.20240121214520-5f936abd7ae8/LICENSE text: | MIT License diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/afero.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/afero.dep.yml index d11c5243..7e393a3e 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/afero.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/afero.dep.yml @@ -1,8 +1,8 @@ --- name: github.com/spf13/afero -version: v1.12.0 +version: v1.15.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/afero license: apache-2.0 licenses: @@ -182,8 +182,4 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: README.md - text: |- - Afero is released under the Apache 2.0 license. See - [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/afero/internal/common.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/afero/internal/common.dep.yml index e2209f19..762f1646 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/afero/internal/common.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/afero/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/afero/internal/common -version: v1.12.0 +version: v1.15.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/afero/internal/common license: apache-2.0 licenses: -- sources: afero@v1.12.0/LICENSE.txt +- sources: afero@v1.15.0/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,8 +182,4 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: afero@v1.12.0/README.md - text: |- - Afero is released under the Apache 2.0 license. See - [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/afero/mem.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/afero/mem.dep.yml index 50060367..3d329d4c 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/afero/mem.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/afero/mem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/afero/mem -version: v1.12.0 +version: v1.15.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/afero/mem license: apache-2.0 licenses: -- sources: afero@v1.12.0/LICENSE.txt +- sources: afero@v1.15.0/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,8 +182,4 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: afero@v1.12.0/README.md - text: |- - Afero is released under the Apache 2.0 license. See - [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/cast.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/cast.dep.yml index 22ec680c..2e4c07f3 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/cast.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/cast.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/cast -version: v1.7.1 +version: v1.10.0 type: go summary: Package cast provides easy and safe casting in Go. homepage: https://pkg.go.dev/github.com/spf13/cast @@ -29,4 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +- sources: README.md + text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/iter.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/cast/internal.dep.yml similarity index 77% rename from .licenses/arduino-app-cli/go/github.com/sourcegraph/conc/iter.dep.yml rename to .licenses/arduino-app-cli/go/github.com/spf13/cast/internal.dep.yml index 84963446..ad6d721e 100644 --- a/.licenses/arduino-app-cli/go/github.com/sourcegraph/conc/iter.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/cast/internal.dep.yml @@ -1,16 +1,16 @@ --- -name: github.com/sourcegraph/conc/iter -version: v0.3.0 +name: github.com/spf13/cast/internal +version: v1.10.0 type: go -summary: -homepage: https://pkg.go.dev/github.com/sourcegraph/conc/iter +summary: +homepage: https://pkg.go.dev/github.com/spf13/cast/internal license: mit licenses: -- sources: conc@v0.3.0/LICENSE - text: | - MIT License +- sources: cast@v1.10.0/LICENSE + text: |- + The MIT License (MIT) - Copyright (c) 2023 Sourcegraph + Copyright (c) 2014 Steve Francia Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -29,4 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +- sources: cast@v1.10.0/README.md + text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/pflag.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/pflag.dep.yml index 6984f241..c47fe637 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/pflag.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/pflag.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/pflag -version: v1.0.9 +version: v1.0.10 type: go summary: Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/viper.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/viper.dep.yml index 1d37ad1e..9cf157d1 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/viper.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/viper.dep.yml @@ -1,8 +1,8 @@ --- name: github.com/spf13/viper -version: v1.20.1 +version: v1.21.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/viper license: mit licenses: diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml index f28e5bc4..4842bb4d 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/dotenv -version: v1.20.1 +version: v1.21.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/dotenv license: mit licenses: -- sources: viper@v1.20.1/LICENSE +- sources: viper@v1.21.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.20.1/README.md +- sources: viper@v1.21.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/json.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/json.dep.yml index 3978d9bc..227f55d3 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/json.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/json -version: v1.20.1 +version: v1.21.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/json license: mit licenses: -- sources: viper@v1.20.1/LICENSE +- sources: viper@v1.21.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.20.1/README.md +- sources: viper@v1.21.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/toml.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/toml.dep.yml index d1e99637..382a7e72 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/toml.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/toml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/toml -version: v1.20.1 +version: v1.21.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/toml license: mit licenses: -- sources: viper@v1.20.1/LICENSE +- sources: viper@v1.21.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.20.1/README.md +- sources: viper@v1.21.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml index ea34f237..76476583 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/yaml -version: v1.20.1 +version: v1.21.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/yaml license: mit licenses: -- sources: viper@v1.20.1/LICENSE +- sources: viper@v1.21.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.20.1/README.md +- sources: viper@v1.21.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/features.dep.yml b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/features.dep.yml index b6929192..cbe35194 100644 --- a/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/features.dep.yml +++ b/.licenses/arduino-app-cli/go/github.com/spf13/viper/internal/features.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/features -version: v1.20.1 +version: v1.21.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/features license: mit licenses: -- sources: viper@v1.20.1/LICENSE +- sources: viper@v1.21.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.20.1/README.md +- sources: viper@v1.21.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/arduino-app-cli/go/go.yaml.in/yaml/v3.dep.yml b/.licenses/arduino-app-cli/go/go.yaml.in/yaml/v3.dep.yml new file mode 100644 index 00000000..7fe89709 --- /dev/null +++ b/.licenses/arduino-app-cli/go/go.yaml.in/yaml/v3.dep.yml @@ -0,0 +1,80 @@ +--- +name: go.yaml.in/yaml/v3 +version: v3.0.4 +type: go +summary: Package yaml implements YAML support for the Go language. +homepage: https://pkg.go.dev/go.yaml.in/yaml/v3 +license: other +licenses: +- sources: LICENSE + text: |2 + + This project is covered by two different licenses: MIT and Apache. + + #### MIT License #### + + The following files were ported to Go from C files of libyaml, and thus + are still covered by their original MIT license, with the additional + copyright staring in 2011 when the project was ported over: + + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go + + Copyright (c) 2006-2010 Kirill Simonov + Copyright (c) 2006-2011 Kirill Simonov + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + ### Apache License ### + + All the remaining project files are covered by the Apache license: + + Copyright (c) 2011-2019 Canonical Ltd + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: README.md + text: |- + The yaml package is licensed under the MIT and Apache License 2.0 licenses. + Please see the LICENSE file for details. +notices: +- sources: NOTICE + text: |- + Copyright 2011-2016 Canonical Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/argon2.dep.yml index e8fa418d..072edfe9 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.41.0 +version: v0.42.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/blake2b.dep.yml index fb71ab94..456d8add 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.41.0 +version: v0.42.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/blowfish.dep.yml index fdf17269..3b016a01 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.41.0 +version: v0.42.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/cast5.dep.yml index 7dd555be..662a113e 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.41.0 +version: v0.42.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/curve25519.dep.yml index 45f38c73..888f7122 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.41.0 +version: v0.42.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ed25519.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ed25519.dep.yml index 9c7f91bf..d1d50197 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ed25519.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ed25519.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ed25519 -version: v0.41.0 +version: v0.42.0 type: go summary: Package ed25519 implements the Ed25519 signature algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/ed25519 license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/hkdf.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/hkdf.dep.yml index dd28cb1c..f6fbcdc3 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/hkdf.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/hkdf.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/hkdf -version: v0.41.0 +version: v0.42.0 type: go summary: Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869. homepage: https://pkg.go.dev/golang.org/x/crypto/hkdf license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/nacl/sign.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/nacl/sign.dep.yml index 81627756..9c873308 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/nacl/sign.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/nacl/sign.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/nacl/sign -version: v0.41.0 +version: v0.42.0 type: go summary: Package sign signs small messages using public-key cryptography. homepage: https://pkg.go.dev/golang.org/x/crypto/nacl/sign license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/pbkdf2.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/pbkdf2.dep.yml index e7a7ffa4..b6a511d2 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/pbkdf2.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/pbkdf2.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/pbkdf2 -version: v0.41.0 +version: v0.42.0 type: go summary: 'Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.' homepage: https://pkg.go.dev/golang.org/x/crypto/pbkdf2 license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/sha3.dep.yml index fd63cbf6..8ce8ad26 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.41.0 +version: v0.42.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh.dep.yml index a7e12176..cc9927f1 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.41.0 +version: v0.42.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/agent.dep.yml index e07b7a19..2ddbcd6c 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.41.0 +version: v0.42.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index ae781755..4dfb7bfb 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.41.0 +version: v0.42.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index a63d5d12..fba88c87 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.41.0 +version: v0.42.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.41.0/LICENSE +- sources: crypto@v0.42.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -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: crypto@v0.41.0/PATENTS +- sources: crypto@v0.42.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/context.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/context.dep.yml index 50e15fce..25bf6c74 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/context.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.43.0 +version: v0.44.0 type: go summary: Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/html.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/html.dep.yml index e6314ef4..beb04288 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/html.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/html.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/html -version: v0.43.0 +version: v0.44.0 type: go summary: Package html implements an HTML5-compliant tokenizer and parser. homepage: https://pkg.go.dev/golang.org/x/net/html license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/html/atom.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/html/atom.dep.yml index cc08fd42..aebfdd28 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/html/atom.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/html/atom.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/net/html/atom -version: v0.43.0 +version: v0.44.0 type: go summary: 'Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and @@ -8,7 +8,7 @@ summary: 'Package atom provides integer codes (also known as atoms) for a fixed homepage: https://pkg.go.dev/golang.org/x/net/html/atom license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/http2.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/http2.dep.yml index 6483acc2..e7ad5a4a 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.43.0 +version: v0.44.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/internal/httpcommon.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/internal/httpcommon.dep.yml index dcd083ca..5115a1d5 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/internal/httpcommon.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/internal/httpcommon.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/httpcommon -version: v0.43.0 +version: v0.44.0 type: go -summary: +summary: homepage: https://pkg.go.dev/golang.org/x/net/internal/httpcommon license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/internal/socks.dep.yml index 3be35aad..2e883718 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.43.0 +version: v0.44.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/internal/timeseries.dep.yml index 0dfd8d63..55b5b619 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.43.0 +version: v0.44.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/proxy.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/proxy.dep.yml index 677ad05c..553d099b 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.43.0 +version: v0.44.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/publicsuffix.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/publicsuffix.dep.yml index 2ce0f18c..e58a6ea8 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/publicsuffix.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/publicsuffix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/publicsuffix -version: v0.43.0 +version: v0.44.0 type: go summary: Package publicsuffix provides a public suffix list based on data from https://publicsuffix.org/ homepage: https://pkg.go.dev/golang.org/x/net/publicsuffix license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/trace.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/trace.dep.yml index 0d21df63..bb84b6e1 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.43.0 +version: v0.44.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/net/websocket.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/net/websocket.dep.yml index 255bac79..210970fc 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/net/websocket.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/net/websocket.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/websocket -version: v0.43.0 +version: v0.44.0 type: go summary: Package websocket implements a client and server for the WebSocket protocol as specified in RFC 6455. homepage: https://pkg.go.dev/golang.org/x/net/websocket license: bsd-3-clause licenses: -- sources: net@v0.43.0/LICENSE +- sources: net@v0.44.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: net@v0.43.0/PATENTS +- sources: net@v0.44.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/sys/execabs.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/sys/execabs.dep.yml index 0f591ac2..a51da193 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.36.0 +version: v0.38.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: bsd-3-clause licenses: -- sources: sys@v0.36.0/LICENSE +- sources: sys@v0.38.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.36.0/PATENTS +- sources: sys@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/sys/unix.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/sys/unix.dep.yml index 3a18e0de..0260ecb7 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.36.0 +version: v0.38.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.36.0/LICENSE +- sources: sys@v0.38.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.36.0/PATENTS +- sources: sys@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/term.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/term.dep.yml index 76cd0cd5..5d2bbfa0 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/term.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.35.0 +version: v0.36.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/cases.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/cases.dep.yml index 001c9b82..348e6716 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/cases.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/cases.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/cases -version: v0.29.0 +version: v0.30.0 type: go summary: Package cases provides general and language-specific case mappers. homepage: https://pkg.go.dev/golang.org/x/text/cases license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding.dep.yml index fbc7fb1f..8249f3e5 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.29.0 +version: v0.30.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: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal.dep.yml index f725c8b0..0d4caa37 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.29.0 +version: v0.30.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: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 31268a4d..8ea6ea42 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.29.0 +version: v0.30.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: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/unicode.dep.yml index c1e46da0..b69256e5 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.29.0 +version: v0.30.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: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/feature/plural.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/feature/plural.dep.yml index 2c80aa70..65807e81 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/feature/plural.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/feature/plural.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/feature/plural -version: v0.29.0 +version: v0.30.0 type: go summary: Package plural provides utilities for handling linguistic plurals in text. homepage: https://pkg.go.dev/golang.org/x/text/feature/plural license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal.dep.yml index d564e15b..63bb2b30 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/internal -version: v0.29.0 +version: v0.30.0 type: go summary: Package internal contains non-exported functionality that are used by packages in the text repository. homepage: https://pkg.go.dev/golang.org/x/text/internal license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/catmsg.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/catmsg.dep.yml index 0398c1f5..462e9f86 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/catmsg.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/catmsg.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/catmsg -version: v0.29.0 +version: v0.30.0 type: go summary: Package catmsg contains support types for package x/text/message/catalog. homepage: https://pkg.go.dev/golang.org/x/text/internal/catmsg license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/format.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/format.dep.yml index da531374..31c28899 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/format.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/format.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/internal/format -version: v0.29.0 +version: v0.30.0 type: go summary: Package format contains types for defining language-specific formatting of values. homepage: https://pkg.go.dev/golang.org/x/text/internal/format license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language.dep.yml index be63bed2..f6c8fa49 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/language -version: v0.29.0 +version: v0.30.0 type: go -summary: +summary: homepage: https://pkg.go.dev/golang.org/x/text/internal/language license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language/compact.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language/compact.dep.yml index 61b318db..4cc1eb00 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language/compact.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/language/compact.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/language/compact -version: v0.29.0 +version: v0.30.0 type: go summary: Package compact defines a compact representation of language tags. homepage: https://pkg.go.dev/golang.org/x/text/internal/language/compact license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/number.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/number.dep.yml index 044fb229..24338c30 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/number.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/number.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/number -version: v0.29.0 +version: v0.30.0 type: go summary: Package number contains tools and data for formatting numbers. homepage: https://pkg.go.dev/golang.org/x/text/internal/number license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/stringset.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/stringset.dep.yml index 64d3e02e..cf403f81 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/stringset.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/stringset.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/stringset -version: v0.29.0 +version: v0.30.0 type: go summary: Package stringset provides a way to represent a collection of strings compactly. homepage: https://pkg.go.dev/golang.org/x/text/internal/stringset license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/tag.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/tag.dep.yml index 16dc8199..7b4007bb 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/tag.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/tag.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/tag -version: v0.29.0 +version: v0.30.0 type: go summary: Package tag contains functionality handling tags and related data. homepage: https://pkg.go.dev/golang.org/x/text/internal/tag license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/utf8internal.dep.yml index 08fb4007..0762300d 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.29.0 +version: v0.30.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: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/language.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/language.dep.yml index bba4ca53..016f175d 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/language.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/language.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/language -version: v0.29.0 +version: v0.30.0 type: go summary: Package language implements BCP 47 language tags and related functionality. homepage: https://pkg.go.dev/golang.org/x/text/language license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/message.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/message.dep.yml index a01f5a76..09bb5dfa 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/message.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/message.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/message -version: v0.29.0 +version: v0.30.0 type: go summary: Package message implements formatted I/O for localized strings with functions analogous to the fmt's print functions. homepage: https://pkg.go.dev/golang.org/x/text/message license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/message/catalog.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/message/catalog.dep.yml index 6de74825..8fc616ba 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/message/catalog.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/message/catalog.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/message/catalog -version: v0.29.0 +version: v0.30.0 type: go summary: Package catalog defines collections of translated format strings. homepage: https://pkg.go.dev/golang.org/x/text/message/catalog license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/runes.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/runes.dep.yml index bd152728..91e5c15c 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.29.0 +version: v0.30.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.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/golang.org/x/text/width.dep.yml b/.licenses/arduino-app-cli/go/golang.org/x/text/width.dep.yml index e8532e34..4e0235c8 100644 --- a/.licenses/arduino-app-cli/go/golang.org/x/text/width.dep.yml +++ b/.licenses/arduino-app-cli/go/golang.org/x/text/width.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/width -version: v0.29.0 +version: v0.30.0 type: go summary: Package width provides functionality for handling different widths in text. homepage: https://pkg.go.dev/golang.org/x/text/width license: bsd-3-clause licenses: -- sources: text@v0.29.0/LICENSE +- sources: text@v0.30.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.29.0/PATENTS +- sources: text@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/api/httpbody.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/api/httpbody.dep.yml index ffce2f4b..d8b07c61 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/api/httpbody.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/api/httpbody.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/api/httpbody -version: v0.0.0-20250707201910-8d1bb00bc6a7 +version: v0.0.0-20250804133106-a7a43d27e69b type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/api/httpbody license: apache-2.0 licenses: -- sources: api@v0.0.0-20250707201910-8d1bb00bc6a7/LICENSE +- sources: api@v0.0.0-20250804133106-a7a43d27e69b/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/errdetails.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/errdetails.dep.yml index 0b4f98b7..fd656382 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/errdetails.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/errdetails.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/errdetails -version: v0.0.0-20250707201910-8d1bb00bc6a7 +version: v0.0.0-20250804133106-a7a43d27e69b type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/errdetails license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20250707201910-8d1bb00bc6a7/LICENSE +- sources: rpc@v0.0.0-20250804133106-a7a43d27e69b/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 3ae1759a..0fc11ffd 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20250707201910-8d1bb00bc6a7 +version: v0.0.0-20250804133106-a7a43d27e69b type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20250707201910-8d1bb00bc6a7/LICENSE +- sources: rpc@v0.0.0-20250804133106-a7a43d27e69b/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc.dep.yml index 384a1900..11cb2171 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.75.1 +version: v1.76.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/attributes.dep.yml index 97a9cca0..50d22caf 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.75.1 +version: v1.76.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/backoff.dep.yml index 403ee3ba..354952ac 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.75.1 +version: v1.76.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer.dep.yml index e987c186..7605b9b0 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.75.1 +version: v1.76.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/base.dep.yml index 71c90b2f..0fd5c62c 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.75.1 +version: v1.76.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml index 41053494..d720933d 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/endpointsharding -version: v1.75.1 +version: v1.76.0 type: go summary: Package endpointsharding implements a load balancing policy that manages homogeneous child policies each owning a single endpoint. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/endpointsharding license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index efbfb732..ec37188e 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.75.1 +version: v1.76.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 9cb1f1b8..f946e49a 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.75.1 +version: v1.76.0 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 421ad3e8..dcb2aa97 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.75.1 +version: v1.76.0 type: go summary: Package internal contains code internal to the pickfirst package. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index c81968ec..78e49ea0 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.75.1 +version: v1.76.0 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 665c756c..cc3e3cbf 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.75.1 +version: v1.76.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 26694709..ce9d0ba2 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.75.1 +version: v1.76.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/channelz.dep.yml index 9578d381..7dffb986 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.75.1 +version: v1.76.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/codes.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/codes.dep.yml index 8caec5e6..765b8b90 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.75.1 +version: v1.76.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/connectivity.dep.yml index f48b6ef9..98dfec14 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.75.1 +version: v1.76.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials.dep.yml index 0d329fb5..041c04c1 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.75.1 +version: v1.76.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials/insecure.dep.yml index 082be313..0c34d3f0 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.75.1 +version: v1.76.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding.dep.yml index 2377f328..43a51276 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.75.1 +version: v1.76.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/gzip.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/gzip.dep.yml index 660b4137..e33678fc 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/gzip.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/gzip.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/gzip -version: v1.75.1 +version: v1.76.0 type: go summary: Package gzip implements and registers the gzip compressor during the initialization. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/gzip license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/proto.dep.yml index 7e094b1c..109bd1e6 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.75.1 +version: v1.76.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/experimental/stats.dep.yml index 80bdb9c0..f814fda9 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.75.1 +version: v1.76.0 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog.dep.yml index dab16c58..4e3a290c 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.75.1 +version: v1.76.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog/internal.dep.yml index 0815340e..6ae157a2 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.75.1 +version: v1.76.0 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/health.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/health.dep.yml index c59f6c9d..15c2c63c 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/health.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/health.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/health -version: v1.75.1 +version: v1.76.0 type: go summary: Package health provides a service that exposes server's health and it must be imported to enable support for client-side health checks. homepage: https://pkg.go.dev/google.golang.org/grpc/health license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/health/grpc_health_v1.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/health/grpc_health_v1.dep.yml index 20144751..d3d4d57f 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/health/grpc_health_v1.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/health/grpc_health_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/health/grpc_health_v1 -version: v1.75.1 +version: v1.76.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/health/grpc_health_v1 license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal.dep.yml index 81a0006d..c1a0b58a 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.75.1 +version: v1.76.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/backoff.dep.yml index ee9228ff..a12bab6f 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.75.1 +version: v1.76.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index fba608a6..d8360503 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.75.1 +version: v1.76.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancerload.dep.yml index f2493287..2db03a49 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.75.1 +version: v1.76.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/binarylog.dep.yml index cdcf4fcc..12221ea1 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.75.1 +version: v1.76.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/buffer.dep.yml index 2495b47c..f9f71dd1 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.75.1 +version: v1.76.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/channelz.dep.yml index 2affa07b..84798ebf 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.75.1 +version: v1.76.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/credentials.dep.yml index c0d2ccac..65249a8a 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.75.1 +version: v1.76.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/envconfig.dep.yml index c215da2e..a332bc53 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.75.1 +version: v1.76.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpclog.dep.yml index a2079323..60ca1990 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.75.1 +version: v1.76.0 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 4951758f..9a12781b 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.75.1 +version: v1.76.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 7abc9ab1..cb88a16f 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.75.1 +version: v1.76.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/idle.dep.yml index 1aabbad1..21b5dd3c 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.75.1 +version: v1.76.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/metadata.dep.yml index 40b19783..cd55580a 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.75.1 +version: v1.76.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/pretty.dep.yml index f3b480d3..d0cbafa6 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.75.1 +version: v1.76.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/proxyattributes.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/proxyattributes.dep.yml index a6e3f782..db0b4d18 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/proxyattributes.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/proxyattributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/proxyattributes -version: v1.75.1 +version: v1.76.0 type: go summary: Package proxyattributes contains functions for getting and setting proxy attributes like the CONNECT address and user info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/proxyattributes license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver.dep.yml index 2c53a536..0e6c780f 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.75.1 +version: v1.76.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml index 5402eb16..eeb5e1ff 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/delegatingresolver -version: v1.75.1 +version: v1.76.0 type: go summary: Package delegatingresolver implements a resolver capable of resolving both target URIs and proxy addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/delegatingresolver license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index d1232acc..98cda732 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.75.1 +version: v1.76.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 3990f4b0..a91c16e4 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.75.1 +version: v1.76.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 0ca925d6..720da97b 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.75.1 +version: v1.76.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 88c8fe98..3636a2b0 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.75.1 +version: v1.76.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index eae132b6..9a11cf53 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.75.1 +version: v1.76.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/stats.dep.yml index f98ec289..467752bc 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.75.1 +version: v1.76.0 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/status.dep.yml index 09fd6955..2e08b773 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.75.1 +version: v1.76.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/syscall.dep.yml index 5ebdb8d3..3a9c4c82 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.75.1 +version: v1.76.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport.dep.yml index ac824907..23447170 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.75.1 +version: v1.76.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index cdf31e10..2e7fc4ef 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.75.1 +version: v1.76.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/keepalive.dep.yml index c64789c6..7872d76c 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.75.1 +version: v1.76.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/mem.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/mem.dep.yml index 8313a843..e144d605 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.75.1 +version: v1.76.0 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/metadata.dep.yml index ac50ad82..62ac7d93 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.75.1 +version: v1.76.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/peer.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/peer.dep.yml index e0d765c3..d05646d9 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.75.1 +version: v1.76.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver.dep.yml index 112b2bf4..ad1ced52 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.75.1 +version: v1.76.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver/dns.dep.yml index 854d114d..4e56d025 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.75.1 +version: v1.76.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/serviceconfig.dep.yml index a6998c96..9d3593d4 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.75.1 +version: v1.76.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/stats.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/stats.dep.yml index 3fc60594..cb2ed7cd 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.75.1 +version: v1.76.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/status.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/status.dep.yml index 3665f10c..566b8583 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.75.1 +version: v1.76.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/grpc/tap.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/grpc/tap.dep.yml index 121f52e8..0756a9a3 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.75.1 +version: v1.76.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.75.1/LICENSE +- sources: grpc@v1.76.0/LICENSE text: |2 Apache License diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protodelim.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protodelim.dep.yml index ecabca7d..9641ef35 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protodelim.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protodelim.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protodelim -version: v1.36.9 +version: v1.36.10 type: go summary: Package protodelim marshals and unmarshals varint size-delimited messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protodelim license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 40cec7bf..1363e441 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.36.9 +version: v1.36.10 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/prototext.dep.yml index faa08e49..107e701e 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.36.9 +version: v1.36.10 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protowire.dep.yml index a199d7a0..802ffb6e 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.36.9 +version: v1.36.10 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descfmt.dep.yml index 7f13c52e..9d58428c 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.36.9 +version: v1.36.10 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descopts.dep.yml index 3523b1e0..b7b24bec 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.36.9 +version: v1.36.10 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/detrand.dep.yml index 098d051b..62ccb0c4 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.36.9 +version: v1.36.10 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index 2de75e8a..a7429302 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.36.9 +version: v1.36.10 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editionssupport.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editionssupport.dep.yml index d48820da..e4841d96 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editionssupport.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/editionssupport.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/editionssupport -version: v1.36.9 +version: v1.36.10 type: go summary: Package editionssupport defines constants for editions that are supported. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editionssupport license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index 3b70d4c8..7298ab28 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.36.9 +version: v1.36.10 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index 2fabc454..3fe0e2ba 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.36.9 +version: v1.36.10 type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index e7103e59..31b202a2 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.36.9 +version: v1.36.10 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index dade75de..c64c3420 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.36.9 +version: v1.36.10 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index f9bf6fca..12a80cb8 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.36.9 +version: v1.36.10 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/errors.dep.yml index 9203dc29..46e3297f 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.36.9 +version: v1.36.10 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filedesc.dep.yml index c6a34669..6e26e1ce 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.36.9 +version: v1.36.10 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filetype.dep.yml index d32dc732..f9aaf2c7 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.36.9 +version: v1.36.10 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/flags.dep.yml index 39dd42eb..5e24673f 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.36.9 +version: v1.36.10 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/genid.dep.yml index b4192f74..22bd4d65 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.36.9 +version: v1.36.10 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/impl.dep.yml index 21d7f3f8..83b7a818 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.36.9 +version: v1.36.10 type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/order.dep.yml index 3f673235..ae1f5e3f 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.36.9 +version: v1.36.10 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/pragma.dep.yml index 4bc16ca1..2c25ae27 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.36.9 +version: v1.36.10 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/protolazy.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/protolazy.dep.yml index 4b508756..f859531b 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/protolazy.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/protolazy.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/protolazy -version: v1.36.9 +version: v1.36.10 type: go summary: Package protolazy contains internal data structures for lazy message decoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/protolazy license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/set.dep.yml index 73e5486d..deabb98e 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.36.9 +version: v1.36.10 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/strs.dep.yml index ed84ef3e..9cafac67 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.36.9 +version: v1.36.10 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/version.dep.yml index d5f22279..a14b429e 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.36.9 +version: v1.36.10 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/proto.dep.yml index 3a1130c3..bc56b969 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.36.9 +version: v1.36.10 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/protoadapt.dep.yml index dcf29312..1c76b545 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.36.9 +version: v1.36.10 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protodesc.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protodesc.dep.yml index c527d3dc..d33d258d 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protodesc.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protodesc.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protodesc -version: v1.36.9 +version: v1.36.10 type: go summary: Package protodesc provides functionality for converting FileDescriptorProto messages to/from [protoreflect.FileDescriptor] values. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protodesc license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 21c4ecb6..0ed78989 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.36.9 +version: v1.36.10 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index b68737f4..37925fd4 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.36.9 +version: v1.36.10 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index b468a8f4..fa6d5b2d 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.36.9 +version: v1.36.10 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 5003b164..cc4d2211 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.36.9 +version: v1.36.10 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/descriptorpb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/descriptorpb.dep.yml index 7dc55bd9..a52c539e 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/descriptorpb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/descriptorpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/descriptorpb -version: v1.36.9 +version: v1.36.10 type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/types/descriptorpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml index a0fb5964..f025f25d 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/gofeaturespb -version: v1.36.9 +version: v1.36.10 type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/types/gofeaturespb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 1548fbfd..d9a99825 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.36.9 +version: v1.36.10 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index a4792c2e..c949c6fa 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.36.9 +version: v1.36.10 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/emptypb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/emptypb.dep.yml index 7220ad2a..9bcac3ce 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/emptypb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/emptypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/emptypb -version: v1.36.9 +version: v1.36.10 type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/emptypb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/fieldmaskpb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/fieldmaskpb.dep.yml index 7620d73a..14ff6cd2 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/fieldmaskpb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/fieldmaskpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/fieldmaskpb -version: v1.36.9 +version: v1.36.10 type: go summary: Package fieldmaskpb contains generated types for google/protobuf/field_mask.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/fieldmaskpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/structpb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/structpb.dep.yml index cc8e3711..b5edbfe3 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/structpb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/structpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/structpb -version: v1.36.9 +version: v1.36.10 type: go summary: Package structpb contains generated types for google/protobuf/struct.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/structpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index d3abc2a3..793021cd 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.36.9 +version: v1.36.10 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml index b89248c8..3226a02a 100644 --- a/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml +++ b/.licenses/arduino-app-cli/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/wrapperspb -version: v1.36.9 +version: v1.36.10 type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/wrapperspb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.9/LICENSE +- sources: protobuf@v1.36.10/LICENSE text: | Copyright (c) 2018 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: protobuf@v1.36.9/PATENTS +- sources: protobuf@v1.36.10/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/README.md b/README.md index d3593b17..0252795a 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,43 @@ # Arduino App CLI -`arduino-app-cli` is a command line tool and a service running on Arduino UNO Q boards, that: +`arduino-app-cli` is a command line tool running on the [Arduino UNO Q](https://docs.arduino.cc/hardware/uno-q/) boards, that manages and runs Arduino Apps (both Linux and microcontroller parts), provides a HTTP daemon mode to expose RestFul APIs, and auto-updates itself and other components. -- manages and runs Arduino Apps on the board (both Linux and microcontroller parts) -- provides multiple APIs to perform actions and fetch data, used by the front-end (ArduinoAppsLab) -- auto-updates itself and other components +[![Test Go status](https://github.com/arduino/arduino-app-cli/actions/workflows/go-test.yml/badge.svg)](https://github.com/arduino/arduino-app-cli/actions/workflows/go-test.yml) -## Environment Variables +## Docs -The following environment variables are used to configure `arduino-app-cli`: +For guidance on installation and development, see the [User documentation]. -### Application Directories +## Quickstart -- **`ARDUINO_APP_CLI__APPS_DIR`** Path to the directory where Arduino Apps created by the user are stored.\ - **Default:** `/home/arduino/ArduinoApps` +// TODO -- **`ARDUINO_APP_CLI__DATA_DIR`** Path to the directory where internal data is stored.\ - **Default:** `/home/arduino/.local/share/arduino-app-cli`\ - This folder contains: - - **`examples/`** default example Apps (_e.g._ `/home/arduino/.local/share/arduino-app-cli/examples`) - - **`assets/`** contains a subfolder for each asset version (_e.g._ `/home/arduino/.local/share/arduino-app-cli/assets/0.4.5`) - - Each asset folder includes: - - `bricks-list.yaml` - - `models-list.yaml` - - **other data** such as `properties.msgpack` containing variable values +## How to contribute -- **`ARDUINO_APP_BRICKS__CUSTOM_MODEL_DIR`** Path to the directory where custom models are stored.\ - **Default:** `$HOME/.arduino-bricks/ei-models`\ - (_e.g._ `/home/arduino/.arduino-bricks/ei-models`) +Contributions are welcome! ---- +Please read the [Contributor Guide] document, which will show you how to build the source code, run the tests, and +contribute your changes to the project. -### Execution Settings +:sparkles: Thanks to all our [contributors]! :sparkles: -- **`ARDUINO_APP_CLI__ALLOW_ROOT`** Allow running `arduino-app-cli` as root.\ - **Default:** `false` **Not recommended to set to true.** +## Security ---- +If you think you found a vulnerability or other security-related bug in the Arduino CLI, please read our [security +policy] and report the bug to our Security Team 🛡️ Thank you! -### External Services +e-mail contact: security@arduino.cc -- **`LIBRARIES_API_URL`** URL of the external service used to search libraries.\ - **Default:** `https://api2.arduino.cc/libraries/v1/libraries` +## License ---- +Arduino App CLI is licensed under the GPL-3.0 license. -### Docker Settings +You can be released from the requirements of the above license 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 -- **`DOCKER_REGISTRY_BASE`** Docker registry used to pull images.\ - **Default:** `ghcr.io/arduino/` - -- **`DOCKER_PYTHON_BASE_IMAGE`** Tag of the Docker image for the Python runner.\ - **Default:** `app-bricks/python-apps-base:` - -### App folder and persistent data - -When running an app, persistent files will be saved in the `data` folder inside the app folder; other supporting files, including the Python venv are saved in the `.cache` folder inside the app folder. - -### Docker images registry - -Arduino Apps bricks might required a docker image, in that case the orchestrator will pull those from the registry configured with the `DOCKER_REGISTRY_BASE` environment variable. By default this points to an Arduino GitHub Container Registry (ghcr.io/arduino). - -The only image that needs to be referenced directly is the base Python image (`DOCKER_PYTHON_BASE_IMAGE`), all other containers can be downloaded automatically by the orchestrator depending on the bricks specified as dependencies in the app.yml file. +[user documentation]: docs/user-documentation.md +[contributor guide]: docs/CONTRIBUTING.md +[security policy]: https://github.com/arduino/arduino-app-cli/security/policy +[contributors]: https://github.com/arduino/arduino-app-cli/graphs/contributors diff --git a/Taskfile.yml b/Taskfile.yml index c30e0036..d97c88a0 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -50,9 +50,13 @@ tasks: test:internal: cmds: - - go build ./cmd/arduino-app-cli # needed for e2e tests + - go build ./cmd/arduino-app-cli - task: generate - - go test ./internal/... ./cmd/... -v -race {{ .CLI_ARGS }} + - go test $(go list ./internal/... ./cmd/... | grep -v internal/e2e/updatetest) -v -race {{ .CLI_ARGS }} + + test:update: + cmds: + - go test --timeout 30m -v ./internal/e2e/updatetest test:pkg: desc: Run only tests in the pkg directory @@ -102,9 +106,10 @@ tasks: deps: - build-deb:clone-examples cmds: - - docker build --build-arg BINARY_NAME=arduino-app-cli --build-arg DEB_NAME=arduino-app-cli --build-arg VERSION={{ .VERSION }} --build-arg ARCH={{ .ARCH }} --build-arg RELEASE={{ .RELEASE }} --output=./build -f debian/Dockerfile . + - docker build --build-arg BINARY_NAME=arduino-app-cli --build-arg DEB_NAME=arduino-app-cli --build-arg VERSION={{ .VERSION }} --build-arg ARCH={{ .ARCH }} --build-arg RELEASE={{ .RELEASE }} --output={{ .OUTPUT }} -f debian/Dockerfile . vars: ARCH: '{{.ARCH | default "arm64"}}' + OUTPUT: '{{.OUTPUT | default "./build"}}' build-deb:clone-examples: desc: "Clones the examples repo directly into the debian structure" @@ -114,7 +119,7 @@ tasks: echo "Runner version set as: {{ .EXAMPLE_VERSION }}" TMP_PATH="$(mktemp -d)" DEST_PATH="debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/" - echo "Cloning arduino/app-bricks-example into temporary directory ${TMP_PATH}..." + echo "Cloning arduino/app-bricks-examples into temporary directory ${TMP_PATH}..." git clone --depth 1 --branch "{{ .EXAMPLE_VERSION }}" https://github.com/arduino/app-bricks-examples "${TMP_PATH}" rm -rf "${DEST_PATH}/examples" mkdir -p "${DEST_PATH}" @@ -123,11 +128,17 @@ tasks: echo "Examples successfully cloned." silent: false - arduino-app-cli:build:local: + build: desc: "Build the arduino-app-cli locally" cmds: - go build -v -o ./build/arduino-app-cli ./cmd/arduino-app-cli + start: + desc: "build and launch the arduino-app-cli in daemon mode" + cmds: + - task build + - ./build/arduino-app-cli daemon --port 8800 + arduino-app-cli:release: desc: Create a tag on the current commit and push it to the remote to create the release cmds: @@ -139,12 +150,6 @@ tasks: - git tag -a "{{.CLI_ARGS}}" -m "Release {{.CLI_ARGS}}" - git push origin "{{.CLI_ARGS}}" - arduino-app-cli:start: - desc: "build and launch the arduino-app-cli in daemon mode" - cmds: - - task arduino-app-cli:build:local - - ./build/arduino-app-cli daemon --port 6060 - # To to forward a port, using ssh, you can use this command: # ssh -L 8800:localhost:8800 arduino@ arduino-app-cli:pprof: @@ -190,7 +195,7 @@ tasks: TMP_PATH="$(mktemp -d)" echo "Cloning examples into temporary directory ${TMP_PATH}..." - git clone --depth 1 https://github.com/arduino/app-bricks-example.git "${TMP_PATH}" + git clone --depth 1 https://github.com/arduino/app-bricks-examples.git "${TMP_PATH}" echo "Installing examples to ${DEST_PATH}examples" rm -rf "${DEST_PATH}examples" diff --git a/cmd/arduino-app-cli/app/app.go b/cmd/arduino-app-cli/app/app.go index 3d6b6341..d8aae2fb 100644 --- a/cmd/arduino-app-cli/app/app.go +++ b/cmd/arduino-app-cli/app/app.go @@ -38,8 +38,8 @@ func NewAppCmd(cfg config.Configuration) *cobra.Command { appCmd.AddCommand(newRestartCmd(cfg)) appCmd.AddCommand(newLogsCmd(cfg)) appCmd.AddCommand(newListCmd(cfg)) - appCmd.AddCommand(newPsCmd()) appCmd.AddCommand(newMonitorCmd(cfg)) + appCmd.AddCommand(newCacheCleanCmd(cfg)) return appCmd } diff --git a/cmd/arduino-app-cli/app/clean.go b/cmd/arduino-app-cli/app/clean.go new file mode 100644 index 00000000..adef29c8 --- /dev/null +++ b/cmd/arduino-app-cli/app/clean.go @@ -0,0 +1,65 @@ +package app + +import ( + "context" + "fmt" + + "github.com/spf13/cobra" + + "github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/completion" + "github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/internal/servicelocator" + "github.com/arduino/arduino-app-cli/cmd/feedback" + "github.com/arduino/arduino-app-cli/internal/orchestrator" + "github.com/arduino/arduino-app-cli/internal/orchestrator/app" + "github.com/arduino/arduino-app-cli/internal/orchestrator/config" +) + +func newCacheCleanCmd(cfg config.Configuration) *cobra.Command { + var forceClean bool + appCmd := &cobra.Command{ + Use: "clean-cache ", + Short: "Delete app cache", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + app, err := Load(args[0]) + if err != nil { + return err + } + return cacheCleanHandler(cmd.Context(), app, forceClean) + }, + ValidArgsFunction: completion.ApplicationNames(cfg), + } + appCmd.Flags().BoolVarP(&forceClean, "force", "", false, "Forcefully clean the cache even if the app is running") + + return appCmd +} + +func cacheCleanHandler(ctx context.Context, app app.ArduinoApp, forceClean bool) error { + err := orchestrator.CleanAppCache( + ctx, + servicelocator.GetDockerClient(), + app, + orchestrator.CleanAppCacheRequest{ForceClean: forceClean}, + ) + if err != nil { + feedback.Fatal(err.Error(), feedback.ErrGeneric) + } + feedback.PrintResult(cacheCleanResult{ + AppName: app.Name, + Path: app.ProvisioningStateDir().String(), + }) + return nil +} + +type cacheCleanResult struct { + AppName string `json:"appName"` + Path string `json:"path"` +} + +func (r cacheCleanResult) String() string { + return fmt.Sprintf("✓ Cache of %q App cleaned", r.AppName) +} + +func (r cacheCleanResult) Data() interface{} { + return r +} diff --git a/cmd/arduino-app-cli/app/ps.go b/cmd/arduino-app-cli/app/ps.go deleted file mode 100644 index 6549b2b9..00000000 --- a/cmd/arduino-app-cli/app/ps.go +++ /dev/null @@ -1,30 +0,0 @@ -// This file is part of arduino-app-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-app-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 app - -import ( - "github.com/spf13/cobra" -) - -func newPsCmd() *cobra.Command { - return &cobra.Command{ - Use: "ps", - Short: "Shows the list of running Arduino Apps", - RunE: func(cmd *cobra.Command, args []string) error { - panic("not implemented") - }, - } -} diff --git a/cmd/arduino-app-cli/app/stop.go b/cmd/arduino-app-cli/app/stop.go index debf40e7..eff55dbd 100644 --- a/cmd/arduino-app-cli/app/stop.go +++ b/cmd/arduino-app-cli/app/stop.go @@ -22,6 +22,7 @@ import ( "github.com/spf13/cobra" "github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/completion" + "github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/internal/servicelocator" "github.com/arduino/arduino-app-cli/cmd/feedback" "github.com/arduino/arduino-app-cli/internal/orchestrator" "github.com/arduino/arduino-app-cli/internal/orchestrator/app" @@ -53,7 +54,7 @@ func newStopCmd(cfg config.Configuration) *cobra.Command { func stopHandler(ctx context.Context, app app.ArduinoApp) error { out, _, getResult := feedback.OutputStreams() - for message := range orchestrator.StopApp(ctx, app) { + for message := range orchestrator.StopApp(ctx, servicelocator.GetDockerClient(), app) { switch message.GetType() { case orchestrator.ProgressType: fmt.Fprintf(out, "Progress[%s]: %.0f%%\n", message.GetProgress().Name, message.GetProgress().Progress) diff --git a/cmd/arduino-app-cli/brick/details.go b/cmd/arduino-app-cli/brick/details.go index a1ba72f1..e898c9a0 100644 --- a/cmd/arduino-app-cli/brick/details.go +++ b/cmd/arduino-app-cli/brick/details.go @@ -22,6 +22,7 @@ import ( "github.com/spf13/cobra" + "github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/completion" "github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/internal/servicelocator" "github.com/arduino/arduino-app-cli/cmd/feedback" "github.com/arduino/arduino-app-cli/internal/orchestrator/bricks" @@ -36,6 +37,7 @@ func newBricksDetailsCmd(cfg config.Configuration) *cobra.Command { Run: func(cmd *cobra.Command, args []string) { bricksDetailsHandler(args[0], cfg) }, + ValidArgsFunction: completion.BrickIDs(), } } diff --git a/cmd/arduino-app-cli/completion/completion.go b/cmd/arduino-app-cli/completion/completion.go index 418f9a3e..ae222201 100644 --- a/cmd/arduino-app-cli/completion/completion.go +++ b/cmd/arduino-app-cli/completion/completion.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/internal/servicelocator" "github.com/arduino/arduino-app-cli/cmd/feedback" "github.com/arduino/arduino-app-cli/internal/orchestrator" + "github.com/arduino/arduino-app-cli/internal/orchestrator/bricks" "github.com/arduino/arduino-app-cli/internal/orchestrator/config" ) @@ -97,3 +98,24 @@ func ApplicationNamesWithFilterFunc(cfg config.Configuration, filter func(apps o return res, cobra.ShellCompDirectiveNoFileComp } } + +func BrickIDs() cobra.CompletionFunc { + return BrickIDsWithFilterFunc(func(_ bricks.BrickListItem) bool { return true }) +} + +func BrickIDsWithFilterFunc(filter func(apps bricks.BrickListItem) bool) cobra.CompletionFunc { + return func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { + brickList, err := servicelocator.GetBrickService().List() + if err != nil { + return nil, cobra.ShellCompDirectiveError + } + + var res []string + for _, brick := range brickList.Bricks { + if filter(brick) { + res = append(res, brick.ID) + } + } + return res, cobra.ShellCompDirectiveNoFileComp + } +} diff --git a/cmd/arduino-app-cli/config/config.go b/cmd/arduino-app-cli/config/config.go index 635ad2bd..f6367fd3 100644 --- a/cmd/arduino-app-cli/config/config.go +++ b/cmd/arduino-app-cli/config/config.go @@ -29,7 +29,7 @@ import ( func NewConfigCmd(cfg config.Configuration) *cobra.Command { appCmd := &cobra.Command{ Use: "config", - Short: "Manage arduino-app-cli config", + Short: "Manage Arduino App CLI config", } appCmd.AddCommand(newConfigGetCmd(cfg)) diff --git a/cmd/arduino-app-cli/daemon/daemon.go b/cmd/arduino-app-cli/daemon/daemon.go index f96a4e0c..eeac105c 100644 --- a/cmd/arduino-app-cli/daemon/daemon.go +++ b/cmd/arduino-app-cli/daemon/daemon.go @@ -38,7 +38,7 @@ import ( func NewDaemonCmd(cfg config.Configuration, version string) *cobra.Command { daemonCmd := &cobra.Command{ Use: "daemon", - Short: "Run an HTTP server to expose arduino-app-cli functionality through REST API", + Short: "Run the Arduino App CLI as an HTTP daemon", Run: func(cmd *cobra.Command, args []string) { daemonPort, _ := cmd.Flags().GetString("port") diff --git a/cmd/arduino-app-cli/main.go b/cmd/arduino-app-cli/main.go index e859aae2..c9dfddca 100644 --- a/cmd/arduino-app-cli/main.go +++ b/cmd/arduino-app-cli/main.go @@ -48,7 +48,7 @@ func run(configuration cfg.Configuration) error { defer func() { _ = servicelocator.CloseDockerClient() }() rootCmd := &cobra.Command{ Use: "arduino-app-cli", - Short: "A CLI to manage the Python app", + Short: "A CLI to manage Arduino Apps", PersistentPreRun: func(cmd *cobra.Command, args []string) { format, ok := feedback.ParseOutputFormat(format) if !ok { diff --git a/cmd/arduino-app-cli/system/system.go b/cmd/arduino-app-cli/system/system.go index dd9986de..c23d5317 100644 --- a/cmd/arduino-app-cli/system/system.go +++ b/cmd/arduino-app-cli/system/system.go @@ -37,7 +37,8 @@ import ( func NewSystemCmd(cfg config.Configuration) *cobra.Command { cmd := &cobra.Command{ - Use: "system", + Use: "system", + Short: "Manage the board’s system configuration", } cmd.AddCommand(newDownloadImageCmd(cfg)) @@ -112,7 +113,13 @@ func newUpdateCmd() *cobra.Command { events := updater.Subscribe() for event := range events { - feedback.Printf("[%s] %s", event.Type.String(), event.Data) + if event.Type == update.ErrorEvent { + // TODO: add colors to error messages + err := event.GetError() + feedback.Printf("Error: %s [%s]", err.Error(), update.GetUpdateErrorCode(err)) + } else { + feedback.Printf("[%s] %s", event.Type.String(), event.GetData()) + } if event.Type == update.DoneEvent { break diff --git a/cmd/arduino-app-cli/version/version.go b/cmd/arduino-app-cli/version/version.go index 86ed7b3c..1cb06d05 100644 --- a/cmd/arduino-app-cli/version/version.go +++ b/cmd/arduino-app-cli/version/version.go @@ -16,34 +16,95 @@ package version import ( + "encoding/json" "fmt" + "net" + "net/http" + "net/url" + "time" "github.com/spf13/cobra" "github.com/arduino/arduino-app-cli/cmd/feedback" ) -func NewVersionCmd(version string) *cobra.Command { +// The actual listening address for the daemon +// is defined in the installation package +const ( + DefaultHostname = "localhost" + DefaultPort = "8800" + ProgramName = "Arduino App CLI" +) + +func NewVersionCmd(clientVersion string) *cobra.Command { cmd := &cobra.Command{ Use: "version", Short: "Print the version number of Arduino App CLI", Run: func(cmd *cobra.Command, args []string) { - feedback.PrintResult(versionResult{ - AppName: "Arduino App CLI", - Version: version, - }) + port, _ := cmd.Flags().GetString("port") + + daemonVersion, err := getDaemonVersion(http.Client{}, port) + if err != nil { + feedback.Warnf("Warning: cannot get the running daemon version on %s:%s\n", DefaultHostname, port) + } + + result := versionResult{ + Name: ProgramName, + Version: clientVersion, + DaemonVersion: daemonVersion, + } + + feedback.PrintResult(result) }, } + cmd.Flags().String("port", DefaultPort, "The daemon network port") return cmd } +func getDaemonVersion(httpClient http.Client, port string) (string, error) { + + httpClient.Timeout = time.Second + + url := url.URL{ + Scheme: "http", + Host: net.JoinHostPort(DefaultHostname, port), + Path: "/v1/version", + } + + resp, err := httpClient.Get(url.String()) + if err != nil { + return "", err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return "", fmt.Errorf("unexpected status code received") + } + + var daemonResponse struct { + Version string `json:"version"` + } + if err := json.NewDecoder(resp.Body).Decode(&daemonResponse); err != nil { + return "", err + } + + return daemonResponse.Version, nil +} + type versionResult struct { - AppName string `json:"appName"` - Version string `json:"version"` + Name string `json:"name"` + Version string `json:"version"` + DaemonVersion string `json:"daemon_version,omitempty"` } func (r versionResult) String() string { - return fmt.Sprintf("%s v%s", r.AppName, r.Version) + resultMessage := fmt.Sprintf("%s version %s", ProgramName, r.Version) + + if r.DaemonVersion != "" { + resultMessage = fmt.Sprintf("%s\ndaemon version: %s", + resultMessage, r.DaemonVersion) + } + return resultMessage } func (r versionResult) Data() interface{} { diff --git a/cmd/arduino-app-cli/version/version_test.go b/cmd/arduino-app-cli/version/version_test.go new file mode 100644 index 00000000..39617968 --- /dev/null +++ b/cmd/arduino-app-cli/version/version_test.go @@ -0,0 +1,125 @@ +// This file is part of arduino-app-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-app-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 version + +import ( + "errors" + "io" + "net/http" + "strings" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestDaemonVersion(t *testing.T) { + testCases := []struct { + name string + serverStub Tripper + port string + expectedResult string + expectedErrorMessage string + }{ + { + name: "return the server version when the server is up", + serverStub: successServer, + port: "8800", + expectedResult: "3.0-server", + expectedErrorMessage: "", + }, + { + name: "return error if default server is not listening on default port", + serverStub: failureServer, + port: "8800", + expectedResult: "", + expectedErrorMessage: `Get "http://localhost:8800/v1/version": connection refused`, + }, + { + name: "return error if provided server is not listening on provided port", + serverStub: failureServer, + port: "1234", + expectedResult: "", + expectedErrorMessage: `Get "http://localhost:1234/v1/version": connection refused`, + }, + { + name: "return error for server response 500 Internal Server Error", + serverStub: failureInternalServerError, + port: "0", + expectedResult: "", + expectedErrorMessage: "unexpected status code received", + }, + + { + name: "return error for server up and wrong json response", + serverStub: successServerWrongJson, + port: "8800", + expectedResult: "", + expectedErrorMessage: "invalid character '<' looking for beginning of value", + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + // arrange + httpClient := http.Client{} + httpClient.Transport = tc.serverStub + + // act + result, err := getDaemonVersion(httpClient, tc.port) + + // assert + require.Equal(t, tc.expectedResult, result) + if err != nil { + require.Equal(t, tc.expectedErrorMessage, err.Error()) + } + }) + } +} + +// Leverage the http.Client's RoundTripper +// to return a canned response and bypass network calls. +type Tripper func(*http.Request) (*http.Response, error) + +func (t Tripper) RoundTrip(request *http.Request) (*http.Response, error) { + return t(request) +} + +var successServer = Tripper(func(*http.Request) (*http.Response, error) { + body := io.NopCloser(strings.NewReader(`{"version":"3.0-server"}`)) + return &http.Response{ + StatusCode: http.StatusOK, + Body: body, + }, nil +}) + +var successServerWrongJson = Tripper(func(*http.Request) (*http.Response, error) { + body := io.NopCloser(strings.NewReader(`&2 + exit 1 +fi + + +if [ ! -w "$TARGET_FILE" ]; then + echo "Error: Target file $TARGET_FILE not found or not writable." >&2 + exit 1 +fi + +SERIAL_NUMBER=$(cat "$SERIAL_NUMBER_PATH") + +if [ -z "$SERIAL_NUMBER" ]; then + echo "Error: Serial number file is empty." >&2 + exit 1 +fi + +if grep -q "serial_number=" "$TARGET_FILE"; then + echo "Serial number ($SERIAL_NUMBER) already configured." + exit 0 +fi + +echo "Adding serial number to $TARGET_FILE..." +sed -i "/<\/service>/i serial_number=${SERIAL_NUMBER}<\/txt-record>" "$TARGET_FILE" + +echo "Avahi configuration attempt finished." +exit 0 \ No newline at end of file diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 00000000..7ef47fc5 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,23 @@ +# Contributor Guide + +Thanks for your interest in contributing to this project! + +There are several ways you can get involved: + +| Type of contribution | Contribution method | +| ----------------------------------------- | ----------------------------------------------- | +| - Support
- Question
- Discussion | Post on the [**Arduino Forum**][forum] | +| - Bug report
- Feature request | Issue report (see the guide [**here**][issues]) | +| Testing | PR review (see the guide [**here**][prs]) | +| - Bug fix
- Enhancement | Pull request (see the guide [**here**][prs]) | +| Monetary | [Buy official products][store] | + +[forum]: https://forum.arduino.cc +[issues]: contributor-guide/issues.md#issue-report-guide +[beta-testing]: contributor-guide/beta-testing.md#beta-testing-guide +[prs]: contributor-guide/pull-requests.md#pull-request-guide +[store]: https://store.arduino.cc + +## Resources + +- [**Development Guide**](contributor-guide/development.md#development-guide) diff --git a/docs/contributor-guide/assets/checks.png b/docs/contributor-guide/assets/checks.png new file mode 100644 index 00000000..888e711b Binary files /dev/null and b/docs/contributor-guide/assets/checks.png differ diff --git a/docs/contributor-guide/development.md b/docs/contributor-guide/development.md new file mode 100644 index 00000000..371ba0a2 --- /dev/null +++ b/docs/contributor-guide/development.md @@ -0,0 +1,70 @@ + + +# Development Guide + +> [!NOTE] +> The `arduino-app-cli` is designed to run on the Board and access peripherals that are not available on a development PC. +> +> For easier testing, using an **Arduino UNO Q** is recommended, as local testing is limited to functionalities that do not require board-specific features. + +## Prerequisites + +The following development tools must be available in your local environment: + +- [Go](https://go.dev/dl/) +- [Docker](https://docs.docker.com/engine/install/) +- [adb client](https://developer.android.com/tools/adb) [optionally] + +## Building the Project + +--- +❗ Building on Windows machines is not supported. +--- + +Build the project (run once): + +- `go tool task init` +- `go tool task build` +- `go tool task generate:assets` to download locally the assets of the [Arduino Bricks](https://github.com/arduino/app-bricks-py) + +Start the arduino-app-cli in daemon mode: + +- `ARDUINO_APP_CLI__DATA_DIR=debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli go tool task start` + +NOTE: only a subset of HTTP APIs are working by running the daemon mode on a development PC. To run Arduino App CLI on the board see the **Running Arduino App CLI on the board** section below. + +## Running Checks + +> [!NOTE] +> Since Arduino App CLI runs on a Debian-based OS, some tests do not work on Windows and macOS + +Checks and tests are set up to ensure the project content is functional and compliant with the established standards. + +- `go tool task fmt-check` +- `go tool task lint` +- `go tool task test` + +In particular, `go tool task test` runs the following tests + +- `test:pkg` which exposes a cross-platform API for working with the board (those should run for every platform) +- `test:internal` runs tests of the internal components, which targets only Linux + +## Running Arduino App CLI on the board + +This is reccomended way to test a local development version of Arduino App CLI on a board. + +1. Connect an [Arduino UNO Q](https://docs.arduino.cc/hardware/uno-q/) board via USB. +1. `go tool task board:install` installs the current version of Arduino App CLI on the board (`adb` is needed). The password of the `arduino` username of the board is requested. + +## Automatic Corrections + +Tools are provided to automatically bring the project into compliance with some of the required checks. + +- `go tool task fmt` + +## Generate API docs + +If a PR, change the HTTP API definitions, the following steps are needed: + +1. Open the `cmd/gendoc/docs.go` and modify/add/remove the definitions +1. Run `go tool task doc` to generate the docs (i.e., the files `internal/api/docs/openapi.yaml` and `internal/e2e/client/client.gen.go` are generated) diff --git a/docs/contributor-guide/issues.md b/docs/contributor-guide/issues.md new file mode 100644 index 00000000..c430864e --- /dev/null +++ b/docs/contributor-guide/issues.md @@ -0,0 +1,33 @@ + + +# Issue Report Guide + +--- + +❗ Do you need help or have a question about using this project? Support requests should be made to the [Arduino Forum](https://forum.arduino.cc). + +--- + +High quality bug reports and feature requests are valuable contributions to this project. These can be made by submitting an issue report to the project's GitHub repository: + +https://github.com/arduino/arduino-app-cli/issues/new/choose + +## Before Reporting an Issue + +- Give the latest development version t (pre-releases) a test drive to see if your issue was already resolved:
+ https://github.com/arduino/arduino-app-cli/releases?q=prerelease%3Atrue +- Search [existing pull requests and issues](https://github.com/arduino/arduino-app-cli/issues?q=) to see if it was already reported.
+ If you have additional information to provide about an existing issue, please comment there instead of creating a duplicate. You can use [GitHub's "Reactions" feature](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) if you only want to express support 👍. + +## Qualities of an Excellent Report + +- Concise and descriptive issue title.
+ Vague titles make it difficult to decipher the purpose of the issue when looking through the list of reports, which might result in your issue not being given proper attention. +- Describe the issue and what behavior you were expecting.
+ Include the full and exact text of any relevant error or warning messages you might have encountered. +- Provide a full set of steps necessary to reproduce the issue.
+ Demonstration code or commands should be complete and simplified to the minimum necessary to reproduce the issue. +- Be responsive.
+ We may need you to provide additional information in order to investigate and resolve the issue.
+ Make sure your GitHub account is configured so that you will receive notifications of responses to your issue report. +- If you find a solution to your problem, please comment on your issue report with an explanation of how you were able to fix it, then close the issue. diff --git a/docs/contributor-guide/pull-requests.md b/docs/contributor-guide/pull-requests.md new file mode 100644 index 00000000..0adae385 --- /dev/null +++ b/docs/contributor-guide/pull-requests.md @@ -0,0 +1,199 @@ + + +# Pull Request Guide + +A [**pull request**](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) (PR) is the mechanism used to propose changes to the content of this project's repository. + +If you are looking for ideas of what to work on, check [the list of open issue reports](https://github.com/arduino/arduino-app-cli/issues). Pull requests addressing any of those bug reports and feature requests are welcome. + +## Contribution Workflow + +Each contribution travels through a formal process which allows it to be efficiently incorporated into the project. + +### 1. Plan + +#### Research + +Start by searching the repository for existing pull requests and issues related to your planned contribution so you can see any related conversations and proposals and avoid duplicate effort: + +https://github.com/arduino/arduino-app-cli/issues?q= + +#### Discussion + +It can sometimes be useful to get feedback from others during the planning process. There are a couple good options for discussing planned development work: + +- Talk with the user community on the [Arduino Forum](https://forum.arduino.cc/). +- Talk with Arduino developers on the [Arduino Developers Mailing List](https://groups.google.com/a/arduino.cc/g/developers). + +### 2. Fork + +Forking a GitHub repository creates a copy of it under your account. You will stage contributions in your fork of this project. + +[More information about forking repositories](https://docs.github.com/get-started/quickstart/fork-a-repo) + +#### Enabling CI in Your Fork + +The repository is configured to run automated [continuous integration](https://wikipedia.org/wiki/Continuous_integration) (CI) checks and tests. It's a good idea to enable CI in your fork so you can make sure your work will pass the checks before you submit a pull request: + +1. Open the homepage of your fork in the browser. +1. Click the "**Actions**" tab. +1. Click the **I understand my workflows, go ahead and enable them** button. +1. Some of the workflows will now need to be activated individually. Perform the following steps for each of the useful workflows listed on the left side of the page that have a "**!**" icon: + 1. Click on the workflow name. + 1. Click the **Enable workflow** button. + +### 3. Clone + +Cloning a repository creates a copy of it on your computer. + +It is possible to make simple changes to your repository using the GitHub web interface without cloning the repository. However, the GitHub web interface is quite limiting so you will likely find the need to work with a clone (using **Git** directly or your choice of [Git client software](https://git-scm.com/downloads/guis)) for any significant development work. + +[More information about cloning repositories](https://git-scm.com/docs/git-clone) + +### 4. Branch + +Create a branch in your fork to contain the changes for your contribution. You must make a separate branch in your fork for each pull request you submit. + +[More information about branches](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches) + +### 5. Make a change + +Some things to keep in mind: + +- Make sure your change complies with the project's established style conventions. +- Remember to also update the documentation content in the repository if required by your changes. +- If the project contains a test suite, update or add tests according to your change as appropriate. + +See [the development guide](../development.md#development-guide) for more information. + +### 6. Test + +Test your change carefully to make sure it works correctly and did not break other components of the project. + +As a supplement for general testing, the project is set up with automated checks and tests to facilitate development. + +See [the development guide](../development.md#development-guide) for instructions. + +### 7. Commit + +Once the work on your change is complete, add it to the revision history of the Git repository by making a commit. + +Make sure to follow the [Commit Guidelines](#commit-guidelines). + +[More information about commits](https://git-scm.com/docs/git-commit) + +### 8. Push + +If you're working from a [clone](#3-clone), you will need to push your commit to your fork on GitHub. + +[More information about pushing commits](https://git-scm.com/docs/git-push) + +#### Checking CI Results + +If you have [enabled CI in your repository](#enabling-ci-in-your-fork), GitHub will run the relevant checks automatically every time you push a commit to your fork. + +You can see the results of these checks by doing either of the following: + +- Clicking the status icon (✔️ or ❌) shown to the right of a commit. +- Opening the repository's "**Actions**" tab. + +### 9. Pull request + +A pull request (PR) is a proposal to make a change in a repository. The repository maintainer is able to accept the changes you propose in a pull request by simply clicking a button. + +[More information about pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) + +#### Scope + +Each pull request should address a single bug fix or enhancement. If you have multiple unrelated fixes or enhancements to contribute, submit them as separate pull requests. + +#### Description + +Pull request title and description should follow [the same guidelines as commit messages](#commit-message). + +If your pull request fixes an issue in the issue tracker, use [a closing keyword](https://docs.github.com/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) in the body to indicate this. + +In some cases, it might make sense to request feedback on a proposal before it is ready to be merged. You can indicate this by starting the pull request title with **[WIP]** (work in progress). Once the pull request is ready to be merged, edit the title and remove the "[WIP]". + +#### Cross-repository Contributions + +Some proposals may require changes to multiple repositories. Pull requests should be submitted in parallel to each repository. + +Clearly note any dependencies on other PRs in the description so that these can be evaluated by the reviewer and the merges coordinated. + +--- + +Please check whether any changes are required to the related documentation content hosted in the separate dedicated repositories: + +- [**arduino/docs-content**](https://github.com/arduino/docs-content) +- [**arduino/help-center-content**](https://github.com/arduino/help-center-content) + +### 10. Resolve CI failures + +Relevant checks will run automatically once you have submitted the pull request. Once these checks are finished, you can see a summary of the results near the bottom of the pull request page: + +![checks](assets/checks.png) + +Failed checks will be indicated with an ❌. If any checks failed, please fix whatever caused it to fail. Click the "**Details**" link to the right of the check name to open the logs, which provide details about the failure. + +--- + +**ⓘ** In some rare cases, a CI failure may be unrelated to the changes made in your pull request. So if the information in the logs doesn't seem relevant, please comment on the pull request to ask a maintainer to take a look. + +--- + +When you push to the branch of your fork the pull request was submitted from, the commit is automatically added to the pull request. Don't create a new pull request to fix problems; update the existing pull request. + +### 11. Resolve changes requested from reviews + +Interested parties may review your pull request and suggest improvements. + +To act on general review suggestions, you can add commits to the branch you submitted the pull request from, which will automatically be added to the pull request. Don't create a new pull request to act on review suggestions; update the existing pull request. + +Reviewers may suggest specific changes, which can be applied by [clicking the **Commit suggestion** button](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request#applying-suggested-changes). + +[More information about pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews) + +### 12. Merge + +One of the repository maintainers can now choose to accept your proposed change. Once the pull request is [merged](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request), you can delete the branch you created in your fork for the pull request and delete the fork as well if you like. + +Thanks so much for your contribution! + +--- + +It is possible that the maintainers may decide a pull request doesn't align with Arduino's goals for the project and close it rather than merging. A record of the proposed changes will always be available on GitHub for future reference. If you think your modifications will be of use to others, you are welcome to maintain your own fork of the repository. + +--- + +## Commit Guidelines + +The commit history of a repository is an important resource for developers. Repositories may accumulate thousands of commits over the course of decades. Each individual commit contributes either to the commit history being pleasant and efficient to work with, or to it being a confusing mess. For this reason, it's essential for contributors to create clean, high quality commits. + +### Scope + +Commits must be "atomic". This means that the commit completely accomplishes a single task. Each commit should result in fully functional code. Multiple tasks should not be combined in a single commit, but a single task should not be split over multiple commits (e.g., one commit per file modified is not a good practice). + +[More information about atomic commits](https://www.freshconsulting.com/insights/blog/atomic-commits/) + +### Commit Message + +The commit message documents what the change was and why it was done. A little effort now writing a good commit message can save future developers from wasted time and frustration trying to understand the purpose of a poorly documented commit. + +#### Commit Message Title + +- Use the [imperative mood](https://cbea.ms/git-commit/#imperative) in the title.
+ For example: + > Use LED_BUILTIN macro in LED pin definition +- Capitalize the title. +- Do not end the title with punctuation. +- Do not use GitHub's default commit titles (e.g., "Update examples/Foo/Foo.ino"). + +#### Commit Message Body + +- Separate title from the body with a blank line. If you're committing via GitHub or [GitHub Desktop](https://desktop.github.com/) this will be done automatically. +- Wrap body at 120 characters. +- Completely explain the purpose of the commit.
+ Include a rationale for the change, any caveats, side-effects, etc. + +[More information on commit messages](https://cbea.ms/git-commit/) diff --git a/docs/user-documentation.md b/docs/user-documentation.md new file mode 100644 index 00000000..ba6d15b5 --- /dev/null +++ b/docs/user-documentation.md @@ -0,0 +1,62 @@ +# Arduino App CLI + +## Environment Variables + +The following environment variables are used to configure Arduino App CLI: + +| Environment Variable | Default Value | Description | +| -------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------- | +| `ARDUINO_APP_CLI__APPS_DIR` | `/home/arduino/ArduinoApps` | Path to the directory where Arduino Apps created by the user are stored | +| `ARDUINO_APP_CLI__DATA_DIR` | `/home/arduino/.local/share/arduino-app-cli` | Path to the directory where internal data is stored (examples, assets, properties) | +| `ARDUINO_APP_BRICKS__CUSTOM_MODEL_DIR` | `$HOME/.arduino-bricks/ei-models` | Path to the directory where custom AI models are stored | +| `ARDUINO_APP_CLI__ALLOW_ROOT` | `false` | Allow running `arduino-app-cli` as root (**Not recommended to set to true**) | +| `LIBRARIES_API_URL` | `https://api2.arduino.cc/libraries/v1/libraries` | URL of the external service used to search Arduino libraries | +| `DOCKER_REGISTRY_BASE` | `ghcr.io/arduino/` | Docker registry used to pull docker images | +| `DOCKER_PYTHON_BASE_IMAGE` | `app-bricks/python-apps-base:` | Tag of the Docker image for the Python runner | + +## Directory Structures + +Examples of user-defined Arduino Apps stored under the `ARDUINO_APP_CLI__APPS_DIR` folder. + +``` +├── my-first-app +│   ├── app.yaml +│   ├── README.md +│   ├── python +│   │   └── main.py +│   ├── sketch +│   │ ├── sketch.ino +│   │ └── sketch.yaml +| └── .cache/ # Temporary files and dependencies of the App +└── my-second-app + ├── app.yaml + ├── python +    └── main.py +``` + +Examples of the `assets` and the builtin `examples` stored under the `ARDUINO_APP_CLI__DATA_DIR` folder. + +``` +/home/arduino/.local/share/arduino-app-cli/ +├── assets +│   └── 0.5.0 # Version-specific assets +│   ├── bricks-list.yaml # Available bricks +│   ├── models-list.yaml # Available models +│   └── ... +├── bootloader_burned.flag +├── default.app # Default App +├── properties.msgpack # Variable values +├── examples # Built-in App examples +│   ├── air-quality-monitoring +│   │   ├── app.yaml +│   │   ├── assets +│   │   ├── python +│   │   ├── README.md +│   │   └── sketch +│   ├── anomaly-detection +│   │   ├── app.yaml +│   │   ├── assets +│   │   ├── python +│   │   └── README.md +│   └── ... +``` diff --git a/go.mod b/go.mod index be40aceb..e28dc683 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ replace ( ) // Required until https://github.com/arduino/arduino-cli/pull/3019 is merged and released -replace github.com/arduino/arduino-cli => github.com/cmaglie/arduino-cli v0.0.0-20251006122726-27fe68b0a18a +replace github.com/arduino/arduino-cli => github.com/cmaglie/arduino-cli v0.0.0-20251112150352-0d62cc4d0b45 require ( github.com/Andrew-M-C/go.emoji v1.1.4 @@ -48,9 +48,9 @@ require ( go.bug.st/cleanup v1.0.0 go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.15.0 - golang.org/x/crypto v0.41.0 + golang.org/x/crypto v0.42.0 golang.org/x/sync v0.17.0 - golang.org/x/text v0.29.0 + golang.org/x/text v0.30.0 ) require ( @@ -129,10 +129,10 @@ require ( github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/fvbommel/sortorder v1.1.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/getkin/kin-openapi v0.132.0 // indirect + github.com/getkin/kin-openapi v0.133.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.6.2 // indirect - github.com/go-git/go-git/v5 v5.16.2 // indirect + github.com/go-git/go-git/v5 v5.16.3 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.3.0 // indirect @@ -206,7 +206,7 @@ require ( github.com/morikuni/aec v1.0.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect - github.com/oapi-codegen/oapi-codegen/v2 v2.5.0 // indirect + github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 // indirect github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect @@ -225,7 +225,7 @@ require ( github.com/prometheus/procfs v0.15.1 // indirect github.com/puzpuzpuz/xsync/v3 v3.5.1 // indirect github.com/rivo/uniseg v0.4.7 // indirect - github.com/sagikazarmark/locafero v0.7.0 // indirect + github.com/sagikazarmark/locafero v0.11.0 // indirect github.com/sajari/fuzzy v1.0.0 // indirect github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect github.com/schollz/closestmatch v2.1.0+incompatible // indirect @@ -235,13 +235,13 @@ require ( github.com/shibumi/go-pathspec v1.3.0 // indirect github.com/skeema/knownhosts v1.3.1 // indirect github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect - github.com/sourcegraph/conc v0.3.0 // indirect + github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect github.com/speakeasy-api/jsonpath v0.6.0 // indirect github.com/speakeasy-api/openapi-overlay v0.10.2 // indirect - github.com/spf13/afero v1.12.0 // indirect - github.com/spf13/cast v1.7.1 // indirect - github.com/spf13/pflag v1.0.9 // indirect - github.com/spf13/viper v1.20.1 // indirect + github.com/spf13/afero v1.15.0 // indirect + github.com/spf13/cast v1.10.0 // indirect + github.com/spf13/pflag v1.0.10 // indirect + github.com/spf13/viper v1.21.0 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/swaggest/refl v1.4.0 // indirect @@ -257,6 +257,7 @@ require ( github.com/ulikunitz/xz v0.5.15 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect + github.com/woodsbury/decimal128 v1.3.0 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect @@ -283,20 +284,19 @@ require ( go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect go.opentelemetry.io/proto/otlp v1.5.0 // indirect - go.uber.org/atomic v1.9.0 // indirect go.uber.org/mock v0.5.2 // indirect - go.uber.org/multierr v1.9.0 // indirect - golang.org/x/mod v0.27.0 // indirect - golang.org/x/net v0.43.0 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/mod v0.28.0 // indirect + golang.org/x/net v0.44.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.36.0 // indirect - golang.org/x/term v0.35.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/term v0.36.0 // indirect golang.org/x/time v0.11.0 // indirect - golang.org/x/tools v0.36.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect - google.golang.org/grpc v1.75.1 // indirect - google.golang.org/protobuf v1.36.9 // indirect + golang.org/x/tools v0.37.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b // indirect + google.golang.org/grpc v1.76.0 // indirect + google.golang.org/protobuf v1.36.10 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 98b1009f..535ebe39 100644 --- a/go.sum +++ b/go.sum @@ -170,8 +170,8 @@ github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004 h1:lkAMpLVBDaj17e github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= -github.com/cmaglie/arduino-cli v0.0.0-20251006122726-27fe68b0a18a h1:xjGwmLNEUTb+QWUmUxwrb24Awbt4/rdpFG7lVUR3skI= -github.com/cmaglie/arduino-cli v0.0.0-20251006122726-27fe68b0a18a/go.mod h1:aH/Lfub80ymf3vpF0gUWx/sckVUNB0gDoPlABAx97SE= +github.com/cmaglie/arduino-cli v0.0.0-20251112150352-0d62cc4d0b45 h1:dBBw3070OvawAfcJMz7o+mOfZAR6O5DzUKdqV1C5Cmg= +github.com/cmaglie/arduino-cli v0.0.0-20251112150352-0d62cc4d0b45/go.mod h1:V7Rm93M89nl4hdOXQ47aj/jvEkxfWVwDYiav6i0UOkk= github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/kmZI= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -310,8 +310,8 @@ github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQ github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/getkin/kin-openapi v0.132.0 h1:3ISeLMsQzcb5v26yeJrBcdTCEQTag36ZjaGk7MIRUwk= -github.com/getkin/kin-openapi v0.132.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58= +github.com/getkin/kin-openapi v0.133.0 h1:pJdmNohVIJ97r4AUFtEXRXwESr8b0bD721u/Tz6k8PQ= +github.com/getkin/kin-openapi v0.133.0/go.mod h1:boAciF6cXk5FhPqe/NQeBTeenbjqU4LhWBf09ILVvWE= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= @@ -321,8 +321,8 @@ github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UN github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.16.2 h1:fT6ZIOjE5iEnkzKyxTHK1W4HGAsPhqEqiSAssSO77hM= -github.com/go-git/go-git/v5 v5.16.2/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= +github.com/go-git/go-git/v5 v5.16.3 h1:Z8BtvxZ09bYm/yYNgPKCzgWtaRqDTgIKRgIRHBfU6Z8= +github.com/go-git/go-git/v5 v5.16.3/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -676,8 +676,8 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLA github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oapi-codegen/oapi-codegen/v2 v2.5.0 h1:iJvF8SdB/3/+eGOXEpsWkD8FQAHj6mqkb6Fnsoc8MFU= -github.com/oapi-codegen/oapi-codegen/v2 v2.5.0/go.mod h1:fwlMxUEMuQK5ih9aymrxKPQqNm2n8bdLk1ppjH+lr9w= +github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 h1:5vHNY1uuPBRBWqB2Dp0G7YB03phxLQZupZTIZaeorjc= +github.com/oapi-codegen/oapi-codegen/v2 v2.5.1/go.mod h1:ro0npU1BWkcGpCgGD9QwPp44l5OIZ94tB3eabnT7DjQ= github.com/oapi-codegen/runtime v1.1.1 h1:EXLHh0DXIJnWhdRPN2w4MXAzFyE4CskzhNLUmtpMYro= github.com/oapi-codegen/runtime v1.1.1/go.mod h1:SK9X900oXmPWilYR5/WKPzt3Kqxn/uS/+lbpREv+eCg= github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY= @@ -771,8 +771,8 @@ github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= -github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= +github.com/sagikazarmark/locafero v0.11.0 h1:1iurJgmM9G3PA/I+wWYIOw/5SyBtxapeHDcg+AAIFXc= +github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= github.com/sajari/fuzzy v1.0.0 h1:+FmwVvJErsd0d0hAPlj4CxqxUtQY/fOoY0DwX4ykpRY= github.com/sajari/fuzzy v1.0.0/go.mod h1:OjYR6KxoWOe9+dOlXeiCJd4dIbED4Oo8wpS89o0pwOo= github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw= @@ -814,8 +814,8 @@ github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYl github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hgR6gDIPg= github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM= -github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= -github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= github.com/spdx/tools-golang v0.5.5 h1:61c0KLfAcNqAjlg6UNMdkwpMernhw3zVRwDZ2x9XOmk= github.com/spdx/tools-golang v0.5.5/go.mod h1:MVIsXx8ZZzaRWNQpUDhC4Dud34edUYJYecciXgrw5vE= github.com/speakeasy-api/jsonpath v0.6.0 h1:IhtFOV9EbXplhyRqsVhHoBmmYjblIRh5D1/g8DHMXJ8= @@ -823,12 +823,12 @@ github.com/speakeasy-api/jsonpath v0.6.0/go.mod h1:ymb2iSkyOycmzKwbEAYPJV/yi2rSm github.com/speakeasy-api/openapi-overlay v0.10.2 h1:VOdQ03eGKeiHnpb1boZCGm7x8Haj6gST0P3SGTX95GU= github.com/speakeasy-api/openapi-overlay v0.10.2/go.mod h1:n0iOU7AqKpNFfEt6tq7qYITC4f0yzVVdFw0S7hukemg= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= -github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= +github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= @@ -837,12 +837,13 @@ github.com/spf13/jwalterweatherman v0.0.0-20141219030609-3d60171a6431/go.mod h1: github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v0.0.0-20150530192845-be5ff3e4840c/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= -github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -909,6 +910,8 @@ github.com/warthog618/go-gpiocdev v0.9.1 h1:pwHPaqjJfhCipIQl78V+O3l9OKHivdRDdmgX github.com/warthog618/go-gpiocdev v0.9.1/go.mod h1:dN3e3t/S2aSNC+hgigGE/dBW8jE1ONk9bDSEYfoPyl8= github.com/warthog618/go-gpiosim v0.1.1 h1:MRAEv+T+itmw+3GeIGpQJBfanUVyg0l3JCTwHtwdre4= github.com/warthog618/go-gpiosim v0.1.1/go.mod h1:YXsnB+I9jdCMY4YAlMSRrlts25ltjmuIsrnoUrBLdqU= +github.com/woodsbury/decimal128 v1.3.0 h1:8pffMNWIlC0O5vbyHWFZAt5yWvWcrHA+3ovIIjVWss0= +github.com/woodsbury/decimal128 v1.3.0/go.mod h1:C5UTmyTjW3JftjUFzOVhC20BEQa2a4ZKOB5I6Zjb+ds= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= @@ -993,16 +996,14 @@ go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXe go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko= go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1017,8 +1018,8 @@ golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWP golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= -golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI= +golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1055,8 +1056,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= -golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.28.0 h1:gQBtGhjxykdjY9YhZpSlZIsbnaE2+PgjfLWUQTnoZ1U= +golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1101,8 +1102,8 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= -golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1197,13 +1198,13 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= -golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ= -golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA= +golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q= +golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1214,8 +1215,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= -golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= +golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= +golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1275,8 +1276,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= -golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1353,10 +1354,10 @@ google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU= -google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b h1:ULiyYQ0FdsJhwwZUwbaXpZF5yUE3h+RA+gxvBu37ucc= +google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b/go.mod h1:oDOGiMSXHL4sDTJvFvIB9nRQCGdLP1o/iVaqQK8zB+M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b h1:zPKJod4w6F1+nRGDI9ubnXYhU9NSWoFAijkHkUXeTK8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.0.5/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1378,8 +1379,8 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI= -google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A= +google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1392,8 +1393,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= -google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/cenkalti/backoff.v2 v2.2.1 h1:eJ9UAg01/HIHG987TwxvnzK2MgxXq97YY6rYDpY9aII= diff --git a/internal/api/api.go b/internal/api/api.go index 08d31d84..65c66771 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -81,7 +81,7 @@ func NewHTTPRouter( mux.Handle("POST /v1/apps/{appID}/start", handlers.HandleAppStart(dockerClient, provisioner, modelsIndex, bricksIndex, idProvider, cfg, staticStore)) mux.Handle("POST /v1/apps/{appID}/stop", handlers.HandleAppStop(dockerClient, idProvider)) mux.Handle("POST /v1/apps/{appID}/clone", handlers.HandleAppClone(dockerClient, idProvider, cfg)) - mux.Handle("DELETE /v1/apps/{appID}", handlers.HandleAppDelete(idProvider)) + mux.Handle("DELETE /v1/apps/{appID}", handlers.HandleAppDelete(dockerClient, idProvider)) mux.Handle("GET /v1/apps/{appID}/exposed-ports", handlers.HandleAppPorts(bricksIndex, idProvider)) mux.Handle("PUT /v1/apps/{appID}/sketch/libraries/{libRef}", handlers.HandleSketchAddLibrary(idProvider)) mux.Handle("DELETE /v1/apps/{appID}/sketch/libraries/{libRef}", handlers.HandleSketchRemoveLibrary(idProvider)) diff --git a/internal/api/docs/openapi.yaml b/internal/api/docs/openapi.yaml index 577d77d1..f2b3a999 100644 --- a/internal/api/docs/openapi.yaml +++ b/internal/api/docs/openapi.yaml @@ -1276,6 +1276,17 @@ components: name: type: string type: object + BrickConfigVariable: + properties: + description: + type: string + name: + type: string + required: + type: boolean + value: + type: string + type: object BrickCreateUpdateRequest: properties: model: @@ -1325,6 +1336,10 @@ components: type: string category: type: string + config_variables: + items: + $ref: '#/components/schemas/BrickConfigVariable' + type: array id: type: string model: @@ -1336,6 +1351,8 @@ components: variables: additionalProperties: type: string + description: 'Deprecated: use config_variables instead. This field is kept + for backward compatibility.' type: object type: object BrickListItem: diff --git a/internal/api/handlers/app_delete.go b/internal/api/handlers/app_delete.go index 864dd405..6503d124 100644 --- a/internal/api/handlers/app_delete.go +++ b/internal/api/handlers/app_delete.go @@ -19,13 +19,18 @@ import ( "log/slog" "net/http" + "github.com/docker/cli/cli/command" + "github.com/arduino/arduino-app-cli/internal/api/models" "github.com/arduino/arduino-app-cli/internal/orchestrator" "github.com/arduino/arduino-app-cli/internal/orchestrator/app" "github.com/arduino/arduino-app-cli/internal/render" ) -func HandleAppDelete(idProvider *app.IDProvider) http.HandlerFunc { +func HandleAppDelete( + dockerClient command.Cli, + idProvider *app.IDProvider, +) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { id, err := idProvider.IDFromBase64(r.PathValue("appID")) if err != nil { @@ -44,7 +49,7 @@ func HandleAppDelete(idProvider *app.IDProvider) http.HandlerFunc { return } - err = orchestrator.DeleteApp(r.Context(), app) + err = orchestrator.DeleteApp(r.Context(), dockerClient, app) if err != nil { slog.Error("Unable to delete the app", slog.String("error", err.Error())) render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{Details: "unable to delete the app"}) diff --git a/internal/api/handlers/app_stop.go b/internal/api/handlers/app_stop.go index 0b9ec8c0..f5a9979c 100644 --- a/internal/api/handlers/app_stop.go +++ b/internal/api/handlers/app_stop.go @@ -60,7 +60,7 @@ func HandleAppStop( type log struct { Message string `json:"message"` } - for item := range orchestrator.StopApp(r.Context(), app) { + for item := range orchestrator.StopApp(r.Context(), dockerClient, app) { switch item.GetType() { case orchestrator.ProgressType: sseStream.Send(render.SSEEvent{Type: "progress", Data: progress(*item.GetProgress())}) diff --git a/internal/api/handlers/bricks.go b/internal/api/handlers/bricks.go index 7e95753a..9ac76632 100644 --- a/internal/api/handlers/bricks.go +++ b/internal/api/handlers/bricks.go @@ -146,7 +146,7 @@ func HandleBrickCreate( err = brickService.BrickCreate(req, app) if err != nil { // TODO: handle specific errors - slog.Error("Unable to parse the app.yaml", slog.String("error", err.Error())) + slog.Error("Unable to create brick", slog.String("error", err.Error())) render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{Details: "error while creating or updating brick"}) return } @@ -213,7 +213,7 @@ func HandleBrickUpdates( req.ID = id err = brickService.BrickUpdate(req, app) if err != nil { - slog.Error("Unable to parse the app.yaml", slog.String("error", err.Error())) + slog.Error("Unable to update the brick", slog.String("error", err.Error())) render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{Details: "unable to update the brick"}) return diff --git a/internal/api/handlers/update.go b/internal/api/handlers/update.go index 41ac992b..49ec1b29 100644 --- a/internal/api/handlers/update.go +++ b/internal/api/handlers/update.go @@ -16,7 +16,6 @@ package handlers import ( - "errors" "net/http" "strings" @@ -43,14 +42,20 @@ func HandleCheckUpgradable(updater *update.Manager) http.HandlerFunc { pkgs, err := updater.ListUpgradablePackages(r.Context(), filterFunc) if err != nil { - if errors.Is(err, update.ErrOperationAlreadyInProgress) { - render.EncodeResponse(w, http.StatusConflict, models.ErrorResponse{Details: err.Error()}) + code := update.GetUpdateErrorCode(err) + if code == update.OperationInProgressCode { + render.EncodeResponse(w, http.StatusConflict, models.ErrorResponse{ + Code: string(code), + Details: err.Error(), + }) return } - render.EncodeResponse(w, http.StatusBadRequest, models.ErrorResponse{Details: "Error checking for upgradable packages: " + err.Error()}) + render.EncodeResponse(w, http.StatusBadRequest, models.ErrorResponse{ + Code: string(code), + Details: err.Error(), + }) return } - if len(pkgs) == 0 { render.EncodeResponse(w, http.StatusNoContent, nil) return @@ -79,27 +84,40 @@ func HandleUpdateApply(updater *update.Manager) http.HandlerFunc { pkgs, err := updater.ListUpgradablePackages(r.Context(), filterFunc) if err != nil { - if errors.Is(err, update.ErrOperationAlreadyInProgress) { - render.EncodeResponse(w, http.StatusConflict, models.ErrorResponse{Details: err.Error()}) + code := update.GetUpdateErrorCode(err) + if code == update.OperationInProgressCode { + render.EncodeResponse(w, http.StatusConflict, models.ErrorResponse{ + Code: string(code), + Details: err.Error(), + }) return } slog.Error("Unable to get upgradable packages", slog.String("error", err.Error())) - render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{Details: "Error checking for upgradable packages"}) + render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{ + Code: string(code), + Details: err.Error(), + }) return } - if len(pkgs) == 0 { - render.EncodeResponse(w, http.StatusNoContent, models.ErrorResponse{Details: "System is up to date, no upgradable packages found"}) + render.EncodeResponse(w, http.StatusNoContent, nil) return } err = updater.UpgradePackages(r.Context(), pkgs) if err != nil { - if errors.Is(err, update.ErrOperationAlreadyInProgress) { - render.EncodeResponse(w, http.StatusConflict, models.ErrorResponse{Details: err.Error()}) + code := update.GetUpdateErrorCode(err) + if code == update.OperationInProgressCode { + render.EncodeResponse(w, http.StatusConflict, models.ErrorResponse{ + Code: string(code), + Details: err.Error(), + }) return } - render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{Details: "Error upgrading packages"}) + render.EncodeResponse(w, http.StatusInternalServerError, models.ErrorResponse{ + Code: string(code), + Details: err.Error(), + }) return } @@ -109,6 +127,13 @@ func HandleUpdateApply(updater *update.Manager) http.HandlerFunc { func HandleUpdateEvents(updater *update.Manager) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { + // HOTFIX: app-lab use HEAD requests to check endpoint availability + // so we need to handle them here by early return without opening SSE stream + if r.Method == http.MethodHead { + render.EncodeResponse(w, http.StatusOK, nil) + return + } + sseStream, err := render.NewSSEStream(r.Context(), w) if err != nil { slog.Error("Unable to create SSE stream", slog.String("error", err.Error())) @@ -128,14 +153,19 @@ func HandleUpdateEvents(updater *update.Manager) http.HandlerFunc { return } if event.Type == update.ErrorEvent { + err := event.GetError() + code := render.InternalServiceErr + if c := update.GetUpdateErrorCode(err); c != update.UnknownErrorCode { + code = render.SSEErrCode(string(c)) + } sseStream.SendError(render.SSEErrorData{ - Code: render.InternalServiceErr, - Message: event.Data, + Code: code, + Message: err.Error(), }) } else { sseStream.Send(render.SSEEvent{ Type: event.Type.String(), - Data: event.Data, + Data: event.GetData(), }) } diff --git a/internal/api/models/errors.go b/internal/api/models/errors.go index e87aafe1..1bbe3ec5 100644 --- a/internal/api/models/errors.go +++ b/internal/api/models/errors.go @@ -16,5 +16,6 @@ package models type ErrorResponse struct { + Code string `json:"code,omitempty"` Details string `json:"details"` } diff --git a/internal/e2e/client/client.gen.go b/internal/e2e/client/client.gen.go index 9e12c9ec..f6094430 100644 --- a/internal/e2e/client/client.gen.go +++ b/internal/e2e/client/client.gen.go @@ -119,6 +119,14 @@ type AppReference struct { Name *string `json:"name,omitempty"` } +// BrickConfigVariable defines model for BrickConfigVariable. +type BrickConfigVariable struct { + Description *string `json:"description,omitempty"` + Name *string `json:"name,omitempty"` + Required *bool `json:"required,omitempty"` + Value *string `json:"value,omitempty"` +} + // BrickCreateUpdateRequest defines model for BrickCreateUpdateRequest. type BrickCreateUpdateRequest struct { Model *string `json:"model"` @@ -142,12 +150,15 @@ type BrickDetailsResult struct { // BrickInstance defines model for BrickInstance. type BrickInstance struct { - Author *string `json:"author,omitempty"` - Category *string `json:"category,omitempty"` - Id *string `json:"id,omitempty"` - Model *string `json:"model,omitempty"` - Name *string `json:"name,omitempty"` - Status *string `json:"status,omitempty"` + Author *string `json:"author,omitempty"` + Category *string `json:"category,omitempty"` + ConfigVariables *[]BrickConfigVariable `json:"config_variables,omitempty"` + Id *string `json:"id,omitempty"` + Model *string `json:"model,omitempty"` + Name *string `json:"name,omitempty"` + Status *string `json:"status,omitempty"` + + // Variables Deprecated: use config_variables instead. This field is kept for backward compatibility. Variables *map[string]string `json:"variables,omitempty"` } diff --git a/internal/e2e/daemon/app_test.go b/internal/e2e/daemon/app_test.go index bc6556e6..1de8ff64 100644 --- a/internal/e2e/daemon/app_test.go +++ b/internal/e2e/daemon/app_test.go @@ -470,7 +470,7 @@ func TestDeleteApp(t *testing.T) { t.Run("DeletingExampleApp_Fail", func(t *testing.T) { var actualResponseBody models.ErrorResponse - deleteResp, err := httpClient.DeleteApp(t.Context(), noExisitingExample) + deleteResp, err := httpClient.DeleteApp(t.Context(), "ZXhhbXBsZXM6anVzdGJsaW5f") require.NoError(t, err) defer deleteResp.Body.Close() @@ -818,7 +818,7 @@ func TestAppPorts(t *testing.T) { respBrick, err := httpClient.UpsertAppBrickInstanceWithResponse( t.Context(), *createResp.JSON201.Id, - StreamLitUi, + "arduino:streamlit_ui", client.BrickCreateUpdateRequest{}, func(ctx context.Context, req *http.Request) error { return nil }, ) diff --git a/internal/e2e/daemon/const.go b/internal/e2e/daemon/const.go index f656fd0f..3bb35899 100644 --- a/internal/e2e/daemon/const.go +++ b/internal/e2e/daemon/const.go @@ -16,11 +16,7 @@ package daemon const ( - ImageClassifactionBrickID = "arduino:image_classification" - StreamLitUi = "arduino:streamlit_ui" - expectedDetailsAppNotfound = "unable to find the app" - expectedDetailsAppInvalidAppId = "invalid app id" - noExistingApp = "dXNlcjp0ZXN0LWFwcAw" - malformedAppId = "this-is-definitely-not-base64" - noExisitingExample = "ZXhhbXBsZXM6anVzdGJsaW5f" + ImageClassifactionBrickID = "arduino:image_classification" + noExistingApp = "dXNlcjp0ZXN0LWFwcAw" + malformedAppId = "this-is-definitely-not-base64" ) diff --git a/internal/e2e/daemon/instance_bricks_test.go b/internal/e2e/daemon/instance_bricks_test.go index 3399476c..c210a9e6 100644 --- a/internal/e2e/daemon/instance_bricks_test.go +++ b/internal/e2e/daemon/instance_bricks_test.go @@ -31,6 +31,28 @@ import ( "github.com/arduino/arduino-app-cli/internal/e2e/client" ) +const ( + expectedDetailsAppInvalidAppId = "invalid app id" + expectedDetailsAppNotfound = "unable to find the app" +) + +var ( + expectedConfigVariables = []client.BrickConfigVariable{ + { + Description: f.Ptr("path to the custom model directory"), + Name: f.Ptr("CUSTOM_MODEL_PATH"), + Required: f.Ptr(false), + Value: f.Ptr("/home/arduino/.arduino-bricks/ei-models"), + }, + { + Description: f.Ptr("path to the model file"), + Name: f.Ptr("EI_CLASSIFICATION_MODEL"), + Required: f.Ptr(false), + Value: f.Ptr("/models/ootb/ei/mobilenet-v2-224px.eim"), + }, + } +) + func setupTestApp(t *testing.T) (*client.CreateAppResp, *client.ClientWithResponses) { httpClient := GetHttpclient(t) createResp, err := httpClient.CreateAppWithResponse( @@ -68,6 +90,7 @@ func TestGetAppBrickInstances(t *testing.T) { require.NoError(t, err) require.Len(t, *brickInstances.JSON200.Bricks, 1) require.Equal(t, ImageClassifactionBrickID, *(*brickInstances.JSON200.Bricks)[0].Id) + require.Equal(t, expectedConfigVariables, *(*brickInstances.JSON200.Bricks)[0].ConfigVariables) }) @@ -111,6 +134,7 @@ func TestGetAppBrickInstanceById(t *testing.T) { require.NoError(t, err) require.NotEmpty(t, brickInstance.JSON200) require.Equal(t, ImageClassifactionBrickID, *brickInstance.JSON200.Id) + require.Equal(t, expectedConfigVariables, (*brickInstance.JSON200.ConfigVariables)) }) t.Run("GetAppBrickInstanceByBrickID_InvalidAppID_Fails", func(t *testing.T) { diff --git a/internal/e2e/updatetest/helpers.go b/internal/e2e/updatetest/helpers.go new file mode 100644 index 00000000..410a9999 --- /dev/null +++ b/internal/e2e/updatetest/helpers.go @@ -0,0 +1,331 @@ +package updatetest + +import ( + "bufio" + "bytes" + "context" + "encoding/json" + "fmt" + "iter" + "log" + "net" + "net/http" + "os" + "os/exec" + "path/filepath" + "strconv" + "strings" + "testing" + "time" + + "github.com/stretchr/testify/require" +) + +func fetchDebPackageLatest(t *testing.T, path, repo string) string { + t.Helper() + + repo = fmt.Sprintf("github.com/arduino/%s", repo) + cmd := exec.Command( + "gh", "release", "list", + "--repo", repo, + "--exclude-pre-releases", + "--limit", "1", + ) + + output, err := cmd.CombinedOutput() + if err != nil { + log.Fatalf("command failed: %v\nOutput: %s", err, output) + } + + fmt.Println(string(output)) + + fields := strings.Fields(string(output)) + if len(fields) == 0 { + log.Fatal("could not parse tag from gh release list output") + } + tag := fields[0] + + fmt.Println("Detected tag:", tag) + cmd2 := exec.Command( + "gh", "release", "download", + tag, + "--repo", repo, + "--pattern", "*.deb", + "--dir", path, + ) + + out, err := cmd2.CombinedOutput() + if err != nil { + log.Fatalf("download failed: %v\nOutput: %s", err, out) + } + + return tag + +} + +func buildDebVersion(t *testing.T, storePath, tagVersion, arch string) { + t.Helper() + cwd, err := os.Getwd() + if err != nil { + panic(err) + } + outputDir := filepath.Join(cwd, storePath) + + tagVersion = fmt.Sprintf("VERSION=%s", tagVersion) + arch = fmt.Sprintf("ARCH=%s", arch) + outputDir = fmt.Sprintf("OUTPUT=%s", outputDir) + + cmd := exec.Command( + "go", "tool", "task", "build-deb", + tagVersion, + arch, + outputDir, + ) + + if err := cmd.Run(); err != nil { + log.Fatalf("failed to run build command: %v", err) + } +} + +func genMajorTag(t *testing.T, tag string) string { + t.Helper() + + parts := strings.Split(tag, ".") + last := parts[len(parts)-1] + + lastNum, _ := strconv.Atoi(strings.TrimPrefix(last, "v")) + lastNum++ + + parts[len(parts)-1] = strconv.Itoa(lastNum) + newTag := strings.Join(parts, ".") + + return newTag +} + +func genMinorTag(t *testing.T, tag string) string { + t.Helper() + + parts := strings.Split(tag, ".") + last := parts[len(parts)-1] + + lastNum, _ := strconv.Atoi(strings.TrimPrefix(last, "v")) + if lastNum > 0 { + lastNum-- + } + + parts[len(parts)-1] = strconv.Itoa(lastNum) + newTag := strings.Join(parts, ".") + + if !strings.HasPrefix(newTag, "v") { + newTag = "v" + newTag + } + return newTag +} + +func buildDockerImage(t *testing.T, dockerfile, name, arch string) { + t.Helper() + + arch = fmt.Sprintf("ARCH=%s", arch) + + cmd := exec.Command("docker", "build", "--build-arg", arch, "-t", name, "-f", dockerfile, ".") + // Capture both stdout and stderr + var out bytes.Buffer + var stderr bytes.Buffer + cmd.Stdout = &out + cmd.Stderr = &stderr + + err := cmd.Run() + if err != nil { + fmt.Printf("❌ Docker build failed: %v\n", err) + fmt.Printf("---- STDERR ----\n%s\n", stderr.String()) + fmt.Printf("---- STDOUT ----\n%s\n", out.String()) + return + } + + fmt.Println("✅ Docker build succeeded!") +} + +func startDockerContainer(t *testing.T, containerName string, containerImageName string) { + t.Helper() + + cmd := exec.Command( + "docker", "run", "--rm", "-d", + "-p", "8800:8800", + "--privileged", + "--cgroupns=host", + "--network", "host", + "-v", "/sys/fs/cgroup:/sys/fs/cgroup:rw", + "-v", "/var/run/docker.sock:/var/run/docker.sock", + "-e", "DOCKER_HOST=unix:///var/run/docker.sock", + "--name", containerName, + containerImageName, + ) + + if err := cmd.Run(); err != nil { + t.Fatalf("failed to run container: %v", err) + } + +} + +func getAppCliVersion(t *testing.T, containerName string) string { + t.Helper() + + cmd := exec.Command( + "docker", "exec", + "--user", "arduino", + containerName, + "arduino-app-cli", "version", "--format", "json", + ) + output, err := cmd.CombinedOutput() + if err != nil { + log.Fatalf("command failed: %v\nOutput: %s", err, output) + } + + var version struct { + Version string `json:"version"` + DaemonVersion string `json:"daemon_version"` + } + err = json.Unmarshal(output, &version) + require.NoError(t, err) + // TODO to enable after 0.6.7 + // require.Equal(t, version.Version, version.DaemonVersion, "client and daemon versions should match") + require.NotEmpty(t, version.Version) + return version.Version + +} + +func runSystemUpdate(t *testing.T, containerName string) { + t.Helper() + + cmd := exec.Command( + "docker", "exec", + "--user", "arduino", + containerName, + "arduino-app-cli", "system", "update", "--yes", + ) + output, err := cmd.CombinedOutput() + require.NoError(t, err, "system update failed: %s", output) + t.Logf("system update output: %s", output) +} + +func stopDockerContainer(t *testing.T, containerName string) { + t.Helper() + + cleanupCmd := exec.Command("docker", "rm", "-f", containerName) + + fmt.Println("🧹 Removing Docker container " + containerName) + if err := cleanupCmd.Run(); err != nil { + fmt.Printf("⚠️ Warning: could not remove container (might not exist): %v\n", err) + } + +} + +func putUpdateRequest(t *testing.T, host string) { + + t.Helper() + + url := fmt.Sprintf("http://%s/v1/system/update/apply", host) + + req, err := http.NewRequest(http.MethodPut, url, nil) + if err != nil { + log.Fatalf("Error creating request: %v", err) + } + + req.Header.Set("Content-Type", "application/json") + + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + log.Fatalf("Error sending request: %v", err) + } + defer resp.Body.Close() + + require.Equal(t, 202, resp.StatusCode) + +} + +func NewSSEClient(ctx context.Context, method, url string) iter.Seq2[Event, error] { + return func(yield func(Event, error) bool) { + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) + if err != nil { + _ = yield(Event{}, err) + return + } + + resp, err := http.DefaultClient.Do(req) + if err != nil { + _ = yield(Event{}, err) + return + } + defer resp.Body.Close() + + if resp.StatusCode != 200 { + _ = yield(Event{}, fmt.Errorf("got response status code %d", resp.StatusCode)) + return + } + + reader := bufio.NewReader(resp.Body) + + evt := Event{} + for { + line, err := reader.ReadString('\n') + if err != nil { + _ = yield(Event{}, err) + return + } + switch { + case strings.HasPrefix(line, "data:"): + evt.Data = []byte(strings.TrimSpace(strings.TrimPrefix(line, "data:"))) + case strings.HasPrefix(line, "event:"): + evt.Event = strings.TrimSpace(strings.TrimPrefix(line, "event:")) + case strings.HasPrefix(line, "id:"): + evt.ID = strings.TrimSpace(strings.TrimPrefix(line, "id:")) + case strings.HasPrefix(line, "\n"): + if !yield(evt, nil) { + return + } + evt = Event{} + default: + _ = yield(Event{}, fmt.Errorf("unknown line: '%s'", line)) + return + } + } + } +} + +type Event struct { + ID string + Event string + Data []byte // json +} + +func waitForPort(t *testing.T, host string, timeout time.Duration) { // nolint:unparam + t.Helper() + deadline := time.Now().Add(timeout) + for time.Now().Before(deadline) { + conn, err := net.DialTimeout("tcp", host, 500*time.Millisecond) + if err == nil { + _ = conn.Close() + t.Logf("Server is up on %s", host) + return + } + time.Sleep(200 * time.Millisecond) + } + t.Fatalf("Server at %s did not start within %v", host, timeout) +} + +func waitForUpgrade(t *testing.T, host string) { + t.Helper() + + url := fmt.Sprintf("http://%s/v1/system/update/events", host) + + itr := NewSSEClient(t.Context(), "GET", url) + for event, err := range itr { + require.NoError(t, err) + t.Logf("Received event: ID=%s, Event=%s, Data=%s\n", event.ID, event.Event, string(event.Data)) + if event.Event == "restarting" { + break + } + } + +} diff --git a/internal/e2e/updatetest/test.Dockerfile b/internal/e2e/updatetest/test.Dockerfile new file mode 100644 index 00000000..578e71c0 --- /dev/null +++ b/internal/e2e/updatetest/test.Dockerfile @@ -0,0 +1,33 @@ +FROM debian:trixie + +RUN apt update && \ + apt install -y systemd systemd-sysv dbus \ + sudo docker.io ca-certificates curl gnupg \ + dpkg-dev apt-utils adduser gzip && \ + rm -rf /var/lib/apt/lists/* + +ARG ARCH=amd64 + +COPY build/stable/arduino-app-cli*_${ARCH}.deb /tmp/stable.deb +COPY build/arduino-app-cli*_${ARCH}.deb /tmp/unstable.deb +COPY build/stable/arduino-router*_${ARCH}.deb /tmp/router.deb + +RUN apt update && apt install -y /tmp/stable.deb /tmp/router.deb \ + && rm /tmp/stable.deb /tmp/router.deb \ + && mkdir -p /var/www/html/myrepo/dists/trixie/main/binary-${ARCH} \ + && mv /tmp/unstable.deb /var/www/html/myrepo/dists/trixie/main/binary-${ARCH}/ + +WORKDIR /var/www/html/myrepo +RUN dpkg-scanpackages dists/trixie/main/binary-${ARCH} /dev/null | gzip -9c > dists/trixie/main/binary-${ARCH}/Packages.gz +WORKDIR / + +RUN usermod -s /bin/bash arduino || true +RUN mkdir -p /home/arduino && chown -R arduino:arduino /home/arduino +RUN usermod -aG docker arduino + +RUN echo "deb [trusted=yes arch=${ARCH}] file:/var/www/html/myrepo trixie main" \ + > /etc/apt/sources.list.d/my-mock-repo.list + +EXPOSE 8800 +# CMD: systemd must be PID 1 +CMD ["/sbin/init"] diff --git a/internal/e2e/updatetest/update_test.go b/internal/e2e/updatetest/update_test.go new file mode 100644 index 00000000..061a8ff6 --- /dev/null +++ b/internal/e2e/updatetest/update_test.go @@ -0,0 +1,122 @@ +package updatetest + +import ( + "fmt" + "os" + "runtime" + "testing" + "time" + + "github.com/stretchr/testify/require" +) + +var arch = runtime.GOARCH + +const dockerFile = "test.Dockerfile" +const daemonHost = "127.0.0.1:8800" + +func TestUpdatePackage(t *testing.T) { + fmt.Printf("***** ARCH %s ***** \n", arch) + + t.Run("Stable To Current", func(t *testing.T) { + t.Cleanup(func() { os.RemoveAll("build") }) + + tagAppCli := fetchDebPackageLatest(t, "build/stable", "arduino-app-cli") + fetchDebPackageLatest(t, "build/stable", "arduino-router") + majorTag := genMajorTag(t, tagAppCli) + + fmt.Printf("Updating from stable version %s to unstable version %s \n", tagAppCli, majorTag) + fmt.Printf("Building local deb version %s \n", majorTag) + buildDebVersion(t, "build", majorTag, arch) + + const dockerImageName = "apt-test-update-image" + fmt.Println("**** BUILD docker image *****") + buildDockerImage(t, dockerFile, dockerImageName, arch) + //TODO: t cleanup remove docker image + + t.Run("CLI Command", func(t *testing.T) { + const containerName = "apt-test-update" + t.Cleanup(func() { stopDockerContainer(t, containerName) }) + + fmt.Println("**** RUN docker image *****") + startDockerContainer(t, containerName, dockerImageName) + waitForPort(t, daemonHost, 5*time.Second) + + preUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+preUpdateVersion, tagAppCli) + runSystemUpdate(t, containerName) + postUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+postUpdateVersion, majorTag) + }) + + t.Run("HTTP Request", func(t *testing.T) { + const containerName = "apt-test-update-http" + t.Cleanup(func() { stopDockerContainer(t, containerName) }) + + startDockerContainer(t, containerName, dockerImageName) + waitForPort(t, daemonHost, 5*time.Second) + + preUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+preUpdateVersion, tagAppCli) + + putUpdateRequest(t, daemonHost) + waitForUpgrade(t, daemonHost) + + postUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+postUpdateVersion, majorTag) + }) + + }) + + t.Run("CurrentToStable", func(t *testing.T) { + t.Cleanup(func() { os.RemoveAll("build") }) + + tagAppCli := fetchDebPackageLatest(t, "build", "arduino-app-cli") + fetchDebPackageLatest(t, "build/stable", "arduino-router") + minorTag := genMinorTag(t, tagAppCli) + + fmt.Printf("Updating from unstable version %s to stable version %s \n", minorTag, tagAppCli) + fmt.Printf("Building local deb version %s \n", minorTag) + buildDebVersion(t, "build/stable", minorTag, arch) + + fmt.Println("**** BUILD docker image *****") + const dockerImageName = "test-apt-update-unstable-image" + + buildDockerImage(t, dockerFile, dockerImageName, arch) + //TODO: t cleanup remove docker image + + t.Run("CLI Command", func(t *testing.T) { + const containerName = "apt-test-update-unstable" + t.Cleanup(func() { stopDockerContainer(t, containerName) }) + + fmt.Println("**** RUN docker image *****") + startDockerContainer(t, containerName, dockerImageName) + waitForPort(t, daemonHost, 5*time.Second) + + preUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+preUpdateVersion, minorTag) + runSystemUpdate(t, containerName) + postUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+postUpdateVersion, tagAppCli) + }) + + t.Run("HTTP Request", func(t *testing.T) { + const containerName = "apt-test-update--unstable-http" + t.Cleanup(func() { stopDockerContainer(t, containerName) }) + + startDockerContainer(t, containerName, dockerImageName) + waitForPort(t, daemonHost, 5*time.Second) + + preUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+preUpdateVersion, minorTag) + + putUpdateRequest(t, daemonHost) + waitForUpgrade(t, daemonHost) + + postUpdateVersion := getAppCliVersion(t, containerName) + require.Equal(t, "v"+postUpdateVersion, tagAppCli) + }) + + }) + +} diff --git a/internal/orchestrator/app/generator/app_generator.go b/internal/orchestrator/app/generator/app_generator.go index 3dab7e53..0eec26ae 100644 --- a/internal/orchestrator/app/generator/app_generator.go +++ b/internal/orchestrator/app/generator/app_generator.go @@ -41,7 +41,7 @@ const ( SkipPython ) -//go:embed app_template +//go:embed all:app_template var fsApp embed.FS func GenerateApp(basePath *paths.Path, app app.AppDescriptor, options Opts) error { @@ -50,6 +50,7 @@ func GenerateApp(basePath *paths.Path, app app.AppDescriptor, options Opts) erro } isSkipSketchSet := options&SkipSketch != 0 isSkipPythonSet := options&SkipPython != 0 + if !isSkipSketchSet { if err := generateSketch(basePath); err != nil { return fmt.Errorf("failed to create sketch: %w", err) @@ -60,58 +61,109 @@ func GenerateApp(basePath *paths.Path, app app.AppDescriptor, options Opts) erro return fmt.Errorf("failed to create python: %w", err) } } - if err := generateReadme(basePath, app); err != nil { - slog.Warn("error generating readme for app %q: %w", app.Name, err) - } - if err := generateAppYaml(basePath, app); err != nil { - return fmt.Errorf("failed to create app content: %w", err) + + if err := generateApp(basePath, app); err != nil { + return fmt.Errorf("failed to create app.yaml: %w", err) } return nil } -func generateAppYaml(basePath *paths.Path, app app.AppDescriptor) error { - appYamlTmpl := template.Must( - template.New("app.yaml"). - Funcs(template.FuncMap{"joinInts": formatPorts}). - ParseFS(fsApp, path.Join(templateRoot, "app.yaml.template")), - ) +func generateApp(basePath *paths.Path, appDesc app.AppDescriptor) error { + generateAppYaml := func(basePath *paths.Path, app app.AppDescriptor) error { + appYamlTmpl := template.Must( + template.New("app.yaml"). + Funcs(template.FuncMap{"joinInts": formatPorts}). + ParseFS(fsApp, path.Join(templateRoot, "app.yaml.template")), + ) - outputPath := basePath.Join("app.yaml") - file, err := os.Create(outputPath.String()) - if err != nil { - return fmt.Errorf("failed to create file %s: %w", outputPath.String(), err) - } - defer file.Close() + outputPath := basePath.Join("app.yaml") + file, err := os.Create(outputPath.String()) + if err != nil { + return fmt.Errorf("failed to create file %s: %w", outputPath.String(), err) + } + defer file.Close() + + return appYamlTmpl.ExecuteTemplate(file, "app.yaml.template", app) + } + + generateReadme := func(basePath *paths.Path, app app.AppDescriptor) error { + readmeTmpl := template.Must(template.ParseFS(fsApp, path.Join(templateRoot, "README.md.template"))) + data := struct { + Title string + Icon string + Description string + Ports string + }{ + Title: app.Name, + Icon: app.Icon, + Description: app.Description, + } - return appYamlTmpl.ExecuteTemplate(file, "app.yaml.template", app) -} + if len(app.Ports) > 0 { + data.Ports = "Available application ports: " + formatPorts(app.Ports) + } -func generateReadme(basePath *paths.Path, app app.AppDescriptor) error { - readmeTmpl := template.Must(template.ParseFS(fsApp, path.Join(templateRoot, "README.md.template"))) - data := struct { - Title string - Icon string - Description string - Ports string - }{ - Title: app.Name, - Icon: app.Icon, - Description: app.Description, + outputPath := basePath.Join("README.md") + file, err := os.Create(outputPath.String()) + if err != nil { + return fmt.Errorf("failed to create file %s: %w", outputPath.String(), err) + } + defer file.Close() + + return readmeTmpl.Execute(file, data) + } + + copyRootFiles := func() error { + fileList, err := fsApp.ReadDir(templateRoot) + if err != nil { + return fmt.Errorf("read template directory: %w", err) + } + for _, filePath := range fileList { + if filePath.IsDir() { + continue + } + if path.Ext(filePath.Name()) == ".template" { + continue + } + + srcPath := path.Join(templateRoot, filePath.Name()) + destPath := basePath.Join(filePath.Name()) + + if err := func() error { + srcFile, err := fsApp.Open(srcPath) + if err != nil { + return err + } + defer srcFile.Close() + + destFile, err := destPath.Create() + if err != nil { + return fmt.Errorf("create %q file: %w", destPath, err) + } + defer destFile.Close() + + _, err = io.Copy(destFile, srcFile) + return err + }(); err != nil { + return fmt.Errorf("copy file %s: %w", filePath.Name(), err) + } + } + return nil } - if len(app.Ports) > 0 { - data.Ports = "Available application ports: " + formatPorts(app.Ports) + if err := copyRootFiles(); err != nil { + slog.Warn("error copying root files for app %q: %w", appDesc.Name, err) + } + if err := generateReadme(basePath, appDesc); err != nil { + slog.Warn("error generating readme for app %q: %w", appDesc.Name, err) } - outputPath := basePath.Join("README.md") - file, err := os.Create(outputPath.String()) - if err != nil { - return fmt.Errorf("failed to create file %s: %w", outputPath.String(), err) + if err := generateAppYaml(basePath, appDesc); err != nil { + return fmt.Errorf("generate app.yaml: %w", err) } - defer file.Close() - return readmeTmpl.Execute(file, data) + return nil } func generatePython(basePath *paths.Path) error { diff --git a/internal/orchestrator/app/generator/app_template/.gitignore b/internal/orchestrator/app/generator/app_template/.gitignore new file mode 100644 index 00000000..90ae0403 --- /dev/null +++ b/internal/orchestrator/app/generator/app_template/.gitignore @@ -0,0 +1,2 @@ +# ignore app cache folder +.cache/ diff --git a/internal/orchestrator/app/generator/app_template/sketch/sketch.ino b/internal/orchestrator/app/generator/app_template/sketch/sketch.ino index 612c51b8..95c2b6eb 100644 --- a/internal/orchestrator/app/generator/app_template/sketch/sketch.ino +++ b/internal/orchestrator/app/generator/app_template/sketch/sketch.ino @@ -1,3 +1,9 @@ -void setup() {} +void setup() { + // put your setup code here, to run once: -void loop() {} \ No newline at end of file +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/internal/orchestrator/app/generator/testdata/app-all.golden/.gitignore b/internal/orchestrator/app/generator/testdata/app-all.golden/.gitignore new file mode 100644 index 00000000..90ae0403 --- /dev/null +++ b/internal/orchestrator/app/generator/testdata/app-all.golden/.gitignore @@ -0,0 +1,2 @@ +# ignore app cache folder +.cache/ diff --git a/internal/orchestrator/app/generator/testdata/app-all.golden/sketch/sketch.ino b/internal/orchestrator/app/generator/testdata/app-all.golden/sketch/sketch.ino index 612c51b8..95c2b6eb 100644 --- a/internal/orchestrator/app/generator/testdata/app-all.golden/sketch/sketch.ino +++ b/internal/orchestrator/app/generator/testdata/app-all.golden/sketch/sketch.ino @@ -1,3 +1,9 @@ -void setup() {} +void setup() { + // put your setup code here, to run once: -void loop() {} \ No newline at end of file +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/internal/orchestrator/app/generator/testdata/app-no-python.golden/.gitignore b/internal/orchestrator/app/generator/testdata/app-no-python.golden/.gitignore new file mode 100644 index 00000000..90ae0403 --- /dev/null +++ b/internal/orchestrator/app/generator/testdata/app-no-python.golden/.gitignore @@ -0,0 +1,2 @@ +# ignore app cache folder +.cache/ diff --git a/internal/orchestrator/app/generator/testdata/app-no-python.golden/sketch/sketch.ino b/internal/orchestrator/app/generator/testdata/app-no-python.golden/sketch/sketch.ino index 612c51b8..95c2b6eb 100644 --- a/internal/orchestrator/app/generator/testdata/app-no-python.golden/sketch/sketch.ino +++ b/internal/orchestrator/app/generator/testdata/app-no-python.golden/sketch/sketch.ino @@ -1,3 +1,9 @@ -void setup() {} +void setup() { + // put your setup code here, to run once: -void loop() {} \ No newline at end of file +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/internal/orchestrator/app/generator/testdata/app-no-sketch.golden/.gitignore b/internal/orchestrator/app/generator/testdata/app-no-sketch.golden/.gitignore new file mode 100644 index 00000000..90ae0403 --- /dev/null +++ b/internal/orchestrator/app/generator/testdata/app-no-sketch.golden/.gitignore @@ -0,0 +1,2 @@ +# ignore app cache folder +.cache/ diff --git a/internal/orchestrator/app/validator.go b/internal/orchestrator/app/validator.go new file mode 100644 index 00000000..fde50548 --- /dev/null +++ b/internal/orchestrator/app/validator.go @@ -0,0 +1,45 @@ +package app + +import ( + "errors" + "fmt" + "log/slog" + + "github.com/arduino/arduino-app-cli/internal/orchestrator/bricksindex" +) + +// ValidateBricks checks that all bricks referenced in the given AppDescriptor exist in the provided BricksIndex, +// It collects and returns all validation errors as a single joined error, allowing the caller to see all issues at once rather than stopping at the first error. +func ValidateBricks(a AppDescriptor, index *bricksindex.BricksIndex) error { + if index == nil { + return fmt.Errorf("bricks index cannot be nil") + } + + var allErrors error + + for _, appBrick := range a.Bricks { + indexBrick, found := index.FindBrickByID(appBrick.ID) + if !found { + allErrors = errors.Join(allErrors, fmt.Errorf("brick %q not found", appBrick.ID)) + continue // Skip further validation for this brick since it doesn't exist + } + + for appBrickVariableName := range appBrick.Variables { + _, exist := indexBrick.GetVariable(appBrickVariableName) + if !exist { + // TODO: we should return warnings + slog.Warn("[skip] variable does not exist into the brick definition", "variable", appBrickVariableName, "brick", indexBrick.ID) + } + } + + // Check that all required brick variables are provided by app + for _, indexBrickVariable := range indexBrick.Variables { + if indexBrickVariable.IsRequired() { + if _, exist := appBrick.Variables[indexBrickVariable.Name]; !exist { + allErrors = errors.Join(allErrors, fmt.Errorf("variable %q is required by brick %q", indexBrickVariable.Name, indexBrick.ID)) + } + } + } + } + return allErrors +} diff --git a/internal/orchestrator/app/validator_test.go b/internal/orchestrator/app/validator_test.go new file mode 100644 index 00000000..13e3e9d3 --- /dev/null +++ b/internal/orchestrator/app/validator_test.go @@ -0,0 +1,163 @@ +package app + +import ( + "errors" + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/arduino/go-paths-helper" + + "github.com/arduino/arduino-app-cli/internal/orchestrator/bricksindex" +) + +func TestValidateAppDescriptorBricks(t *testing.T) { + bricksIndex := &bricksindex.BricksIndex{ + Bricks: []bricksindex.Brick{ + { + ID: "arduino:arduino_cloud", + Name: "Arduino Cloud", + Description: "Connects to Arduino Cloud", + Variables: []bricksindex.BrickVariable{ + { + Name: "ARDUINO_DEVICE_ID", + Description: "Arduino Cloud Device ID", + DefaultValue: "", // Required (no default value) + }, + { + Name: "ARDUINO_SECRET", + Description: "Arduino Cloud Secret", + DefaultValue: "", // Required (no default value) + }, + }, + }, + }, + } + + testCases := []struct { + name string + yamlContent string + expectedError error + }{ + { + name: "valid with all required filled", + yamlContent: ` +name: App ok +description: App ok +bricks: + - arduino:arduino_cloud: + variables: + ARDUINO_DEVICE_ID: "my-device-id" + ARDUINO_SECRET: "my-secret" +`, + expectedError: nil, + }, + { + name: "valid with missing bricks", + yamlContent: ` +name: App with no bricks +description: App with no bricks description +`, + expectedError: nil, + }, + { + name: "valid with empty list of bricks", + yamlContent: ` +name: App with empty bricks +description: App with empty bricks + +bricks: [] +`, + expectedError: nil, + }, + { + name: "valid if required variable is empty string", + yamlContent: ` +name: App with an empty variable +description: App with an empty variable +bricks: + - arduino:arduino_cloud: + variables: + ARDUINO_DEVICE_ID: "my-device-id" + ARDUINO_SECRET: +`, + expectedError: nil, + }, + { + name: "invalid if required variable is omitted", + yamlContent: ` +name: App with no required variables +description: App with no required variables +bricks: + - arduino:arduino_cloud +`, + expectedError: errors.Join( + errors.New("variable \"ARDUINO_DEVICE_ID\" is required by brick \"arduino:arduino_cloud\""), + errors.New("variable \"ARDUINO_SECRET\" is required by brick \"arduino:arduino_cloud\""), + ), + }, + { + name: "invalid if a required variable among two is omitted", + yamlContent: ` +name: App only one required variable filled +description: App only one required variable filled +bricks: + - arduino:arduino_cloud: + variables: + ARDUINO_DEVICE_ID: "my-device-id" +`, + expectedError: errors.New("variable \"ARDUINO_SECRET\" is required by brick \"arduino:arduino_cloud\""), + }, + { + name: "invalid if brick id not found", + yamlContent: ` +name: App no existing brick +description: App no existing brick +bricks: + - arduino:not_existing_brick: + variables: + ARDUINO_DEVICE_ID: "my-device-id" + ARDUINO_SECRET: "LAKDJ" +`, + expectedError: errors.New("brick \"arduino:not_existing_brick\" not found"), + }, + { + name: "log a warning if variable does not exist in the brick", + yamlContent: ` +name: App with non existing variable +description: App with non existing variable +bricks: + - arduino:arduino_cloud: + variables: + NOT_EXISTING_VARIABLE: "this-is-a-not-existing-variable-for-the-brick" + ARDUINO_DEVICE_ID: "my-device-id" + ARDUINO_SECRET: "my-secret" +`, + expectedError: nil, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + tempDir := t.TempDir() + err := paths.New(tempDir).MkdirAll() + require.NoError(t, err) + appYaml := paths.New(tempDir, "app.yaml") + err = os.WriteFile(appYaml.String(), []byte(tc.yamlContent), 0600) + require.NoError(t, err) + + appDescriptor, err := ParseDescriptorFile(appYaml) + require.NoError(t, err) + + err = ValidateBricks(appDescriptor, bricksIndex) + if tc.expectedError == nil { + assert.NoError(t, err, "Expected no validation errors") + } else { + require.Error(t, err, "Expected validation error") + assert.Equal(t, tc.expectedError.Error(), err.Error(), "Error message should match") + } + }) + } +} diff --git a/internal/orchestrator/bricks/bricks.go b/internal/orchestrator/bricks/bricks.go index 20dd9948..691249d0 100644 --- a/internal/orchestrator/bricks/bricks.go +++ b/internal/orchestrator/bricks/bricks.go @@ -19,7 +19,6 @@ import ( "errors" "fmt" "log/slog" - "maps" "slices" "github.com/arduino/go-paths-helper" @@ -80,15 +79,20 @@ func (s *Service) AppBrickInstancesList(a *app.ArduinoApp) (AppBrickInstancesRes if !found { return AppBrickInstancesResult{}, fmt.Errorf("brick not found with id %s", brickInstance.ID) } + + variablesMap, configVariables := getBrickConfigDetails(brick, brickInstance.Variables) + res.BrickInstances[i] = BrickInstance{ - ID: brick.ID, - Name: brick.Name, - Author: "Arduino", // TODO: for now we only support our bricks - Category: brick.Category, - Status: "installed", - ModelID: brickInstance.Model, // TODO: in case is not set by the user, should we return the default model? - Variables: brickInstance.Variables, // TODO: do we want to show also the default value of not explicitly set variables? + ID: brick.ID, + Name: brick.Name, + Author: "Arduino", // TODO: for now we only support our bricks + Category: brick.Category, + Status: "installed", + ModelID: brickInstance.Model, // TODO: in case is not set by the user, should we return the default model? + Variables: variablesMap, // TODO: do we want to show also the default value of not explicitly set variables? + ConfigVariables: configVariables, } + } return res, nil } @@ -104,12 +108,7 @@ func (s *Service) AppBrickInstanceDetails(a *app.ArduinoApp, brickID string) (Br return BrickInstance{}, fmt.Errorf("brick %s not added in the app", brickID) } - variables := make(map[string]string, len(brick.Variables)) - for _, v := range brick.Variables { - variables[v.Name] = v.DefaultValue - } - // Add/Update the variables with the ones from the app descriptor - maps.Copy(variables, a.Descriptor.Bricks[brickIndex].Variables) + variables, configVariables := getBrickConfigDetails(brick, a.Descriptor.Bricks[brickIndex].Variables) modelID := a.Descriptor.Bricks[brickIndex].Model if modelID == "" { @@ -117,16 +116,43 @@ func (s *Service) AppBrickInstanceDetails(a *app.ArduinoApp, brickID string) (Br } return BrickInstance{ - ID: brickID, - Name: brick.Name, - Author: "Arduino", // TODO: for now we only support our bricks - Category: brick.Category, - Status: "installed", // For now every Arduino brick are installed - Variables: variables, - ModelID: modelID, + ID: brickID, + Name: brick.Name, + Author: "Arduino", // TODO: for now we only support our bricks + Category: brick.Category, + Status: "installed", // For now every Arduino brick are installed + Variables: variables, + ConfigVariables: configVariables, + ModelID: modelID, }, nil } +func getBrickConfigDetails( + brick *bricksindex.Brick, userVariables map[string]string, +) (map[string]string, []BrickConfigVariable) { + variablesMap := make(map[string]string, len(brick.Variables)) + variableDetails := make([]BrickConfigVariable, 0, len(brick.Variables)) + + for _, v := range brick.Variables { + finalValue := v.DefaultValue + + userValue, ok := userVariables[v.Name] + if ok { + finalValue = userValue + } + variablesMap[v.Name] = finalValue + + variableDetails = append(variableDetails, BrickConfigVariable{ + Name: v.Name, + Value: finalValue, + Description: v.Description, + Required: v.IsRequired(), + }) + } + + return variablesMap, variableDetails +} + func (s *Service) BricksDetails(id string, idProvider *app.IDProvider, cfg config.Configuration) (BrickDetailsResult, error) { brick, found := s.bricksIndex.FindBrickByID(id) @@ -256,15 +282,15 @@ func (s *Service) BrickCreate( if !exist { return fmt.Errorf("variable %q does not exist on brick %q", name, brick.ID) } - if value.DefaultValue == "" && reqValue == "" { - return fmt.Errorf("variable %q cannot be empty", name) + if value.IsRequired() && reqValue == "" { + return fmt.Errorf("required variable %q cannot be empty", name) } } for _, brickVar := range brick.Variables { - if brickVar.DefaultValue == "" { + if brickVar.IsRequired() { if _, exist := req.Variables[brickVar.Name]; !exist { - return fmt.Errorf("required variable %q is mandatory", brickVar.Name) + slog.Warn("[Skip] a required variable is not set by user", "variable", brickVar.Name, "brick", brickVar.Name) } } } @@ -309,16 +335,21 @@ func (s *Service) BrickUpdate( req BrickCreateUpdateRequest, appCurrent app.ArduinoApp, ) error { - index := slices.IndexFunc(appCurrent.Descriptor.Bricks, func(b app.Brick) bool { return b.ID == req.ID }) - if index == -1 { - return fmt.Errorf("brick not found with id %s", req.ID) + brickFromIndex, present := s.bricksIndex.FindBrickByID(req.ID) + if !present { + return fmt.Errorf("brick %q not found into the brick index", req.ID) } - brickID := appCurrent.Descriptor.Bricks[index].ID - brickVariables := appCurrent.Descriptor.Bricks[index].Variables + + brickPosition := slices.IndexFunc(appCurrent.Descriptor.Bricks, func(b app.Brick) bool { return b.ID == req.ID }) + if brickPosition == -1 { + return fmt.Errorf("brick %q not found into the bricks of the app", req.ID) + } + + brickVariables := appCurrent.Descriptor.Bricks[brickPosition].Variables if len(brickVariables) == 0 { brickVariables = make(map[string]string) } - brickModel := appCurrent.Descriptor.Bricks[index].Model + brickModel := appCurrent.Descriptor.Bricks[brickPosition].Model if req.Model != nil && *req.Model != brickModel { models := s.modelsIndex.GetModelsByBrick(req.ID) @@ -328,17 +359,14 @@ func (s *Service) BrickUpdate( } brickModel = *req.Model } - brick, present := s.bricksIndex.FindBrickByID(brickID) - if !present { - return fmt.Errorf("brick not found with id %s", brickID) - } + for name, updateValue := range req.Variables { - value, exist := brick.GetVariable(name) + value, exist := brickFromIndex.GetVariable(name) if !exist { - return errors.New("variable does not exist") + return fmt.Errorf("variable %q does not exist on brick %q", name, brickFromIndex.ID) } - if value.DefaultValue == "" && updateValue == "" { - return errors.New("variable default value cannot be empty") + if value.IsRequired() && updateValue == "" { + return fmt.Errorf("required variable %q cannot be empty", name) } updated := false for _, v := range brickVariables { @@ -348,14 +376,13 @@ func (s *Service) BrickUpdate( break } } - if !updated { brickVariables[name] = updateValue } } - appCurrent.Descriptor.Bricks[index].Model = brickModel - appCurrent.Descriptor.Bricks[index].Variables = brickVariables + appCurrent.Descriptor.Bricks[brickPosition].Model = brickModel + appCurrent.Descriptor.Bricks[brickPosition].Variables = brickVariables err := appCurrent.Save() if err != nil { diff --git a/internal/orchestrator/bricks/bricks_test.go b/internal/orchestrator/bricks/bricks_test.go index b5a93173..c14cebfd 100644 --- a/internal/orchestrator/bricks/bricks_test.go +++ b/internal/orchestrator/bricks/bricks_test.go @@ -53,16 +53,27 @@ func TestBrickCreate(t *testing.T) { }} err = brickService.BrickCreate(req, f.Must(app.Load("testdata/dummy-app"))) require.Error(t, err) - require.Equal(t, "variable \"ARDUINO_DEVICE_ID\" cannot be empty", err.Error()) + require.Equal(t, "required variable \"ARDUINO_DEVICE_ID\" cannot be empty", err.Error()) }) - t.Run("fails if a mandatory variable is not present in the request", func(t *testing.T) { + t.Run("do not fail if a mandatory variable is not present", func(t *testing.T) { + tempDummyApp := paths.New("testdata/dummy-app.temp") + err := tempDummyApp.RemoveAll() + require.Nil(t, err) + require.Nil(t, paths.New("testdata/dummy-app").CopyDirTo(tempDummyApp)) + req := BrickCreateUpdateRequest{ID: "arduino:arduino_cloud", Variables: map[string]string{ "ARDUINO_SECRET": "a-secret-a", }} - err = brickService.BrickCreate(req, f.Must(app.Load("testdata/dummy-app"))) - require.Error(t, err) - require.Equal(t, "required variable \"ARDUINO_DEVICE_ID\" is mandatory", err.Error()) + err = brickService.BrickCreate(req, f.Must(app.Load(tempDummyApp.String()))) + require.NoError(t, err) + + after, err := app.Load(tempDummyApp.String()) + require.Nil(t, err) + require.Len(t, after.Descriptor.Bricks, 1) + require.Equal(t, "arduino:arduino_cloud", after.Descriptor.Bricks[0].ID) + require.Equal(t, "", after.Descriptor.Bricks[0].Variables["ARDUINO_DEVICE_ID"]) + require.Equal(t, "a-secret-a", after.Descriptor.Bricks[0].Variables["ARDUINO_SECRET"]) }) t.Run("the brick is added if it does not exist in the app", func(t *testing.T) { @@ -79,6 +90,7 @@ func TestBrickCreate(t *testing.T) { require.Len(t, after.Descriptor.Bricks, 2) require.Equal(t, "arduino:dbstorage_sqlstore", after.Descriptor.Bricks[1].ID) }) + t.Run("the variables of a brick are updated", func(t *testing.T) { tempDummyApp := paths.New("testdata/dummy-app.brick-override.temp") err := tempDummyApp.RemoveAll() @@ -110,3 +122,199 @@ func TestBrickCreate(t *testing.T) { require.Equal(t, secret, after.Descriptor.Bricks[0].Variables["ARDUINO_SECRET"]) }) } + +func TestUpdateBrick(t *testing.T) { + bricksIndex, err := bricksindex.GenerateBricksIndexFromFile(paths.New("testdata")) + require.Nil(t, err) + brickService := NewService(nil, bricksIndex, nil) + + t.Run("fails if brick id does not exist into brick index", func(t *testing.T) { + err = brickService.BrickUpdate(BrickCreateUpdateRequest{ID: "not-existing-id"}, f.Must(app.Load("testdata/dummy-app"))) + require.Error(t, err) + require.Equal(t, "brick \"not-existing-id\" not found into the brick index", err.Error()) + }) + + t.Run("fails if brick is present into the index but not in the app ", func(t *testing.T) { + err = brickService.BrickUpdate(BrickCreateUpdateRequest{ID: "arduino:dbstorage_sqlstore"}, f.Must(app.Load("testdata/dummy-app"))) + require.Error(t, err) + require.Equal(t, "brick \"arduino:dbstorage_sqlstore\" not found into the bricks of the app", err.Error()) + }) + + t.Run("fails if the updated variable is not present in the brick definition", func(t *testing.T) { + req := BrickCreateUpdateRequest{ID: "arduino:arduino_cloud", Variables: map[string]string{ + "NON_EXISTING_VARIABLE": "some-value", + }} + err = brickService.BrickUpdate(req, f.Must(app.Load("testdata/dummy-app"))) + require.Error(t, err) + require.Equal(t, "variable \"NON_EXISTING_VARIABLE\" does not exist on brick \"arduino:arduino_cloud\"", err.Error()) + }) + + // TODO: allow to set an empty "" variable + t.Run("fails if a required variable is set empty", func(t *testing.T) { + req := BrickCreateUpdateRequest{ID: "arduino:arduino_cloud", Variables: map[string]string{ + "ARDUINO_DEVICE_ID": "", + "ARDUINO_SECRET": "a-secret-a", + }} + err = brickService.BrickUpdate(req, f.Must(app.Load("testdata/dummy-app"))) + require.Error(t, err) + require.Equal(t, "required variable \"ARDUINO_DEVICE_ID\" cannot be empty", err.Error()) + }) + + t.Run("allow updating only one mandatory variable among two", func(t *testing.T) { + tempDummyApp := paths.New("testdata/dummy-app.temp") + err := tempDummyApp.RemoveAll() + require.Nil(t, err) + require.Nil(t, paths.New("testdata/dummy-app").CopyDirTo(tempDummyApp)) + + req := BrickCreateUpdateRequest{ID: "arduino:arduino_cloud", Variables: map[string]string{ + "ARDUINO_SECRET": "a-secret-a", + }} + err = brickService.BrickUpdate(req, f.Must(app.Load(tempDummyApp.String()))) + require.NoError(t, err) + + after, err := app.Load(tempDummyApp.String()) + require.Nil(t, err) + require.Len(t, after.Descriptor.Bricks, 1) + require.Equal(t, "arduino:arduino_cloud", after.Descriptor.Bricks[0].ID) + require.Equal(t, "", after.Descriptor.Bricks[0].Variables["ARDUINO_DEVICE_ID"]) + require.Equal(t, "a-secret-a", after.Descriptor.Bricks[0].Variables["ARDUINO_SECRET"]) + }) + + t.Run("update a single variables of a brick correctly", func(t *testing.T) { + tempDummyApp := paths.New("testdata/dummy-app.temp") + require.Nil(t, tempDummyApp.RemoveAll()) + require.Nil(t, paths.New("testdata/dummy-app").CopyDirTo(tempDummyApp)) + bricksIndex, err := bricksindex.GenerateBricksIndexFromFile(paths.New("testdata")) + require.Nil(t, err) + brickService := NewService(nil, bricksIndex, nil) + + deviceID := "updated-device-id" + secret := "updated-secret" + req := BrickCreateUpdateRequest{ + ID: "arduino:arduino_cloud", + Variables: map[string]string{ + "ARDUINO_DEVICE_ID": deviceID, + "ARDUINO_SECRET": secret, + }, + } + + err = brickService.BrickUpdate(req, f.Must(app.Load(tempDummyApp.String()))) + require.Nil(t, err) + + after, err := app.Load(tempDummyApp.String()) + require.Nil(t, err) + require.Len(t, after.Descriptor.Bricks, 1) + require.Equal(t, "arduino:arduino_cloud", after.Descriptor.Bricks[0].ID) + require.Equal(t, deviceID, after.Descriptor.Bricks[0].Variables["ARDUINO_DEVICE_ID"]) + require.Equal(t, secret, after.Descriptor.Bricks[0].Variables["ARDUINO_SECRET"]) + }) + + t.Run("update a single variable correctly", func(t *testing.T) { + tempDummyApp := paths.New("testdata/dummy-app-for-update.temp") + require.Nil(t, tempDummyApp.RemoveAll()) + require.Nil(t, paths.New("testdata/dummy-app-for-update").CopyDirTo(tempDummyApp)) + bricksIndex, err := bricksindex.GenerateBricksIndexFromFile(paths.New("testdata")) + require.Nil(t, err) + brickService := NewService(nil, bricksIndex, nil) + + secret := "updated-the-secret" + req := BrickCreateUpdateRequest{ + ID: "arduino:arduino_cloud", + Variables: map[string]string{ + // the ARDUINO_DEVICE_ID is already configured int the app.yaml + "ARDUINO_SECRET": secret, + }, + } + + err = brickService.BrickUpdate(req, f.Must(app.Load(tempDummyApp.String()))) + require.Nil(t, err) + + after, err := app.Load(tempDummyApp.String()) + require.Nil(t, err) + require.Len(t, after.Descriptor.Bricks, 1) + require.Equal(t, "arduino:arduino_cloud", after.Descriptor.Bricks[0].ID) + require.Equal(t, "i-am-a-device-id", after.Descriptor.Bricks[0].Variables["ARDUINO_DEVICE_ID"]) + require.Equal(t, secret, after.Descriptor.Bricks[0].Variables["ARDUINO_SECRET"]) + }) + +} + +func TestGetBrickInstanceVariableDetails(t *testing.T) { + tests := []struct { + name string + brick *bricksindex.Brick + userVariables map[string]string + expectedConfigVariables []BrickConfigVariable + expectedVariableMap map[string]string + }{ + { + name: "variable is present in the map", + brick: &bricksindex.Brick{ + Variables: []bricksindex.BrickVariable{ + {Name: "VAR1", Description: "desc"}, + }, + }, + userVariables: map[string]string{"VAR1": "value1"}, + expectedConfigVariables: []BrickConfigVariable{ + {Name: "VAR1", Value: "value1", Description: "desc", Required: true}, + }, + expectedVariableMap: map[string]string{"VAR1": "value1"}, + }, + { + name: "variable not present in the map", + brick: &bricksindex.Brick{ + Variables: []bricksindex.BrickVariable{ + {Name: "VAR1", Description: "desc"}, + }, + }, + userVariables: map[string]string{}, + expectedConfigVariables: []BrickConfigVariable{ + {Name: "VAR1", Value: "", Description: "desc", Required: true}, + }, + expectedVariableMap: map[string]string{"VAR1": ""}, + }, + { + name: "variable with default value", + brick: &bricksindex.Brick{ + Variables: []bricksindex.BrickVariable{ + {Name: "VAR1", DefaultValue: "default", Description: "desc"}, + }, + }, + userVariables: map[string]string{}, + expectedConfigVariables: []BrickConfigVariable{ + {Name: "VAR1", Value: "default", Description: "desc", Required: false}, + }, + expectedVariableMap: map[string]string{"VAR1": "default"}, + }, + { + name: "multiple variables", + brick: &bricksindex.Brick{ + Variables: []bricksindex.BrickVariable{ + {Name: "VAR1", Description: "desc1"}, + {Name: "VAR2", DefaultValue: "def2", Description: "desc2"}, + }, + }, + userVariables: map[string]string{"VAR1": "v1"}, + expectedConfigVariables: []BrickConfigVariable{ + {Name: "VAR1", Value: "v1", Description: "desc1", Required: true}, + {Name: "VAR2", Value: "def2", Description: "desc2", Required: false}, + }, + expectedVariableMap: map[string]string{"VAR1": "v1", "VAR2": "def2"}, + }, + { + name: "no variables", + brick: &bricksindex.Brick{Variables: []bricksindex.BrickVariable{}}, + userVariables: map[string]string{}, + expectedConfigVariables: []BrickConfigVariable{}, + expectedVariableMap: map[string]string{}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + actualVariableMap, actualConfigVariables := getBrickConfigDetails(tt.brick, tt.userVariables) + require.Equal(t, tt.expectedVariableMap, actualVariableMap) + require.Equal(t, tt.expectedConfigVariables, actualConfigVariables) + }) + } +} diff --git a/internal/orchestrator/bricks/testdata/dummy-app-for-update/app.yaml b/internal/orchestrator/bricks/testdata/dummy-app-for-update/app.yaml new file mode 100644 index 00000000..5b168ed5 --- /dev/null +++ b/internal/orchestrator/bricks/testdata/dummy-app-for-update/app.yaml @@ -0,0 +1,6 @@ +name: An app with only a required variable filled +description: An app with only a required variable filled +bricks: + - arduino:arduino_cloud: + variables: + ARDUINO_DEVICE_ID: "i-am-a-device-id" \ No newline at end of file diff --git a/internal/orchestrator/bricks/testdata/dummy-app-for-update/python/main.py b/internal/orchestrator/bricks/testdata/dummy-app-for-update/python/main.py new file mode 100644 index 00000000..336e825c --- /dev/null +++ b/internal/orchestrator/bricks/testdata/dummy-app-for-update/python/main.py @@ -0,0 +1,2 @@ +def main(): + pass diff --git a/internal/orchestrator/bricks/types.go b/internal/orchestrator/bricks/types.go index ae803745..868c563a 100644 --- a/internal/orchestrator/bricks/types.go +++ b/internal/orchestrator/bricks/types.go @@ -34,13 +34,21 @@ type AppBrickInstancesResult struct { } type BrickInstance struct { - ID string `json:"id"` - Name string `json:"name"` - Author string `json:"author"` - Category string `json:"category"` - Status string `json:"status"` - Variables map[string]string `json:"variables,omitempty"` - ModelID string `json:"model,omitempty"` + ID string `json:"id"` + Name string `json:"name"` + Author string `json:"author"` + Category string `json:"category"` + Status string `json:"status"` + Variables map[string]string `json:"variables,omitempty" description:"Deprecated: use config_variables instead. This field is kept for backward compatibility."` + ConfigVariables []BrickConfigVariable `json:"config_variables,omitempty"` + ModelID string `json:"model,omitempty"` +} + +type BrickConfigVariable struct { + Name string `json:"name"` + Value string `json:"value"` + Description string `json:"description"` + Required bool `json:"required"` } type BrickVariable struct { diff --git a/internal/orchestrator/cache.go b/internal/orchestrator/cache.go new file mode 100644 index 00000000..b4134ff6 --- /dev/null +++ b/internal/orchestrator/cache.go @@ -0,0 +1,41 @@ +package orchestrator + +import ( + "context" + "errors" + + "github.com/docker/cli/cli/command" + + "github.com/arduino/arduino-app-cli/internal/orchestrator/app" +) + +type CleanAppCacheRequest struct { + ForceClean bool +} + +var ErrCleanCacheRunningApp = errors.New("cannot remove cache of a running app") + +// CleanAppCache removes the `.cache` folder. If it detects that the app is running +// it tries to stop it first. +func CleanAppCache( + ctx context.Context, + docker command.Cli, + app app.ArduinoApp, + req CleanAppCacheRequest, +) error { + runningApp, err := getRunningApp(ctx, docker.Client()) + if err != nil { + return err + } + if runningApp != nil && runningApp.FullPath.EqualsTo(app.FullPath) { + if !req.ForceClean { + return ErrCleanCacheRunningApp + } + // We try to remove docker related resources at best effort + for range StopAndDestroyApp(ctx, docker, app) { + // just consume the iterator + } + } + + return app.ProvisioningStateDir().RemoveAll() +} diff --git a/internal/orchestrator/orchestrator.go b/internal/orchestrator/orchestrator.go index 884515be..8eedff6f 100644 --- a/internal/orchestrator/orchestrator.go +++ b/internal/orchestrator/orchestrator.go @@ -114,7 +114,7 @@ func StartApp( provisioner *Provision, modelsIndex *modelsindex.ModelsIndex, bricksIndex *bricksindex.BricksIndex, - app app.ArduinoApp, + appToStart app.ArduinoApp, cfg config.Configuration, staticStore *store.StaticStore, ) iter.Seq[StreamMessage] { @@ -122,6 +122,12 @@ func StartApp( ctx, cancel := context.WithCancel(ctx) defer cancel() + err := app.ValidateBricks(appToStart.Descriptor, bricksIndex) + if err != nil { + yield(StreamMessage{error: err}) + return + } + running, err := getRunningApp(ctx, docker.Client()) if err != nil { yield(StreamMessage{error: err}) @@ -131,7 +137,7 @@ func StartApp( yield(StreamMessage{error: fmt.Errorf("app %q is running", running.Name)}) return } - if !yield(StreamMessage{data: fmt.Sprintf("Starting app %q", app.Name)}) { + if !yield(StreamMessage{data: fmt.Sprintf("Starting app %q", appToStart.Name)}) { return } @@ -148,11 +154,11 @@ func StartApp( if !yield(StreamMessage{progress: &Progress{Name: "preparing", Progress: 0.0}}) { return } - if app.MainSketchPath != nil { + if appToStart.MainSketchPath != nil { if !yield(StreamMessage{progress: &Progress{Name: "sketch compiling and uploading", Progress: 0.0}}) { return } - if err := compileUploadSketch(ctx, &app, sketchCallbackWriter); err != nil { + if err := compileUploadSketch(ctx, &appToStart, sketchCallbackWriter); err != nil { yield(StreamMessage{error: err}) return } @@ -161,15 +167,15 @@ func StartApp( } } - if app.MainPythonFile != nil { - envs := getAppEnvironmentVariables(app, bricksIndex, modelsIndex) + if appToStart.MainPythonFile != nil { + envs := getAppEnvironmentVariables(appToStart, bricksIndex, modelsIndex) if !yield(StreamMessage{data: "python provisioning"}) { cancel() return } provisionStartProgress := float32(0.0) - if app.MainSketchPath != nil { + if appToStart.MainSketchPath != nil { provisionStartProgress = 10.0 } @@ -177,7 +183,7 @@ func StartApp( return } - if err := provisioner.App(ctx, bricksIndex, &app, cfg, envs, staticStore); err != nil { + if err := provisioner.App(ctx, bricksIndex, &appToStart, cfg, envs, staticStore); err != nil { yield(StreamMessage{error: err}) return } @@ -188,10 +194,10 @@ func StartApp( } // Launch the docker compose command to start the app - overrideComposeFile := app.AppComposeOverrideFilePath() + overrideComposeFile := appToStart.AppComposeOverrideFilePath() commands := []string{} - commands = append(commands, "docker", "compose", "-f", app.AppComposeFilePath().String()) + commands = append(commands, "docker", "compose", "-f", appToStart.AppComposeFilePath().String()) if ok, _ := overrideComposeFile.ExistCheck(); ok { commands = append(commands, "-f", overrideComposeFile.String()) } @@ -377,11 +383,21 @@ func getVideoDevices() map[int]string { return deviceMap } -func stopAppWithCmd(ctx context.Context, app app.ArduinoApp, cmd string) iter.Seq[StreamMessage] { +func stopAppWithCmd(ctx context.Context, docker command.Cli, app app.ArduinoApp, cmd string) iter.Seq[StreamMessage] { return func(yield func(StreamMessage) bool) { ctx, cancel := context.WithCancel(ctx) defer cancel() + appStatus, err := getAppStatus(ctx, docker, app) + if err != nil { + yield(StreamMessage{error: err}) + return + } + if appStatus.Status != StatusStarting && appStatus.Status != StatusRunning { + yield(StreamMessage{data: fmt.Sprintf("app %q is not running", app.Name)}) + return + } + if !yield(StreamMessage{data: fmt.Sprintf("Stopping app %q", app.Name)}) { return } @@ -395,6 +411,7 @@ func stopAppWithCmd(ctx context.Context, app app.ArduinoApp, cmd string) iter.Se return } }) + if app.MainSketchPath != nil { // TODO: check that the app sketch is running before attempting to stop it. @@ -425,12 +442,12 @@ func stopAppWithCmd(ctx context.Context, app app.ArduinoApp, cmd string) iter.Se } } -func StopApp(ctx context.Context, app app.ArduinoApp) iter.Seq[StreamMessage] { - return stopAppWithCmd(ctx, app, "stop") +func StopApp(ctx context.Context, dockerClient command.Cli, app app.ArduinoApp) iter.Seq[StreamMessage] { + return stopAppWithCmd(ctx, dockerClient, app, "stop") } -func StopAndDestroyApp(ctx context.Context, app app.ArduinoApp) iter.Seq[StreamMessage] { - return stopAppWithCmd(ctx, app, "down") +func StopAndDestroyApp(ctx context.Context, dockerClient command.Cli, app app.ArduinoApp) iter.Seq[StreamMessage] { + return stopAppWithCmd(ctx, dockerClient, app, "down") } func RestartApp( @@ -458,7 +475,7 @@ func RestartApp( return } - stopStream := StopApp(ctx, *runningApp) + stopStream := StopApp(ctx, docker, *runningApp) for msg := range stopStream { if !yield(msg) { return @@ -888,12 +905,19 @@ func CloneApp( return CloneAppResponse{ID: id}, nil } -func DeleteApp(ctx context.Context, app app.ArduinoApp) error { - for msg := range StopApp(ctx, app) { - if msg.error != nil { - return fmt.Errorf("failed to stop app: %w", msg.error) +func DeleteApp(ctx context.Context, dockerClient command.Cli, app app.ArduinoApp) error { + + runningApp, err := getRunningApp(ctx, dockerClient.Client()) + if err != nil { + return err + } + if runningApp != nil && runningApp.FullPath.EqualsTo(app.FullPath) { + // We try to remove docker related resources at best effort + for range StopAndDestroyApp(ctx, dockerClient, app) { + // just consume the iterator } } + return app.FullPath.RemoveAll() } @@ -1124,8 +1148,6 @@ func compileUploadSketch( arduinoApp *app.ArduinoApp, w io.Writer, ) error { - const fqbn = "arduino:zephyr:unoq" - logrus.SetLevel(logrus.ErrorLevel) // Reduce the log level of arduino-cli srv := commands.NewArduinoCoreServer() @@ -1147,6 +1169,9 @@ func compileUploadSketch( } sketch := sketchResp.GetSketch() profile := sketch.GetDefaultProfile().GetName() + if profile == "" { + return fmt.Errorf("sketch %q has no default profile", sketchPath) + } initReq := &rpc.InitRequest{ Instance: inst, SketchPath: sketchPath, @@ -1186,18 +1211,13 @@ func compileUploadSketch( // build the sketch server, getCompileResult := commands.CompilerServerToStreams(ctx, w, w, nil) - - // TODO: add build cache compileReq := rpc.CompileRequest{ Instance: inst, - Fqbn: fqbn, + Fqbn: "arduino:zephyr:unoq", SketchPath: sketchPath, BuildPath: buildPath, Jobs: 2, } - if profile == "" { - compileReq.Libraries = []string{sketchPath + "/../../sketch-libraries"} - } err = srv.Compile(&compileReq, server) if err != nil { @@ -1220,12 +1240,67 @@ func compileUploadSketch( slog.Info("Used library " + lib.GetName() + " (" + lib.GetVersion() + ") in " + lib.GetInstallDir()) } + if err := uploadSketchInRam(ctx, w, srv, inst, sketchPath, buildPath); err != nil { + slog.Warn("failed to upload in ram mode, trying to configure the board in ram mode, and retry", slog.String("error", err.Error())) + if err := configureMicroInRamMode(ctx, w, srv, inst); err != nil { + return err + } + return uploadSketchInRam(ctx, w, srv, inst, sketchPath, buildPath) + } + return nil +} + +func uploadSketchInRam(ctx context.Context, + w io.Writer, + srv rpc.ArduinoCoreServiceServer, + inst *rpc.Instance, + sketchPath string, + buildPath string, +) error { stream, _ := commands.UploadToServerStreams(ctx, w, w) - return srv.Upload(&rpc.UploadRequest{ + if err := srv.Upload(&rpc.UploadRequest{ Instance: inst, - Fqbn: fqbn, + Fqbn: "arduino:zephyr:unoq:flash_mode=ram", SketchPath: sketchPath, ImportDir: buildPath, + }, stream); err != nil { + return err + } + return nil +} + +// configureMicroInRamMode uploads an empty binary overing any sketch previously uploaded in flash. +// This is required to be able to upload sketches in ram mode after if there is already a sketch in flash. +func configureMicroInRamMode( + ctx context.Context, + w io.Writer, + srv rpc.ArduinoCoreServiceServer, + inst *rpc.Instance, +) error { + emptyBinDir := paths.New("/tmp/empty") + _ = emptyBinDir.MkdirAll() + defer func() { _ = emptyBinDir.RemoveAll() }() + + zeros, err := os.Open("/dev/zero") + if err != nil { + return err + } + defer zeros.Close() + + empty, err := emptyBinDir.Join("empty.ino.elf-zsk.bin").Create() + if err != nil { + return err + } + defer empty.Close() + if _, err := io.CopyN(empty, zeros, 50); err != nil { + return err + } + + stream, _ := commands.UploadToServerStreams(ctx, w, w) + return srv.Upload(&rpc.UploadRequest{ + Instance: inst, + Fqbn: "arduino:zephyr:unoq:flash_mode=flash", + ImportDir: emptyBinDir.String(), }, stream) } diff --git a/internal/orchestrator/sketch_libs.go b/internal/orchestrator/sketch_libs.go index d28c9ba8..3ef3b7ff 100644 --- a/internal/orchestrator/sketch_libs.go +++ b/internal/orchestrator/sketch_libs.go @@ -17,6 +17,8 @@ package orchestrator import ( "context" + "log/slog" + "time" "github.com/arduino/arduino-cli/commands" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -25,6 +27,8 @@ import ( "github.com/arduino/arduino-app-cli/internal/orchestrator/app" ) +const indexUpdateInterval = 10 * time.Minute + func AddSketchLibrary(ctx context.Context, app app.ArduinoApp, libRef LibraryReleaseID, addDeps bool) ([]LibraryReleaseID, error) { srv := commands.NewArduinoCoreServer() var inst *rpc.Instance @@ -43,6 +47,15 @@ func AddSketchLibrary(ctx context.Context, app app.ArduinoApp, libRef LibraryRel return nil, err } + stream, _ := commands.UpdateLibrariesIndexStreamResponseToCallbackFunction(ctx, func(curr *rpc.DownloadProgress) { + slog.Debug("downloading library index", "progress", curr.GetMessage()) + }) + // update the local library index after a certain time, to avoid if a library is added to the sketch but the local library index is not update, the compile can fail (because the lib is not found) + req := &rpc.UpdateLibrariesIndexRequest{Instance: inst, UpdateIfOlderThanSecs: int64(indexUpdateInterval.Seconds())} + if err := srv.UpdateLibrariesIndex(req, stream); err != nil { + slog.Warn("error updating library index, skipping", slog.String("error", err.Error())) + } + resp, err := srv.ProfileLibAdd(ctx, &rpc.ProfileLibAddRequest{ Instance: inst, SketchPath: app.MainSketchPath.String(), @@ -59,6 +72,7 @@ func AddSketchLibrary(ctx context.Context, app app.ArduinoApp, libRef LibraryRel if err != nil { return nil, err } + return f.Map(resp.GetAddedLibraries(), rpcProfileLibReferenceToLibReleaseID), nil } diff --git a/internal/orchestrator/system.go b/internal/orchestrator/system.go index 341d6c55..4d9f9a60 100644 --- a/internal/orchestrator/system.go +++ b/internal/orchestrator/system.go @@ -235,7 +235,7 @@ func SystemCleanup(ctx context.Context, cfg config.Configuration, staticStore *s feedback.Warnf("failed to get running app - %v", err) } if runningApp != nil { - for item := range StopAndDestroyApp(ctx, *runningApp) { + for item := range StopAndDestroyApp(ctx, docker, *runningApp) { if item.GetType() == ErrorType { feedback.Warnf("failed to stop and destroy running app - %v", item.GetError()) break diff --git a/internal/update/apt/service.go b/internal/update/apt/service.go index f3d3984e..860be68f 100644 --- a/internal/update/apt/service.go +++ b/internal/update/apt/service.go @@ -25,7 +25,6 @@ import ( "regexp" "strings" "sync" - "time" "github.com/arduino/go-paths-helper" "go.bug.st/f" @@ -84,79 +83,55 @@ func (s *Service) UpgradePackages(ctx context.Context, names []string) (<-chan u defer s.lock.Unlock() defer close(eventsCh) - ctx, cancel := context.WithTimeout(ctx, 10*time.Minute) - defer cancel() - - eventsCh <- update.Event{Type: update.StartEvent, Data: "Upgrade is starting"} + eventsCh <- update.NewDataEvent(update.StartEvent, "Upgrade is starting") stream := runUpgradeCommand(ctx, names) for line, err := range stream { if err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error running upgrade command", - } - slog.Error("error processing upgrade command output", "error", err) + eventsCh <- update.NewErrorEvent(fmt.Errorf("error running upgrade command: %w", err)) return } - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: line} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, line) } - eventsCh <- update.Event{Type: update.StartEvent, Data: "apt cleaning cache is starting"} + + eventsCh <- update.NewDataEvent(update.StartEvent, "apt cleaning cache is starting") for line, err := range runAptCleanCommand(ctx) { if err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error running apt clean command", - } - slog.Error("error processing apt clean command output", "error", err) + eventsCh <- update.NewErrorEvent(fmt.Errorf("error running apt clean command: %w", err)) return } - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: line} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, line) } - // TEMPORARY PATCH: stopping and destroying docker containers and images since IDE does not implement it yet. - // TODO: Remove this workaround once IDE implements it. - // Tracking issue: https://github.com/arduino/arduino-app-cli/issues/623 - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: "Stop and destroy docker containers and images ..."} + + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, "Stop and destroy docker containers and images ....") streamCleanup := cleanupDockerContainers(ctx) for line, err := range streamCleanup { if err != nil { // TODO: maybe we should retun an error or a better feedback to the user? // currently, we just log the error and continue considenring not blocking - slog.Error("Error stopping and destroying docker containers", "error", err) + slog.Warn("Error stopping and destroying docker containers", "error", err) + } else { + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, line) } - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: line} } - // TEMPORARY PATCH: Install the latest docker images and show the logs to the users. // TODO: Remove this workaround once docker image versions are no longer hardcoded in arduino-app-cli. // Tracking issue: https://github.com/arduino/arduino-app-cli/issues/600 // Currently, we need to launch `arduino-app-cli system init` to pull the latest docker images because // the version of the docker images are hardcoded in the (new downloaded) version of the arduino-app-cli. - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: "Pulling the latest docker images ..."} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, "Pulling the latest docker images ...") streamDocker := pullDockerImages(ctx) for line, err := range streamDocker { if err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error upgrading docker images", - } - slog.Error("error upgrading docker images", "error", err) + eventsCh <- update.NewErrorEvent(fmt.Errorf("error pulling docker images: %w", err)) return } - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: line} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, line) } - eventsCh <- update.Event{Type: update.RestartEvent, Data: "Upgrade completed. Restarting ..."} + eventsCh <- update.NewDataEvent(update.RestartEvent, "Upgrade completed. Restarting ...") err := restartServices(ctx) if err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error restart services after upgrade", - } - slog.Error("failed to restart services", "error", err) + eventsCh <- update.NewErrorEvent(fmt.Errorf("error restarting services after upgrade: %w", err)) return } }() @@ -312,7 +287,10 @@ func restartServices(ctx context.Context) error { if err != nil { return err } - return needRestartCmd.RunWithinContext(ctx) + if out, err := needRestartCmd.RunAndCaptureCombinedOutput(ctx); err != nil { + return fmt.Errorf("error running needrestart command: %w: %s", err, out) + } + return nil } func listUpgradablePackages(ctx context.Context, matcher func(update.UpgradablePackage) bool) ([]update.UpgradablePackage, error) { diff --git a/internal/update/arduino/arduino.go b/internal/update/arduino/arduino.go index 01076dff..0c4e5d29 100644 --- a/internal/update/arduino/arduino.go +++ b/internal/update/arduino/arduino.go @@ -18,9 +18,9 @@ package arduino import ( "context" "errors" + "fmt" "log/slog" "sync" - "time" "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" @@ -134,42 +134,31 @@ func (a *ArduinoPlatformUpdater) UpgradePackages(ctx context.Context, names []st downloadProgressCB := func(curr *rpc.DownloadProgress) { data := helpers.ArduinoCLIDownloadProgressToString(curr) slog.Debug("Download progress", slog.String("download_progress", data)) - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: data} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, data) } taskProgressCB := func(msg *rpc.TaskProgress) { data := helpers.ArduinoCLITaskProgressToString(msg) slog.Debug("Task progress", slog.String("task_progress", data)) - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: data} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, data) } go func() { defer a.lock.Unlock() defer close(eventsCh) - ctx, cancel := context.WithTimeout(ctx, 10*time.Minute) - defer cancel() - - eventsCh <- update.Event{Type: update.StartEvent, Data: "Upgrade is starting"} + eventsCh <- update.NewDataEvent(update.StartEvent, "Upgrade is starting") logrus.SetLevel(logrus.ErrorLevel) // Reduce the log level of arduino-cli srv := commands.NewArduinoCoreServer() if err := setConfig(ctx, srv); err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error setting additional URLs", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("error setting config: %w", err)) return } var inst *rpc.Instance if resp, err := srv.Create(ctx, &rpc.CreateRequest{}); err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error creating Arduino instance", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("error creating arduino-cli instance: %w", err)) return } else { inst = resp.GetInstance() @@ -185,19 +174,11 @@ func (a *ArduinoPlatformUpdater) UpgradePackages(ctx context.Context, names []st { stream, _ := commands.UpdateIndexStreamResponseToCallbackFunction(ctx, downloadProgressCB) if err := srv.UpdateIndex(&rpc.UpdateIndexRequest{Instance: inst}, stream); err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error updating index", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("error updating index: %w", err)) return } if err := srv.Init(&rpc.InitRequest{Instance: inst}, commands.InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error initializing Arduino instance", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("error initializing instance: %w", err)) return } } @@ -219,17 +200,13 @@ func (a *ArduinoPlatformUpdater) UpgradePackages(ctx context.Context, names []st ); err != nil { var alreadyPresent *cmderrors.PlatformAlreadyAtTheLatestVersionError if errors.As(err, &alreadyPresent) { - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: alreadyPresent.Error()} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, alreadyPresent.Error()) return } var notFound *cmderrors.PlatformNotFoundError if !errors.As(err, ¬Found) { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error upgrading platform", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("error upgrading platform: %w", err)) return } // If the platform is not found, we will try to install it @@ -246,23 +223,16 @@ func (a *ArduinoPlatformUpdater) UpgradePackages(ctx context.Context, names []st ), ) if err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error installing platform", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("error installing platform: %w", err)) return } } else if respCB().GetPlatform() == nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Data: "platform upgrade failed", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("platform upgrade failed")) return } cbw := orchestrator.NewCallbackWriter(func(line string) { - eventsCh <- update.Event{Type: update.UpgradeLineEvent, Data: line} + eventsCh <- update.NewDataEvent(update.UpgradeLineEvent, line) }) err := srv.BurnBootloader( @@ -274,11 +244,7 @@ func (a *ArduinoPlatformUpdater) UpgradePackages(ctx context.Context, names []st commands.BurnBootloaderToServerStreams(ctx, cbw, cbw), ) if err != nil { - eventsCh <- update.Event{ - Type: update.ErrorEvent, - Err: err, - Data: "Error burning bootloader", - } + eventsCh <- update.NewErrorEvent(fmt.Errorf("error burning bootloader: %w", err)) return } }() diff --git a/internal/update/errors.go b/internal/update/errors.go new file mode 100644 index 00000000..9f65a63c --- /dev/null +++ b/internal/update/errors.go @@ -0,0 +1,55 @@ +package update + +import "errors" + +type ErrorCode string + +// TODO: add the error to the openAPI spec as an enum +const ( + NoInternetConnectionCode ErrorCode = "NO_INTERNET_CONNECTION" + OperationInProgressCode ErrorCode = "OPERATION_IN_PROGRESS" + UnknownErrorCode ErrorCode = "UNKNOWN_ERROR" +) + +var ( + ErrOperationAlreadyInProgress = &UpdateError{ + Code: OperationInProgressCode, + Details: "an operation is already in progress", + } + ErrNoInternetConnection = &UpdateError{ + Code: NoInternetConnectionCode, + Details: "no internet connection available", + } +) + +type UpdateError struct { + Code ErrorCode `json:"code"` + Details string `json:"details"` + + err error +} + +func (e *UpdateError) Error() string { + return e.Details +} + +func (e *UpdateError) Unwrap() error { + return e.err +} + +func NewUnkownError(err error) *UpdateError { + return &UpdateError{ + Details: err.Error(), + err: err, + } +} + +func GetUpdateErrorCode(err error) ErrorCode { + var updateError *UpdateError + if errors.As(err, &updateError) { + if updateError.Code != "" { + return updateError.Code + } + } + return UnknownErrorCode +} diff --git a/internal/update/errors_test.go b/internal/update/errors_test.go new file mode 100644 index 00000000..6b3a8bca --- /dev/null +++ b/internal/update/errors_test.go @@ -0,0 +1,32 @@ +package update + +import ( + "errors" + "fmt" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestUpdateError(t *testing.T) { + t.Run("known error", func(t *testing.T) { + var err error = &UpdateError{ + Code: NoInternetConnectionCode, + Details: "no internet connection available", + } + assert.Equal(t, "no internet connection available", err.Error()) + assert.Equal(t, "no internet connection available", fmt.Sprintf("%s", err)) + assert.Equal(t, NoInternetConnectionCode, GetUpdateErrorCode(err)) + }) + + t.Run("unknown error", func(t *testing.T) { + var underlyingErr = errors.New("underlying error") + var updateErr error = NewUnkownError(underlyingErr) + + assert.Equal(t, "underlying error", updateErr.Error()) + assert.Equal(t, "underlying error", fmt.Sprintf("%s", updateErr)) + assert.Equal(t, underlyingErr, errors.Unwrap(updateErr)) + assert.True(t, errors.Is(updateErr, underlyingErr)) + assert.Equal(t, UnknownErrorCode, GetUpdateErrorCode(updateErr)) + }) +} diff --git a/internal/update/event.go b/internal/update/event.go index 0f6c1a51..2aac04ee 100644 --- a/internal/update/event.go +++ b/internal/update/event.go @@ -15,6 +15,8 @@ package update +import "go.bug.st/f" + // EventType defines the type of upgrade event. type EventType int @@ -29,8 +31,9 @@ const ( // Event represents a single event in the upgrade process. type Event struct { Type EventType - Data string - Err error // Optional error field for error events + + data string + err error // error field for error events } func (t EventType) String() string { @@ -50,6 +53,30 @@ func (t EventType) String() string { } } +func NewDataEvent(t EventType, data string) Event { + return Event{ + Type: t, + data: data, + } +} + +func NewErrorEvent(err error) Event { + return Event{ + Type: ErrorEvent, + err: err, + } +} + +func (e Event) GetData() string { + f.Assert(e.Type != ErrorEvent, "not a data event") + return e.data +} + +func (e Event) GetError() error { + f.Assert(e.Type == ErrorEvent, "not an error event") + return e.err +} + type PackageType string const ( diff --git a/internal/update/update.go b/internal/update/update.go index 7a254478..7e3bc99c 100644 --- a/internal/update/update.go +++ b/internal/update/update.go @@ -17,7 +17,6 @@ package update import ( "context" - "errors" "fmt" "log/slog" "net/http" @@ -28,8 +27,6 @@ import ( "golang.org/x/sync/errgroup" ) -var ErrOperationAlreadyInProgress = errors.New("an operation is already in progress") - var MatchArduinoPackage = func(p UpgradablePackage) bool { return strings.HasPrefix(p.Name, "arduino-") || (p.Name == "adbd" && strings.Contains(p.ToVersion, "arduino")) // NOTE: changing this check could remove the adbd package, breaking the device access. @@ -78,7 +75,7 @@ func (m *Manager) ListUpgradablePackages(ctx context.Context, matcher func(Upgra // Make sure to be connected to the internet, before checking for updates. // This is needed because the checks below work also when offline (using cached data). if !isConnected() { - return nil, errors.New("no internet connectivity") + return nil, ErrNoInternetConnection } // Get the list of upgradable packages from two sources (deb and platform) in parallel. @@ -141,12 +138,7 @@ func (m *Manager) UpgradePackages(ctx context.Context, pkgs []UpgradablePackage) // in the middle the upgrade of the cores. arduinoEvents, err := m.arduinoPlatformUpdateService.UpgradePackages(ctx, arduinoPlatform) if err != nil { - m.broadcast( - Event{ - Type: ErrorEvent, - Data: "failed to upgrade Arduino packages", - Err: err, - }) + m.broadcast(NewErrorEvent(fmt.Errorf("failed to upgrade Arduino packages: %w", err))) return } for e := range arduinoEvents { @@ -155,18 +147,14 @@ func (m *Manager) UpgradePackages(ctx context.Context, pkgs []UpgradablePackage) aptEvents, err := m.debUpdateService.UpgradePackages(ctx, debPkgs) if err != nil { - m.broadcast( - Event{ - Type: ErrorEvent, - Data: "failed to upgrade APT packages", - Err: err, - }) + m.broadcast(NewErrorEvent(fmt.Errorf("failed to upgrade APT packages: %w", err))) return } for e := range aptEvents { m.broadcast(e) } - m.broadcast(Event{Type: DoneEvent, Data: "Upgrade completed successfully"}) + + m.broadcast(NewDataEvent(DoneEvent, "Update completed")) }() return nil } @@ -175,17 +163,17 @@ func (m *Manager) UpgradePackages(ctx context.Context, pkgs []UpgradablePackage) func (b *Manager) Subscribe() chan Event { eventCh := make(chan Event, 100) b.mu.Lock() + defer b.mu.Unlock() b.subs[eventCh] = struct{}{} - b.mu.Unlock() return eventCh } // Unsubscribe removes the channel from the list of subscribers and closes it. func (b *Manager) Unsubscribe(eventCh chan Event) { b.mu.Lock() + defer b.mu.Unlock() delete(b.subs, eventCh) close(eventCh) - b.mu.Unlock() } func (b *Manager) broadcast(event Event) { @@ -201,8 +189,7 @@ func (b *Manager) broadcast(event Event) { default: slog.Warn("Discarding event (channel full)", slog.String("type", event.Type.String()), - slog.String("data", fmt.Sprintf("%v", event.Data)), - slog.Any("error", event.Err), + slog.Any("event", event), ) } } diff --git a/pkg/board/board.go b/pkg/board/board.go index 9669a3b3..3dac4af2 100644 --- a/pkg/board/board.go +++ b/pkg/board/board.go @@ -186,7 +186,6 @@ func FromFQBN(ctx context.Context, fqbn string) ([]Board, error) { switch port.GetPort().GetProtocol() { case SerialProtocol: serial := strings.ToLower(port.GetPort().GetHardwareId()) // in windows this is uppercase. - // TODO: we should store the board custom name in the product id so we can get it from the discovery service. var customName string if conn, err := adb.FromSerial(serial, ""); err == nil { @@ -211,10 +210,15 @@ func FromFQBN(ctx context.Context, fqbn string) ([]Board, error) { } customName = name[:idx] } + var serial string + if sn, ok := port.GetPort().GetProperties()["serial_number"]; ok { + serial = sn + } boards = append(boards, Board{ Protocol: NetworkProtocol, Address: port.GetPort().GetAddress(), + Serial: serial, BoardName: boardName, CustomName: customName, }) diff --git a/pkg/board/remote/adb/adb.go b/pkg/board/remote/adb/adb.go index 6efdb1f4..eb401305 100644 --- a/pkg/board/remote/adb/adb.go +++ b/pkg/board/remote/adb/adb.go @@ -120,6 +120,7 @@ func (a *ADBConnection) List(path string) ([]remote.FileInfo, error) { if err := cmd.Start(); err != nil { return nil, err } + defer func() { _ = cmd.Wait() }() r := bufio.NewReader(output) _, err = r.ReadBytes('\n') // Skip the first line @@ -167,6 +168,7 @@ func (a *ADBConnection) Stats(p string) (remote.FileInfo, error) { if err := cmd.Start(); err != nil { return remote.FileInfo{}, err } + defer func() { _ = cmd.Wait() }() r := bufio.NewReader(output) line, err := r.ReadBytes('\n') @@ -227,6 +229,7 @@ func (a *ADBConnection) Remove(path string) error { type ADBCommand struct { cmd *paths.Process + err error } func (a *ADBConnection) GetCmd(cmd string, args ...string) remote.Cmder { @@ -243,19 +246,31 @@ func (a *ADBConnection) GetCmd(cmd string, args ...string) remote.Cmder { cmds = append(cmds, args...) } - command, _ := paths.NewProcess(nil, cmds...) - return &ADBCommand{cmd: command} + command, err := paths.NewProcess(nil, cmds...) + return &ADBCommand{cmd: command, err: err} } func (a *ADBCommand) Run(ctx context.Context) error { + if a.err != nil { + return fmt.Errorf("failed to create command: %w", a.err) + } + return a.cmd.RunWithinContext(ctx) } func (a *ADBCommand) Output(ctx context.Context) ([]byte, error) { + if a.err != nil { + return nil, fmt.Errorf("failed to create command: %w", a.err) + } + return a.cmd.RunAndCaptureCombinedOutput(ctx) } func (a *ADBCommand) Interactive() (io.WriteCloser, io.Reader, io.Reader, remote.Closer, error) { + if a.err != nil { + return nil, nil, nil, nil, fmt.Errorf("failed to create command: %w", a.err) + } + stdin, err := a.cmd.StdinPipe() if err != nil { return nil, nil, nil, nil, fmt.Errorf("failed to get stdin pipe: %w", err) diff --git a/pkg/board/remote/adb/adb_nowindows.go b/pkg/board/remote/adb/adb_nowindows.go index 32699417..e856b9e2 100644 --- a/pkg/board/remote/adb/adb_nowindows.go +++ b/pkg/board/remote/adb/adb_nowindows.go @@ -18,11 +18,14 @@ package adb import ( + "cmp" "context" "fmt" "io" "github.com/arduino/go-paths-helper" + + "github.com/arduino/arduino-app-cli/pkg/board/remote" ) func adbReadFile(a *ADBConnection, path string) (io.ReadCloser, error) { @@ -37,7 +40,14 @@ func adbReadFile(a *ADBConnection, path string) (io.ReadCloser, error) { if err := cmd.Start(); err != nil { return nil, err } - return output, nil + return remote.WithCloser{ + Reader: output, + CloseFun: func() error { + err1 := output.Close() + err2 := cmd.Wait() + return cmp.Or(err1, err2) + }, + }, nil } func adbWriteFile(a *ADBConnection, r io.Reader, pathStr string) error { diff --git a/pkg/board/remote/adb/adb_windows.go b/pkg/board/remote/adb/adb_windows.go index 26b752a5..150d9cc0 100644 --- a/pkg/board/remote/adb/adb_windows.go +++ b/pkg/board/remote/adb/adb_windows.go @@ -26,7 +26,7 @@ import ( "github.com/arduino/go-paths-helper" - "github.com/arduino/arduino-app-cli/pkg/board/remote/ssh" + "github.com/arduino/arduino-app-cli/pkg/board/remote" ) func adbReadFile(a *ADBConnection, path string) (io.ReadCloser, error) { @@ -44,7 +44,7 @@ func adbReadFile(a *ADBConnection, path string) (io.ReadCloser, error) { return nil, err } - return ssh.WithCloser{ + return remote.WithCloser{ Reader: decoded, CloseFun: func() error { err1 := output.Close() diff --git a/pkg/board/remote/remote.go b/pkg/board/remote/remote.go index 9330610a..247e7718 100644 --- a/pkg/board/remote/remote.go +++ b/pkg/board/remote/remote.go @@ -59,3 +59,17 @@ type Cmder interface { Output(ctx context.Context) ([]byte, error) Interactive() (io.WriteCloser, io.Reader, io.Reader, Closer, error) } + +// WithCloser is a helper to create an io.ReadCloser from an io.Reader +// and a close function. +type WithCloser struct { + io.Reader + CloseFun func() error +} + +func (w WithCloser) Close() error { + if w.CloseFun != nil { + return w.CloseFun() + } + return nil +} diff --git a/pkg/board/remote/ssh/ssh.go b/pkg/board/remote/ssh/ssh.go index cca231f5..9b14d8f4 100644 --- a/pkg/board/remote/ssh/ssh.go +++ b/pkg/board/remote/ssh/ssh.go @@ -219,18 +219,6 @@ func (a *SSHConnection) WriteFile(r io.Reader, path string) error { return nil } -type WithCloser struct { - io.Reader - CloseFun func() error -} - -func (w WithCloser) Close() error { - if w.CloseFun != nil { - return w.CloseFun() - } - return nil -} - func (a *SSHConnection) ReadFile(path string) (io.ReadCloser, error) { session, err := a.client.NewSession() if err != nil { @@ -247,7 +235,7 @@ func (a *SSHConnection) ReadFile(path string) (io.ReadCloser, error) { return nil, fmt.Errorf("failed to start command: %w", err) } - return WithCloser{ + return remote.WithCloser{ Reader: output, CloseFun: session.Close, }, nil