semgr8ns / semgr8s

Semgrep-based Policy Controller for Kubernetes
https://semgr8ns.github.io/semgr8s/
Apache License 2.0
5 stars 0 forks source link

update: bump the pip-packages group across 1 directory with 6 updates #296

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 2 months ago

Bumps the pip-packages group with 6 updates in the / directory:

Package From To
semgrep 1.74.0 1.77.0
mkdocs-material 9.5.25 9.5.27
mike 2.1.1 2.1.2
bandit 1.7.8 1.7.9
pylint 3.2.2 3.2.4
pytest 8.2.1 8.2.2

Updates semgrep from 1.74.0 to 1.77.0

Release notes

Sourced from semgrep's releases.

Release v1.77.0

1.77.0 - 2024-06-24

Added

  • Semgrep will now report the id of the organization associated with logged in users when reporting metrics in the language server (cdx-508)

  • Pro: taint-mode: Improved index-sensitive taint tracking for tuple/list (un)packing.

    Example 1:

     def foo():
         return ("ok", taint)
    

    def test():
    x, y = foo()
    sink(x) # nothing, no FP
    sink(y) # finding

    Example 2:

     def foo(t):
          (x, y) = t
          sink(x)  # nothing, no FP
          sink(y)  # finding
    

    def test():
    foo(("ok", taint)) (code-6935)

  • Adds traces to help debug the performance of tainting. To send the traces added in the PR, pass --trace and also set the environment variable SEMGREP_TRACE_LEVEL=trace. To send them to a local endpoint instead of our default endpoint, use --trace-endpoint. (saf-1100)

Fixed

  • Fixed a bug in the generation of the control-flow graph for try statements that could e.g. cause taint to report false positives:

    def test():
        data = taint
        try:
            # Semgrep assumes that `clean` could raise an exception, but
            # even if it does, the tainted `data` will never reach the sink !
            data = clean(data)
        except Exception:
            raise Exception()
    
    # `data` must be clean here
    

... (truncated)

Changelog

Sourced from semgrep's changelog.

1.77.0 - 2024-06-24

Added

  • Semgrep will now report the id of the organization associated with logged in users when reporting metrics in the language server (cdx-508)

  • Pro: taint-mode: Improved index-sensitive taint tracking for tuple/list (un)packing.

    Example 1:

     def foo():
         return ("ok", taint)
    

    def test():
    x, y = foo()
    sink(x) # nothing, no FP
    sink(y) # finding

    Example 2:

     def foo(t):
          (x, y) = t
          sink(x)  # nothing, no FP
          sink(y)  # finding
    

    def test():
    foo(("ok", taint)) (code-6935)

  • Adds traces to help debug the performance of tainting. To send the traces added in the PR, pass --trace and also set the environment variable SEMGREP_TRACE_LEVEL=trace. To send them to a local endpoint instead of our default endpoint, use --trace-endpoint. (saf-1100)

Fixed

  • Fixed a bug in the generation of the control-flow graph for try statements that could e.g. cause taint to report false positives:

    def test():
        data = taint
        try:
            # Semgrep assumes that `clean` could raise an exception, but
            # even if it does, the tainted `data` will never reach the sink !
            data = clean(data)
        except Exception:
            raise Exception()
    
    # `data` must be clean here
    sink(data) # no more FP (flow-78)
    

... (truncated)

Commits
  • 607d873 chore: Bump version to 1.77.0
  • b7c8ab1semgrep/semgrep-proprietary#1722
  • 5ef66acsemgrep/semgrep-proprietary#1724
  • 7cda583 chore: make python installation work with pip 24 (semgrep/semgrep-proprietary...
  • 6540972 chore: pin pip to v23 so docker builds successfully (semgrep/semgrep-propriet...
  • d80ad9a chore: add fine grained tracing to debug tainting (semgrep/semgrep-proprietar...
  • 990dca3semgrep/semgrep-proprietary#1711
  • f9a9177 Replace the C and C++ parsers with those generated by the latest tree-sitter ...
  • cb0da0f bug(sca): Gemfile Parser should parse direct dependencies with no version con...
  • 9e2b8d1semgrep/semgrep-proprietary#1709
  • Additional commits viewable in compare view


Updates mkdocs-material from 9.5.25 to 9.5.27

Release notes

Sourced from mkdocs-material's releases.

mkdocs-material-9.5.27

  • Updated Estonian translations

Thanks to @​Eilyre for their contributions

mkdocs-material-9.5.26

  • Fixed #7232: Tab switches on scroll when linking tabs (9.5.19 regression)
  • Fixed #7230: Blog author avatar broken when referring to local file
Changelog

Sourced from mkdocs-material's changelog.

mkdocs-material-9.5.27 (2024-06-16)

  • Updated Estonian translations

mkdocs-material-9.5.26 (2024-06-06)

  • Fixed #7232: Tab switches on scroll when linking tabs (9.5.19 regression)
  • Fixed #7230: Blog author avatar broken when referring to local file

mkdocs-material-9.5.25+insiders-4.53.11 (2024-05-27)

  • Fixed projects plugin crashing when serving before building subprojects

mkdocs-material-9.5.25 (2024-05-27)

  • Fixed #7209: Tags plugin crashing on numeric tags

mkdocs-material-9.5.24+insiders-4.53.10 (2024-05-20)

  • Fixed projects plugin crashing in serve mode when disabled
  • Fixed projects plugin crashing when building nested projects

mkdocs-material-9.5.24+insiders-4.53.9 (2024-05-20)

  • Fixed #7191: Tags listings not rendering when toc_depth is changed

mkdocs-material-9.5.24 (2024-05-20)

  • Fixed #7187: Version selector title rendering issue

mkdocs-material-9.5.23 (2024-05-15)

  • Fixed #7183: Edge case in anchor navigation when using instant navigation
  • Fixed #6436: Version selector not showing version alias

mkdocs-material-9.5.22 (2024-05-12)

  • Fixed #7170: Copy button adds empty lines for line spans (9.5.18 regression)
  • Fixed #7160: Version switching doesn't stay on page (9.5.5 regression)
  • Fixed #5619: Links in Mermaid.js diagrams not discernible

mkdocs-material-9.5.21 (2024-05-03)

  • Fixed #7133: Ensure latest version of Mermaid.js is used
  • Fixed #7125: Added warning for dotfiles in info plugin

mkdocs-material-9.5.20 (2024-04-29)

  • Fixed deprecation warning in privacy plugin (9.5.19 regression)
  • Fixed #7119: Tags plugin emits deprecation warning (9.5.19 regression)

... (truncated)

Commits


Updates mike from 2.1.1 to 2.1.2

Release notes

Sourced from mike's releases.

v2.1.2

Bug fixes

  • Remove ambiguity of some Git commands so that file and branch names don't collide
Changelog

Sourced from mike's changelog.

v2.1.2 (2024-06-23)

Bug fixes

  • Remove ambiguity of some Git commands so that file and branch names don't collide

Commits
  • 62aaeaf Update version to 2.1.2
  • 3f7d756 Use "--" to disambiguate Git arguments in a few more places; resolves #218
  • 5e6970d Belatedly update copyright year
  • 9291efb Update version to 2.2.0.dev0
  • See full diff in compare view


Updates bandit from 1.7.8 to 1.7.9

Release notes

Sourced from bandit's releases.

1.7.9

What's Changed

New Contributors

Full Changelog: https://github.com/PyCQA/bandit/compare/1.7.8...1.7.9

Commits


Updates pylint from 3.2.2 to 3.2.4

Commits
  • 425ad66 Bump pylint to 3.2.4, update changelog (#9746)
  • c41c35a [possibly-used-before-assignment] Avoid FP for typing.NoReturn & Never (#9714...
  • 22e4d36 [symilar] Rename the unittest file that had a typo.
  • 3cf313a [symilar] Fix the short form options that weren't being processed properly
  • e13544f [symilar] Fix crash when giving bad options to symilar
  • c3e2579 [unnecessary-list-index-lookup] Fix crashes for uninferrable 'start' value in...
  • 6b66ca6 [undefined-variable] Fix a crash for undefined lineno in annotations (#9705) ...
  • 918d216 Bump pylint to 3.2.3, update changelog
  • 8aba7d1 Fix false positive in use-yield-from when using yield return (#9700) (#9701)
  • 192727b [multiple-statements] Make pylint compatible with black's 2024 style (#9697) ...
  • Additional commits viewable in compare view


Updates pytest from 8.2.1 to 8.2.2

Release notes

Sourced from pytest's releases.

8.2.2

pytest 8.2.2 (2024-06-04)

Bug Fixes

  • #12355: Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters.
  • #12367: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.
  • #12381: Fix possible "Directory not empty" crashes arising from concurent cache dir (.pytest_cache) creation. Regressed in pytest 8.2.0.

Improved Documentation

  • #12290: Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme.
  • #12356: Added a subsection to the documentation for debugging flaky tests to mention lack of thread safety in pytest as a possible source of flakyness.
  • #12363: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
Commits
  • 329d371 Prepare release version 8.2.2
  • 214d098 Merge pull request #12414 from bluetech/backport-12409
  • 153a436 [8.2.x] fixtures: fix catastrophic performance problem in reorder_items
  • b41d5a5 Merge pull request #12412 from pytest-dev/backport-12408-to-8.2.x
  • 9bb73d7 [8.2.x] cacheprovider: fix "Directory not empty" crash from cache directory c...
  • 4569a01 [8.2.x] doc: Update trainings/events (#12402)
  • 1d103e5 [8.2.x] Clarify pytest_ignore_collect docs (#12386)
  • 240a252 [8.2.x] Add html_baseurl to sphinx conf.py (#12372)
  • a5ee3c4 Merge pull request #12370 from pytest-dev/backport-12368-to-8.2.x
  • f7358ae [8.2.x] unittest: fix class instances no longer released on test teardown sin...
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
github-actions[bot] commented 2 months ago

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 2ac6d7a1fddc9068b8e181bf08c907b16960b3ab.

Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

OpenSSF Scorecard

Scorecard details
PackageVersionScoreDetails
pip/bandit 1.7.9 :green_circle: 6.6
Details
CheckScoreReason
Maintained:green_circle: 1020 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10
Code-Review:green_circle: 9Found 11/12 approved changesets -- score normalized to 9
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Signed-Releases:warning: -1no releases found
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Security-Policy:green_circle: 10security policy file detected
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts:green_circle: 10no binaries found in the repo
Fuzzing:warning: 0project is not fuzzed
Pinned-Dependencies:warning: 1dependency not pinned by hash detected -- score normalized to 1
Vulnerabilities:green_circle: 91 existing vulnerabilities detected
Packaging:green_circle: 10packaging workflow detected
SAST:warning: 0SAST tool is not run on all commits -- score normalized to 0
pip/mike 2.1.2 :green_circle: 4
Details
CheckScoreReason
Maintained:green_circle: 1011 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Code-Review:warning: 0Found 0/30 approved changesets -- score normalized to 0
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Signed-Releases:warning: 0Project has not signed or included provenance with any releases.
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Packaging:warning: -1packaging workflow not detected
SAST:warning: 0no SAST tool detected
Binary-Artifacts:green_circle: 10no binaries found in the repo
Branch-Protection:warning: 0branch protection not enabled on development/release branches
Vulnerabilities:green_circle: 100 existing vulnerabilities detected
Fuzzing:warning: 0project is not fuzzed
Security-Policy:warning: 0security policy file not detected
pip/mkdocs-material 9.5.27 :green_circle: 5.2
Details
CheckScoreReason
Code-Review:warning: 2Found 7/30 approved changesets -- score normalized to 2
Maintained:green_circle: 1030 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Signed-Releases:warning: -1no releases found
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Security-Policy:warning: 0security policy file not detected
Fuzzing:warning: 0project is not fuzzed
Packaging:green_circle: 10packaging workflow detected
SAST:warning: 0SAST tool is not run on all commits -- score normalized to 0
Binary-Artifacts:green_circle: 10no binaries found in the repo
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
Vulnerabilities:green_circle: 82 existing vulnerabilities detected
pip/pylint 3.2.4 :green_circle: 7.2
Details
CheckScoreReason
Code-Review:green_circle: 9Found 15/16 approved changesets -- score normalized to 9
Maintained:green_circle: 1030 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
License:green_circle: 10license file detected
CII-Best-Practices:green_circle: 5badge detected: Passing
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Signed-Releases:warning: -1no releases found
Security-Policy:green_circle: 9security policy file detected
Packaging:warning: -1packaging workflow not detected
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Fuzzing:warning: 0project is not fuzzed
Binary-Artifacts:green_circle: 10no binaries found in the repo
Vulnerabilities:green_circle: 100 existing vulnerabilities detected
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
SAST:green_circle: 9SAST tool detected but not run on all commits
pip/pytest 8.2.2 :green_circle: 6.3
Details
CheckScoreReason
Code-Review:green_circle: 9Found 13/14 approved changesets -- score normalized to 9
Maintained:green_circle: 1030 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Signed-Releases:warning: 0Project has not signed or included provenance with any releases.
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:green_circle: 9detected GitHub workflow tokens with excessive permissions
Binary-Artifacts:green_circle: 10no binaries found in the repo
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
Fuzzing:warning: 0project is not fuzzed
Security-Policy:warning: 0security policy file not detected
Vulnerabilities:green_circle: 100 existing vulnerabilities detected
Packaging:green_circle: 10packaging workflow detected
SAST:warning: 0SAST tool is not run on all commits -- score normalized to 0
pip/semgrep 1.77.0 UnknownUnknown
pip/bandit 1.7.8 :green_circle: 6.6
Details
CheckScoreReason
Maintained:green_circle: 1020 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10
Code-Review:green_circle: 9Found 11/12 approved changesets -- score normalized to 9
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Signed-Releases:warning: -1no releases found
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Security-Policy:green_circle: 10security policy file detected
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts:green_circle: 10no binaries found in the repo
Fuzzing:warning: 0project is not fuzzed
Pinned-Dependencies:warning: 1dependency not pinned by hash detected -- score normalized to 1
Vulnerabilities:green_circle: 91 existing vulnerabilities detected
Packaging:green_circle: 10packaging workflow detected
SAST:warning: 0SAST tool is not run on all commits -- score normalized to 0
pip/mike 2.1.1 :green_circle: 4
Details
CheckScoreReason
Maintained:green_circle: 1011 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Code-Review:warning: 0Found 0/30 approved changesets -- score normalized to 0
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Signed-Releases:warning: 0Project has not signed or included provenance with any releases.
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Packaging:warning: -1packaging workflow not detected
SAST:warning: 0no SAST tool detected
Binary-Artifacts:green_circle: 10no binaries found in the repo
Branch-Protection:warning: 0branch protection not enabled on development/release branches
Vulnerabilities:green_circle: 100 existing vulnerabilities detected
Fuzzing:warning: 0project is not fuzzed
Security-Policy:warning: 0security policy file not detected
pip/mkdocs-material 9.5.25 :green_circle: 5.2
Details
CheckScoreReason
Code-Review:warning: 2Found 7/30 approved changesets -- score normalized to 2
Maintained:green_circle: 1030 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Signed-Releases:warning: -1no releases found
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Security-Policy:warning: 0security policy file not detected
Fuzzing:warning: 0project is not fuzzed
Packaging:green_circle: 10packaging workflow detected
SAST:warning: 0SAST tool is not run on all commits -- score normalized to 0
Binary-Artifacts:green_circle: 10no binaries found in the repo
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
Vulnerabilities:green_circle: 82 existing vulnerabilities detected
pip/pylint 3.2.2 :green_circle: 7.2
Details
CheckScoreReason
Code-Review:green_circle: 9Found 15/16 approved changesets -- score normalized to 9
Maintained:green_circle: 1030 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
License:green_circle: 10license file detected
CII-Best-Practices:green_circle: 5badge detected: Passing
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Signed-Releases:warning: -1no releases found
Security-Policy:green_circle: 9security policy file detected
Packaging:warning: -1packaging workflow not detected
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:warning: 0detected GitHub workflow tokens with excessive permissions
Fuzzing:warning: 0project is not fuzzed
Binary-Artifacts:green_circle: 10no binaries found in the repo
Vulnerabilities:green_circle: 100 existing vulnerabilities detected
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
SAST:green_circle: 9SAST tool detected but not run on all commits
pip/pytest 8.2.1 :green_circle: 6.3
Details
CheckScoreReason
Code-Review:green_circle: 9Found 13/14 approved changesets -- score normalized to 9
Maintained:green_circle: 1030 commit(s) and 18 issue activity found in the last 90 days -- score normalized to 10
CII-Best-Practices:warning: 0no effort to earn an OpenSSF best practices badge detected
License:green_circle: 10license file detected
Signed-Releases:warning: 0Project has not signed or included provenance with any releases.
Branch-Protection:warning: -1internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration
Dangerous-Workflow:green_circle: 10no dangerous workflow patterns detected
Token-Permissions:green_circle: 9detected GitHub workflow tokens with excessive permissions
Binary-Artifacts:green_circle: 10no binaries found in the repo
Pinned-Dependencies:warning: 0dependency not pinned by hash detected -- score normalized to 0
Fuzzing:warning: 0project is not fuzzed
Security-Policy:warning: 0security policy file not detected
Vulnerabilities:green_circle: 100 existing vulnerabilities detected
Packaging:green_circle: 10packaging workflow detected
SAST:warning: 0SAST tool is not run on all commits -- score normalized to 0
pip/semgrep 1.74.0 UnknownUnknown
pip/semgrep 1.77.0 UnknownUnknown
pip/semgrep 1.74.0 UnknownUnknown

Scanned Manifest Files

poetry.lock
  • bandit@1.7.9
  • mike@2.1.2
  • mkdocs-material@9.5.27
  • pylint@3.2.4
  • pytest@8.2.2
  • semgrep@1.77.0
  • bandit@1.7.8
  • mike@2.1.1
  • mkdocs-material@9.5.25
  • pylint@3.2.2
  • pytest@8.2.1
  • semgrep@1.74.0
pyproject.toml
  • semgrep@1.77.0
  • semgrep@1.74.0
github-actions[bot] commented 2 months ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
semgr8s
   __main__.py18180%5–32
   app.py81495%117, 177–178, 209
   k8s_api.py22291%43–44
   updater.py29293%49–50
TOTAL2022687% 

Tests Skipped Failures Errors Time
18 0 :zzz: 0 :x: 0 :fire: 2.425s :stopwatch:
dependabot[bot] commented 2 months ago

Superseded by #298.