diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index ddab3a4b..7b2f3c80 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -15,38 +15,35 @@ env: jobs: lint-test-release: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Clone Repository - uses: actions/checkout@v4 + uses: actions/checkout@v6.0.2 - name: Install Rust Toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }}) - uses: actions-rs/toolchain@v1 + uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }} - default: true - profile: minimal components: clippy - - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --all-features --all-targets + - name: Run Clippy + run: cargo clippy --all-features --all-targets - name: Run Tests - uses: actions-rs/cargo@v1 - with: - command: test + run: cargo test - name: Upload to codecov.io - uses: codecov/codecov-action@v5 + uses: codecov/codecov-action@v5.5.2 - name: Check for Release id: is-release shell: bash run: | - unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi - echo ::set-output name=IS_RELEASE::${IS_RELEASE} + if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then + echo "IS_RELEASE=true" >> "$GITHUB_OUTPUT" + else + echo "IS_RELEASE=false" >> "$GITHUB_OUTPUT" + fi - name: Cargo Publish "comtrya-lib" if: steps.is-release.outputs.IS_RELEASE @@ -68,7 +65,7 @@ jobs: matrix: platform: - os_name: Linux-x86_64-gnu - os: ubuntu-24.04 + os: ubuntu-latest target: x86_64-unknown-linux-gnu bin: comtrya name: comtrya-x86_64-unknown-linux-gnu @@ -76,7 +73,7 @@ jobs: cargo_command: cargo skip_tests: false - os_name: Linux-aarch64-gnu - os: ubuntu-24.04 + os: ubuntu-latest target: aarch64-unknown-linux-gnu bin: comtrya name: comtrya-aarch64-unknown-linux-gnu @@ -84,7 +81,7 @@ jobs: cargo_command: ./cross skip_tests: false - os_name: Windows-x86_64 - os: windows-2022 + os: windows-latest target: x86_64-pc-windows-msvc bin: comtrya.exe name: comtrya-x86_64-pc-windows-msvc @@ -92,7 +89,7 @@ jobs: cargo_command: cargo skip_tests: false - os_name: macOS-x86_64 - os: macos-13 + os: macos-15-intel target: x86_64-apple-darwin bin: comtrya name: comtrya-x86_64-apple-darwin @@ -100,7 +97,7 @@ jobs: cargo_command: cargo skip_tests: false - os_name: macOS-aarch64 - os: macos-15 + os: macos-latest target: aarch64-apple-darwin bin: comtrya name: comtrya-aarch64-apple-darwin @@ -109,10 +106,10 @@ jobs: skip_tests: false steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6.0.2 - name: Build binary - uses: houseabsolute/actions-rust-cross@v1 + uses: houseabsolute/actions-rust-cross@v1.0.5 with: command: "build" target: ${{ matrix.platform.target }} @@ -133,7 +130,7 @@ jobs: - name: Upload Artifact if: matrix.platform.target != 'x86_64-pc-windows-msvc' - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v2.5.0 with: token: ${{ secrets.GITHUB_TOKEN }} draft: true @@ -146,7 +143,7 @@ jobs: - name: Upload Artifact.exe if: matrix.platform.target == 'x86_64-pc-windows-msvc' - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v2.5.0 with: token: ${{ secrets.GITHUB_TOKEN }} draft: true @@ -162,7 +159,7 @@ jobs: container: clux/muslrust:stable steps: - name: Clone Repository - uses: actions/checkout@v4 + uses: actions/checkout@v6.0.2 - name: Link to muscl Toolchain run: | @@ -170,15 +167,12 @@ jobs: ln -s /root/.rustup $HOME/.rustup - name: Handle Rust Dependencies Caching - uses: Swatinem/rust-cache@v2 + uses: Swatinem/rust-cache@v2.8.2 with: key: v1-linux-musl - name: Build Release Binary - uses: actions-rs/cargo@v1 - with: - command: build - args: --release + run: cargo build --release - name: Rename Binary shell: bash @@ -186,7 +180,7 @@ jobs: mv target/x86_64-unknown-linux-musl/release/comtrya target/x86_64-unknown-linux-musl/release/comtrya-x86_64-unknown-linux-musl - name: Upload release archive - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v2.5.0 with: token: ${{ secrets.GITHUB_TOKEN }} draft: true diff --git a/.github/workflows/mdbook-pr.yml b/.github/workflows/mdbook-pr.yml index b268ed0d..6be9fa79 100644 --- a/.github/workflows/mdbook-pr.yml +++ b/.github/workflows/mdbook-pr.yml @@ -31,7 +31,7 @@ jobs: env: MDBOOK_VERSION: 0.4.36 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - name: Install mdBook run: | curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh @@ -39,6 +39,6 @@ jobs: cargo install --version ${MDBOOK_VERSION} mdbook - name: Setup Pages id: pages - uses: actions/configure-pages@v5 + uses: actions/configure-pages@v5.0.0 - name: Build with mdBook run: mdbook build ./docs/ diff --git a/.github/workflows/mdbook.yml b/.github/workflows/mdbook.yml index ecae8911..f0e06af2 100644 --- a/.github/workflows/mdbook.yml +++ b/.github/workflows/mdbook.yml @@ -32,7 +32,7 @@ jobs: env: MDBOOK_VERSION: 0.4.36 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - name: Install mdBook run: | curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh @@ -40,11 +40,11 @@ jobs: cargo install --version ${MDBOOK_VERSION} mdbook - name: Setup Pages id: pages - uses: actions/configure-pages@v5 + uses: actions/configure-pages@v5.0.0 - name: Build with mdBook run: mdbook build ./docs/ - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v4.0.0 with: path: ./docs/book @@ -59,4 +59,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@v4.0.5 diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index e752364e..605c3731 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -12,32 +12,27 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - - uses: agenthunt/conventional-commit-checker-action@v2.0.0 + - uses: agenthunt/conventional-commit-checker-action@v2.0.1 continue-on-error: true with: pr-body-regex: ".*" - - uses: actions-rs/toolchain@v1 + - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }} - profile: minimal components: clippy,rustfmt - override: true - - uses: actions-rs/cargo@v1 - with: - command: fmt - args: --all -- --check + - run: cargo fmt --all -- --check - - uses: giraffate/clippy-action@v1 + - uses: giraffate/clippy-action@v1.0.1 with: reporter: "github-pr-review" github_token: ${{ secrets.GITHUB_TOKEN }} clippy_flags: --all-features --all-targets - - uses: codecov/codecov-action@v5 + - uses: codecov/codecov-action@v5.5.2 test: name: ${{ matrix.job.os }} (${{ matrix.job.target }}) @@ -58,17 +53,17 @@ jobs: # target: aarch64-unknown-linux-gnu, # use-cross: true, # } - - { os: ubuntu-24.04, target: x86_64-unknown-linux-gnu } + - { os: ubuntu-latest, target: x86_64-unknown-linux-gnu } # - { # os: ubuntu-20.04, # target: x86_64-unknown-linux-musl, # use-cross: true, # } - - { os: macos-13, target: x86_64-apple-darwin } - - { os: macos-14, target: aarch64-apple-darwin } - - { os: windows-2022, target: x86_64-pc-windows-msvc } + - { os: macos-15-intel, target: x86_64-apple-darwin } + - { os: macos-latest, target: aarch64-apple-darwin } + - { os: windows-latest, target: x86_64-pc-windows-msvc } steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - shell: bash run: | @@ -83,15 +78,9 @@ jobs: echo "PROJECT_MAINTAINER=$(sed -n 's/^authors = \["\(.*\)"\]/\1/p' Cargo.toml)" >> $GITHUB_ENV echo "PROJECT_HOMEPAGE=$(sed -n 's/^homepage = "\(.*\)"/\1/p' Cargo.toml)" >> $GITHUB_ENV - - uses: actions-rs/toolchain@v1 + - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable target: ${{ matrix.job.target }} - override: true - profile: minimal - - uses: actions-rs/cargo@v1 - with: - use-cross: ${{ matrix.job.use-cross }} - command: test - args: --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}} + - run: cargo test --target=${{ matrix.job.target }} diff --git a/Cargo.lock b/Cargo.lock index 95ceb565..dab95e5b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - [[package]] name = "adler2" version = "2.0.0" @@ -35,14 +26,14 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] name = "age" -version = "0.10.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77de71da1ca673855aacea507a7aed363beb8934cf61b62364fc4b479d2e8cda" +checksum = "bf640be7658959746f1f0f2faab798f6098a9436a8e18e148d18bc9875e13c4b" dependencies = [ "age-core", "base64 0.21.7", @@ -66,9 +57,9 @@ dependencies = [ [[package]] name = "age-core" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5f11899bc2bbddd135edbc30c36b1924fa59d0746bb45beb5933fafe3fe509b" +checksum = "e2bf6a89c984ca9d850913ece2da39e1d200563b0a94b002b253beee4c5acf99" dependencies = [ "base64 0.21.7", "chacha20poly1305", @@ -77,7 +68,7 @@ dependencies = [ "io_tee", "nom", "rand 0.8.5", - "secrecy 0.8.0", + "secrecy", "sha2", ] @@ -192,9 +183,12 @@ dependencies = [ [[package]] name = "arc-swap" -version = "1.7.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5" +dependencies = [ + "rustversion", +] [[package]] name = "arrayvec" @@ -204,13 +198,12 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_cmd" -version = "2.0.17" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" +checksum = "9c5bcfa8749ac45dd12cb11055aeeb6b27a3895560d60d71e3c23bf979e60514" dependencies = [ "anstyle", "bstr", - "doc-comment", "libc", "predicates", "predicates-core", @@ -226,7 +219,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -242,20 +235,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] -name = "backtrace" -version = "0.3.75" +name = "aws-lc-rs" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" +checksum = "d9a7b350e3bb1767102698302bc37256cbd48422809984b98d292c40e2579aa9" dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", + "aws-lc-sys", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.37.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b092fe214090261288111db7a2b2c2118e5a7f30dc2569f1732c4069a6840549" +dependencies = [ + "cc", + "cmake", + "dunce", + "fs_extra", ] +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.21.7" @@ -268,6 +274,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + [[package]] name = "basic-toml" version = "0.1.10" @@ -285,9 +297,9 @@ checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "block-buffer" @@ -298,6 +310,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "bstr" version = "1.12.0" @@ -323,21 +344,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" - -[[package]] -name = "bytesize" -version = "1.3.3" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "bytesize" -version = "2.0.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3c8f83209414aacf0eeae3cf730b18d6981697fba62f200fcfb92b9f082acba" +checksum = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" [[package]] name = "bzip2" @@ -360,24 +375,55 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0c0e6148f11f01f32650a2ea02d532b2ad4e81d8bd41e6e565b5adc5e6082" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "cargo_metadata" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" dependencies = [ + "camino", + "cargo-platform", + "semver", "serde", + "serde_json", + "thiserror 2.0.18", ] [[package]] name = "cc" -version = "1.2.24" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.0" @@ -398,7 +444,18 @@ checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", +] + +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.0", ] [[package]] @@ -408,7 +465,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", - "chacha20", + "chacha20 0.9.1", "cipher", "poly1305", "zeroize", @@ -422,9 +479,11 @@ checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", "serde", - "windows-link", + "wasm-bindgen", + "windows-link 0.1.1", ] [[package]] @@ -462,9 +521,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.38" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" dependencies = [ "clap_builder", "clap_derive", @@ -472,42 +531,42 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.38" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.1", + "strsim", ] [[package]] name = "clap_complete" -version = "4.5.50" +version = "4.5.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c91d3baa3bcd889d60e6ef28874126a0b384fd225ab83aa6d8a801c519194ce1" +checksum = "c757a3b7e39161a4e56f9365141ada2a6c915a8622c408ab6bb4b5d047371031" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" [[package]] name = "clru" @@ -515,6 +574,15 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" +[[package]] +name = "cmake" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" +dependencies = [ + "cc", +] + [[package]] name = "colorchoice" version = "1.0.3" @@ -523,12 +591,21 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "colored" -version = "2.2.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" +checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.61.2", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", ] [[package]] @@ -554,7 +631,7 @@ dependencies = [ "comfy-table", "comtrya-lib", "dirs-next", - "gix 0.70.0", + "gix", "petgraph", "predicates", "rhai", @@ -582,8 +659,8 @@ dependencies = [ "file_diff", "flate2", "gethostname", - "gix 0.68.0", - "gix-protocol 0.46.1", + "gix", + "gix-protocol", "ignore", "normpath", "octocrab", @@ -591,11 +668,11 @@ dependencies = [ "parking_lot", "petgraph", "pretty_assertions", - "rand 0.8.5", + "rand 0.10.0", "regex", - "reqwest", + "reqwest 0.13.2", "rhai", - "schemars", + "schemars 1.2.1", "serde", "serde_json", "serde_with", @@ -606,15 +683,21 @@ dependencies = [ "tempfile", "tera", "tokio", - "toml 0.8.22", + "toml 1.0.3+spec-1.1.0", "tracing", "trust-dns-resolver", "uzers", "walkdir", - "which", + "which 8.0.0", "whoami", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "const-random" version = "0.1.18" @@ -641,6 +724,17 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + [[package]] name = "cookie-factory" version = "0.3.3" @@ -651,13 +745,21 @@ dependencies = [ ] [[package]] -name = "core-foundation" -version = "0.9.4" +name = "cookie_store" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "3fc4bff745c9b4c7fb1e97b25d13153da2bc7796260141df62378998d070207f" dependencies = [ - "core-foundation-sys", - "libc", + "cookie", + "document-features", + "idna 1.0.3", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "time", + "url", ] [[package]] @@ -685,6 +787,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc" version = "3.3.0" @@ -702,9 +813,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -771,6 +882,18 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -788,8 +911,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", + "digest", "fiat-crypto", "rustc_version", "subtle", @@ -804,14 +928,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] name = "darling" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ "darling_core", "darling_macro", @@ -819,40 +943,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", - "syn 2.0.101", + "strsim", + "syn", ] [[package]] name = "darling_macro" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core", "quote", - "syn 2.0.101", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", + "syn", ] [[package]] @@ -881,6 +992,17 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b" +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + [[package]] name = "deranged" version = "0.4.0" @@ -899,7 +1021,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -927,6 +1049,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -952,6 +1075,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags", + "objc2", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -960,14 +1093,17 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] -name = "doc-comment" -version = "0.3.3" +name = "document-features" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] [[package]] name = "dunce" @@ -981,12 +1117,71 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +dependencies = [ + "curve25519-dalek", + "ed25519", + "serde", + "sha2", + "subtle", + "zeroize", +] + [[package]] name = "either" version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "hkdf", + "pem-rfc7468", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + [[package]] name = "encoding_rs" version = "0.8.35" @@ -1005,7 +1200,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1042,21 +1237,22 @@ dependencies = [ [[package]] name = "etcetera" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +checksum = "26c7b13d0780cb82722fd59f6f57f925e143427e4a75313a6c77243bf5326ae6" dependencies = [ "cfg-if", "home", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] name = "faster-hex" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" +checksum = "7223ae2d2f179b803433d9c830478527e92b8117eab39460edae7f1614d9fb73" dependencies = [ + "heapless", "serde", ] @@ -1066,6 +1262,16 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "fiat-crypto" version = "0.2.9" @@ -1089,14 +1295,13 @@ checksum = "31a7a908b8f32538a2143e59a6e4e2508988832d5d4d6f7c156b3cbc762643a5" [[package]] name = "filetime" -version = "0.2.25" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" dependencies = [ "cfg-if", "libc", "libredox", - "windows-sys 0.59.0", ] [[package]] @@ -1108,17 +1313,23 @@ dependencies = [ "toml 0.5.11", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + [[package]] name = "fixedbitset" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", @@ -1189,6 +1400,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1198,6 +1415,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + [[package]] name = "futures" version = "0.3.31" @@ -1254,7 +1477,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -1295,16 +1518,17 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] name = "gethostname" -version = "0.5.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc3655aa6818d65bc620d6911f05aa7b6aeb596291e1e9f79e52df85583d1e30" +checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" dependencies = [ - "rustix 0.38.44", - "windows-targets 0.52.6", + "rustix 1.1.4", + "windows-link 0.2.1", ] [[package]] @@ -1335,693 +1559,422 @@ dependencies = [ ] [[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "gix" -version = "0.68.0" +name = "getrandom" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b04c66359b5e17f92395abc433861df0edf48f39f3f590818d1d7217327dd6a1" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" dependencies = [ - "gix-actor", - "gix-archive 0.17.0", - "gix-attributes 0.23.1", - "gix-command 0.3.11", - "gix-commitgraph 0.25.1", - "gix-config 0.42.0", - "gix-credentials 0.25.1", - "gix-date", - "gix-diff 0.48.0", - "gix-dir 0.10.0", - "gix-discover 0.37.0", - "gix-features 0.39.1", - "gix-filter 0.15.0", - "gix-fs 0.12.1", - "gix-glob 0.17.1", - "gix-hash 0.15.1", - "gix-hashtable 0.6.0", - "gix-ignore 0.12.1", - "gix-index 0.37.0", - "gix-lock 15.0.1", - "gix-mailmap", - "gix-negotiate 0.17.0", - "gix-object 0.46.1", - "gix-odb 0.65.0", - "gix-pack 0.55.0", - "gix-path", - "gix-pathspec 0.8.1", - "gix-prompt 0.8.9", - "gix-protocol 0.46.1", - "gix-ref 0.49.1", - "gix-refspec 0.27.0", - "gix-revision 0.31.1", - "gix-revwalk 0.17.0", - "gix-sec", - "gix-status 0.15.0", - "gix-submodule 0.16.0", - "gix-tempfile 15.0.0", - "gix-trace", - "gix-transport 0.43.1", - "gix-traverse 0.43.1", - "gix-url 0.28.2", - "gix-utils", - "gix-validate 0.9.4", - "gix-worktree 0.38.0", - "gix-worktree-state 0.15.0", - "gix-worktree-stream 0.17.0", - "once_cell", - "parking_lot", - "regex", - "signal-hook", - "smallvec", - "thiserror 2.0.12", + "cfg-if", + "libc", + "r-efi", + "rand_core 0.10.0", + "wasip2", + "wasip3", ] [[package]] name = "gix" -version = "0.70.0" +version = "0.80.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736f14636705f3a56ea52b553e67282519418d9a35bb1e90b3a9637a00296b68" +checksum = "5aa56fdbfe98258af2759818ddc3175cc581112660e74c3fd55669836d29a994" dependencies = [ "gix-actor", - "gix-archive 0.19.0", - "gix-attributes 0.24.0", - "gix-command 0.4.1", - "gix-commitgraph 0.26.0", - "gix-config 0.43.0", - "gix-credentials 0.27.0", + "gix-archive", + "gix-attributes", + "gix-blame", + "gix-command", + "gix-commitgraph", + "gix-config", + "gix-credentials", "gix-date", - "gix-diff 0.50.0", - "gix-dir 0.12.0", - "gix-discover 0.38.0", - "gix-features 0.40.0", - "gix-filter 0.17.0", - "gix-fs 0.13.0", - "gix-glob 0.18.0", - "gix-hash 0.16.0", - "gix-hashtable 0.7.0", - "gix-ignore 0.13.0", - "gix-index 0.38.0", - "gix-lock 16.0.0", + "gix-diff", + "gix-dir", + "gix-discover", + "gix-error", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-hashtable", + "gix-ignore", + "gix-index", + "gix-lock", "gix-mailmap", - "gix-negotiate 0.18.0", - "gix-object 0.47.0", - "gix-odb 0.67.0", - "gix-pack 0.57.0", + "gix-negotiate", + "gix-object", + "gix-odb", + "gix-pack", "gix-path", - "gix-pathspec 0.9.0", - "gix-prompt 0.9.1", - "gix-protocol 0.48.0", - "gix-ref 0.50.0", - "gix-refspec 0.28.0", - "gix-revision 0.32.0", - "gix-revwalk 0.18.0", + "gix-pathspec", + "gix-prompt", + "gix-protocol", + "gix-ref", + "gix-refspec", + "gix-revision", + "gix-revwalk", "gix-sec", "gix-shallow", - "gix-status 0.17.0", - "gix-submodule 0.17.0", - "gix-tempfile 16.0.0", + "gix-status", + "gix-submodule", + "gix-tempfile", "gix-trace", - "gix-transport 0.45.0", - "gix-traverse 0.44.0", - "gix-url 0.29.0", + "gix-transport", + "gix-traverse", + "gix-url", "gix-utils", - "gix-validate 0.9.4", - "gix-worktree 0.39.0", - "gix-worktree-state 0.17.0", - "gix-worktree-stream 0.19.0", - "once_cell", + "gix-validate", + "gix-worktree", + "gix-worktree-state", + "gix-worktree-stream", + "nonempty", "parking_lot", "regex", "signal-hook", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-actor" -version = "0.33.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20018a1a6332e065f1fcc8305c1c932c6b8c9985edea2284b3c79dc6fa3ee4b2" -dependencies = [ - "bstr", - "gix-date", - "gix-utils", - "itoa", - "thiserror 2.0.12", - "winnow 0.6.26", -] - -[[package]] -name = "gix-archive" -version = "0.17.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a5a8c89ece1375ca7299c80cda039d2a0a5837f2d1d576bb9259e0c6fadad5" +checksum = "0e5e5b518339d5e6718af108fd064d4e9ba33caf728cf487352873d76411df35" dependencies = [ "bstr", "gix-date", - "gix-object 0.46.1", - "gix-worktree-stream 0.17.0", - "jiff 0.1.29", - "thiserror 2.0.12", + "gix-error", + "winnow", ] [[package]] name = "gix-archive" -version = "0.19.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d22c6ecdb350461a975159ebe514294064b9542a4cbc4a12d00c3f46a1107ce" +checksum = "12fee3b0b2a30d01ceebd1ff134b187019b5eaedd2901c2e980d7264ee8758dd" dependencies = [ "bstr", "gix-date", - "gix-object 0.47.0", - "gix-worktree-stream 0.19.0", - "jiff 0.1.29", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-attributes" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf9bf852194c0edfe699a2d36422d2c1f28f73b7c6d446c3f0ccd3ba232cadc" -dependencies = [ - "bstr", - "gix-glob 0.17.1", - "gix-path", - "gix-quote", - "gix-trace", - "kstring", - "smallvec", - "thiserror 2.0.12", - "unicode-bom", + "gix-error", + "gix-object", + "gix-worktree-stream", ] [[package]] name = "gix-attributes" -version = "0.24.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f151000bf662ef5f641eca6102d942ee31ace80f271a3ef642e99776ce6ddb38" +checksum = "c233d6eaa098c0ca5ce03236fd7a96e27f1abe72fad74b46003fbd11fe49563c" dependencies = [ "bstr", - "gix-glob 0.18.0", + "gix-glob", "gix-path", "gix-quote", "gix-trace", "kstring", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", "unicode-bom", ] [[package]] name = "gix-bitmap" -version = "0.2.14" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1db9765c69502650da68f0804e3dc2b5f8ccc6a2d104ca6c85bc40700d37540" +checksum = "e7add20f40d060db8c9b1314d499bac6ed7480f33eb113ce3e1cf5d6ff85d989" dependencies = [ - "thiserror 2.0.12", + "gix-error", ] [[package]] -name = "gix-chunk" -version = "0.4.11" +name = "gix-blame" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b1f1d8764958699dc764e3f727cef280ff4d1bd92c107bbf8acd85b30c1bd6f" +checksum = "2093922a26722186a2ea36615d581639299ca7d68241d8116d8c441da6f96b1a" dependencies = [ - "thiserror 2.0.12", + "gix-commitgraph", + "gix-date", + "gix-diff", + "gix-error", + "gix-hash", + "gix-object", + "gix-revwalk", + "gix-trace", + "gix-traverse", + "gix-worktree", + "smallvec", + "thiserror 2.0.18", ] [[package]] -name = "gix-command" -version = "0.3.11" +name = "gix-chunk" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7d6b8f3a64453fd7e8191eb80b351eb7ac0839b40a1237cd2c137d5079fe53" +checksum = "1096b6608fbe5d27fb4984e20f992b4e76fb8c613f6acb87d07c5831b53a6959" dependencies = [ - "bstr", - "gix-path", - "gix-trace", - "shell-words", + "gix-error", ] [[package]] name = "gix-command" -version = "0.4.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb410b84d6575db45e62025a9118bdbf4d4b099ce7575a76161e898d9ca98df1" +checksum = "b849c65a609f50d02f8a2774fe371650b3384a743c79c2a070ce0da49b7fb7da" dependencies = [ "bstr", "gix-path", + "gix-quote", "gix-trace", "shell-words", ] [[package]] name = "gix-commitgraph" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8da6591a7868fb2b6dabddea6b09988b0b05e0213f938dbaa11a03dd7a48d85" -dependencies = [ - "bstr", - "gix-chunk", - "gix-features 0.39.1", - "gix-hash 0.15.1", - "memmap2", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-commitgraph" -version = "0.26.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e23a8ec2d8a16026a10dafdb6ed51bcfd08f5d97f20fa52e200bc50cb72e4877" +checksum = "aea2fcfa6bc7329cd094696ba76682b89bdb61cafc848d91b34abba1c1d7e040" dependencies = [ "bstr", "gix-chunk", - "gix-features 0.40.0", - "gix-hash 0.16.0", + "gix-error", + "gix-hash", "memmap2", - "thiserror 2.0.12", + "nonempty", ] [[package]] name = "gix-config" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6649b406ca1f99cb148959cf00468b231f07950f8ec438cc0903cda563606f19" -dependencies = [ - "bstr", - "gix-config-value", - "gix-features 0.39.1", - "gix-glob 0.17.1", - "gix-path", - "gix-ref 0.49.1", - "gix-sec", - "memchr", - "once_cell", - "smallvec", - "thiserror 2.0.12", - "unicode-bom", - "winnow 0.6.26", -] - -[[package]] -name = "gix-config" -version = "0.43.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377c1efd2014d5d469e0b3cd2952c8097bce9828f634e04d5665383249f1d9e9" +checksum = "8c24b190bd42b55724368c28ae750840b48e2038b9b5281202de6fca4ec1fce1" dependencies = [ "bstr", "gix-config-value", - "gix-features 0.40.0", - "gix-glob 0.18.0", + "gix-features", + "gix-glob", "gix-path", - "gix-ref 0.50.0", + "gix-ref", "gix-sec", "memchr", - "once_cell", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", "unicode-bom", - "winnow 0.6.26", + "winnow", ] [[package]] name = "gix-config-value" -version = "0.14.12" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dc2c844c4cf141884678cabef736fd91dd73068b9146e6f004ba1a0457944b6" +checksum = "441a300bc3645a1f45cba495b9175f90f47256ce43f2ee161da0031e3ac77c92" dependencies = [ "bitflags", "bstr", "gix-path", "libc", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-credentials" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be87bb8685fc7e6e7032ef71c45068ffff609724a0c897b8047fde10db6ae71" -dependencies = [ - "bstr", - "gix-command 0.3.11", - "gix-config-value", - "gix-path", - "gix-prompt 0.8.9", - "gix-sec", - "gix-trace", - "gix-url 0.28.2", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-credentials" -version = "0.27.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf950f9ee1690bb9c4388b5152baa8a9f41ad61e5cf1ba0ec8c207b08dab9e45" +checksum = "604b2d440d293a0017cbe60ee87fe10337f6e1d224dd6a147619e849e2be4623" dependencies = [ "bstr", - "gix-command 0.4.1", + "gix-command", "gix-config-value", + "gix-date", "gix-path", - "gix-prompt 0.9.1", + "gix-prompt", "gix-sec", "gix-trace", - "gix-url 0.29.0", - "thiserror 2.0.12", + "gix-url", + "thiserror 2.0.18", ] [[package]] name = "gix-date" -version = "0.9.4" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa30058ec7d3511fbc229e4f9e696a35abd07ec5b82e635eff864a2726217e4" +checksum = "6c2f2155782090fd947c2f7904166b9f3c3da0d91358adb011f753ea3a55c0ff" dependencies = [ "bstr", + "gix-error", "itoa", - "jiff 0.2.14", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-diff" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a327be31a392144b60ab0b1c863362c32a1c8f7effdfa2141d5d5b6b916ef3bf" -dependencies = [ - "bstr", - "gix-command 0.3.11", - "gix-filter 0.15.0", - "gix-fs 0.12.1", - "gix-hash 0.15.1", - "gix-object 0.46.1", - "gix-path", - "gix-tempfile 15.0.0", - "gix-trace", - "gix-traverse 0.43.1", - "gix-worktree 0.38.0", - "imara-diff", - "thiserror 2.0.12", + "jiff", + "smallvec", ] [[package]] name = "gix-diff" -version = "0.50.0" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62afb7f4ca0acdf4e9dad92065b2eb1bf2993bcc5014b57bc796e3a365b17c4d" +checksum = "60592771b104eda4e537c311e8239daef0df651d61e0e21855f7e6166416ff12" dependencies = [ "bstr", - "gix-attributes 0.24.0", - "gix-command 0.4.1", - "gix-filter 0.17.0", - "gix-fs 0.13.0", - "gix-hash 0.16.0", - "gix-index 0.38.0", - "gix-object 0.47.0", + "gix-attributes", + "gix-command", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-index", + "gix-object", "gix-path", - "gix-pathspec 0.9.0", - "gix-tempfile 16.0.0", + "gix-pathspec", + "gix-tempfile", "gix-trace", - "gix-traverse 0.44.0", - "gix-worktree 0.39.0", - "imara-diff", - "thiserror 2.0.12", + "gix-traverse", + "gix-worktree", + "imara-diff 0.1.8", + "imara-diff 0.2.0", + "thiserror 2.0.18", ] [[package]] name = "gix-dir" -version = "0.10.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd6a0618958f9cce78a32724f8e06c4f4a57ca7080f645736d53676dc9b4db9" +checksum = "3b483ca64cc32d9e33fa617be153ec90525ad77db51106a5f725805a066dc001" dependencies = [ "bstr", - "gix-discover 0.37.0", - "gix-fs 0.12.1", - "gix-ignore 0.12.1", - "gix-index 0.37.0", - "gix-object 0.46.1", + "gix-discover", + "gix-fs", + "gix-ignore", + "gix-index", + "gix-object", "gix-path", - "gix-pathspec 0.8.1", + "gix-pathspec", "gix-trace", "gix-utils", - "gix-worktree 0.38.0", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-dir" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1d78db3927a12f7d1b788047b84efacaab03ef25738bd1c77856ad8966bd57b" -dependencies = [ - "bstr", - "gix-discover 0.38.0", - "gix-fs 0.13.0", - "gix-ignore 0.13.0", - "gix-index 0.38.0", - "gix-object 0.47.0", - "gix-path", - "gix-pathspec 0.9.0", - "gix-trace", - "gix-utils", - "gix-worktree 0.39.0", - "thiserror 2.0.12", + "gix-worktree", + "thiserror 2.0.18", ] [[package]] name = "gix-discover" -version = "0.37.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bf6dfa4e266a4a9becb4d18fc801f92c3f7cc6c433dd86fdadbcf315ffb6ef" +checksum = "810764b92e8cb95e4d91b7adfc5a14666434fd32ace02900dfb66aae71f845df" dependencies = [ "bstr", "dunce", - "gix-fs 0.12.1", - "gix-hash 0.15.1", + "gix-fs", "gix-path", - "gix-ref 0.49.1", + "gix-ref", "gix-sec", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] -name = "gix-discover" -version = "0.38.0" +name = "gix-error" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c2414bdf04064e0f5a5aa029dfda1e663cf9a6c4bfc8759f2d369299bb65d8" +checksum = "f2dfe8025209bf2a72d97a6f2dff105b93e5ebcf131ffa3d3f1728ce4ac3767b" dependencies = [ "bstr", - "dunce", - "gix-fs 0.13.0", - "gix-hash 0.16.0", - "gix-path", - "gix-ref 0.50.0", - "gix-sec", - "thiserror 2.0.12", ] [[package]] name = "gix-features" -version = "0.39.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d85d673f2e022a340dba4713bed77ef2cf4cd737d2f3e0f159d45e0935fd81f" -dependencies = [ - "bytes", - "bytesize 1.3.3", - "crc32fast", - "crossbeam-channel", - "flate2", - "gix-hash 0.15.1", - "gix-trace", - "gix-utils", - "libc", - "once_cell", - "parking_lot", - "prodash", - "sha1_smol", - "thiserror 2.0.12", - "walkdir", -] - -[[package]] -name = "gix-features" -version = "0.40.0" +version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bfdd4838a8d42bd482c9f0cb526411d003ee94cc7c7b08afe5007329c71d554" +checksum = "a83a5fe8927de3bb02b0cfb87165dbfb49f04d4c297767443f2e1011ecc15bdd" dependencies = [ "bytes", - "bytesize 1.3.3", + "bytesize", "crc32fast", "crossbeam-channel", - "flate2", - "gix-hash 0.16.0", + "gix-path", "gix-trace", "gix-utils", "libc", "once_cell", "parking_lot", "prodash", - "sha1_smol", - "thiserror 2.0.12", + "thiserror 2.0.18", "walkdir", + "zlib-rs", ] [[package]] name = "gix-filter" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5108cc58d58b27df10ac4de7f31b2eb96d588a33e5eba23739b865f5d8db7995" -dependencies = [ - "bstr", - "encoding_rs", - "gix-attributes 0.23.1", - "gix-command 0.3.11", - "gix-hash 0.15.1", - "gix-object 0.46.1", - "gix-packetline-blocking", - "gix-path", - "gix-quote", - "gix-trace", - "gix-utils", - "smallvec", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-filter" -version = "0.17.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdcc36cd7dbc63ed0ec3558645886553d1afd3cd09daa5efb9cba9cceb942bbb" +checksum = "7eda328750accaac05ce7637298fd7d6ba0d5d7bdf49c21f899d0b97e3df822d" dependencies = [ "bstr", "encoding_rs", - "gix-attributes 0.24.0", - "gix-command 0.4.1", - "gix-hash 0.16.0", - "gix-object 0.47.0", - "gix-packetline-blocking", + "gix-attributes", + "gix-command", + "gix-hash", + "gix-object", + "gix-packetline", "gix-path", "gix-quote", "gix-trace", "gix-utils", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-fs" -version = "0.12.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3d4fac505a621f97e5ce2c69fdc425742af00c0920363ca4074f0eb48b1db9" +checksum = "de4bd0d8e6c6ef03485205f8eecc0359042a866d26dba569075db1ebcc005970" dependencies = [ - "fastrand", - "gix-features 0.39.1", - "gix-utils", -] - -[[package]] -name = "gix-fs" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "182e7fa7bfdf44ffb7cfe7451b373cdf1e00870ac9a488a49587a110c562063d" -dependencies = [ - "fastrand", - "gix-features 0.40.0", - "gix-utils", -] - -[[package]] -name = "gix-glob" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf69a6bec0a3581567484bf99a4003afcaf6c469fd4214352517ea355cf3435" -dependencies = [ - "bitflags", "bstr", - "gix-features 0.39.1", + "fastrand", + "gix-features", "gix-path", + "gix-utils", + "thiserror 2.0.18", ] [[package]] name = "gix-glob" -version = "0.18.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9c7249fa0a78f9b363aa58323db71e0a6161fd69860ed6f48dedf0ef3a314e" +checksum = "b03e6cd88cc0dc1eafa1fddac0fb719e4e74b6ea58dd016e71125fde4a326bee" dependencies = [ "bitflags", "bstr", - "gix-features 0.40.0", + "gix-features", "gix-path", ] [[package]] name = "gix-hash" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5eccc17194ed0e67d49285e4853307e4147e95407f91c1c3e4a13ba9f4e4ce" -dependencies = [ - "faster-hex", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-hash" -version = "0.16.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e81c5ec48649b1821b3ed066a44efb95f1a268b35c1d91295e61252539fbe9f8" +checksum = "d8ced05d2d7b13bff08b2f7eb4e47cfeaf00b974c2ddce08377c4fe1f706b3eb" dependencies = [ "faster-hex", - "thiserror 2.0.12", + "gix-features", + "sha1-checked", + "thiserror 2.0.18", ] [[package]] name = "gix-hashtable" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef65b256631078ef733bc5530c4e6b1c2e7d5c2830b75d4e9034ab3997d18fe" -dependencies = [ - "gix-hash 0.15.1", - "hashbrown 0.14.5", - "parking_lot", -] - -[[package]] -name = "gix-hashtable" -version = "0.7.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "189130bc372accd02e0520dc5ab1cef318dcc2bc829b76ab8d84bbe90ac212d1" +checksum = "52f1eecdd006390cbed81f105417dbf82a6fe40842022006550f2e32484101da" dependencies = [ - "gix-hash 0.16.0", - "hashbrown 0.14.5", + "gix-hash", + "hashbrown 0.16.1", "parking_lot", ] [[package]] name = "gix-ignore" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b1fb24d2a4af0aa7438e2771d60c14a80cf2c9bd55c29cf1712b841f05bb8a" -dependencies = [ - "bstr", - "gix-glob 0.17.1", - "gix-path", - "gix-trace", - "unicode-bom", -] - -[[package]] -name = "gix-ignore" -version = "0.13.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f529dcb80bf9855c0a7c49f0ac588df6d6952d63a63fefc254b9c869d2cdf6f" +checksum = "8953d87c13267e296d547f0fc7eaa8aa8fa5b2a9a34ab1cd5857f25240c7d299" dependencies = [ "bstr", - "gix-glob 0.18.0", + "gix-glob", "gix-path", "gix-trace", "unicode-bom", @@ -2029,663 +1982,366 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "270645fd20556b64c8ffa1540d921b281e6994413a0ca068596f97e9367a257a" -dependencies = [ - "bitflags", - "bstr", - "filetime", - "fnv", - "gix-bitmap", - "gix-features 0.39.1", - "gix-fs 0.12.1", - "gix-hash 0.15.1", - "gix-lock 15.0.1", - "gix-object 0.46.1", - "gix-traverse 0.43.1", - "gix-utils", - "gix-validate 0.9.4", - "hashbrown 0.14.5", - "itoa", - "libc", - "memmap2", - "rustix 0.38.44", - "smallvec", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-index" -version = "0.38.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd12e3626879369310fffe2ac61acc828613ef656b50c4ea984dd59d7dc85d8" +checksum = "13b28482b86662c8b78160e0750b097a35fd61185803a960681351b3a07de07e" dependencies = [ "bitflags", "bstr", "filetime", "fnv", "gix-bitmap", - "gix-features 0.40.0", - "gix-fs 0.13.0", - "gix-hash 0.16.0", - "gix-lock 16.0.0", - "gix-object 0.47.0", - "gix-traverse 0.44.0", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-traverse", "gix-utils", - "gix-validate 0.9.4", - "hashbrown 0.14.5", + "gix-validate", + "hashbrown 0.16.1", "itoa", "libc", "memmap2", - "rustix 0.38.44", + "rustix 1.1.4", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-lock" -version = "15.0.1" +version = "21.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd3ab68a452db63d9f3ebdacb10f30dba1fa0d31ac64f4203d395ed1102d940" +checksum = "cbe09cf05ba7c679bba189acc29eeea137f643e7fff1b5dff879dfd45248be31" dependencies = [ - "gix-tempfile 15.0.0", + "gix-tempfile", "gix-utils", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-lock" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9739815270ff6940968441824d162df9433db19211ca9ba8c3fc1b50b849c642" -dependencies = [ - "gix-tempfile 16.0.0", - "gix-utils", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-mailmap" -version = "0.25.2" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017996966133afb1e631796d8cf32e43300f8f76233f2a15ce9af5be5069b0a6" +checksum = "c7b4818da522786ec7e32a00884ee8fc40fa4c215c3997c0b15f7b62684d1199" dependencies = [ "bstr", "gix-actor", "gix-date", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-negotiate" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d27f830a16405386e9c83b9d5be8261fe32bbd6b3caf15bd1b284c6b2b7ef1a8" -dependencies = [ - "bitflags", - "gix-commitgraph 0.25.1", - "gix-date", - "gix-hash 0.15.1", - "gix-object 0.46.1", - "gix-revwalk 0.17.0", - "smallvec", - "thiserror 2.0.12", + "gix-error", ] [[package]] name = "gix-negotiate" -version = "0.18.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a8af1ef7bbe303d30b55312b7f4d33e955de43a3642ae9b7347c623d80ef80" +checksum = "5a925ec9bc3664eaff9c7dc49bc857fe0de7e90ece6e092cb66ba923812824db" dependencies = [ "bitflags", - "gix-commitgraph 0.26.0", - "gix-date", - "gix-hash 0.16.0", - "gix-object 0.47.0", - "gix-revwalk 0.18.0", - "smallvec", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-object" -version = "0.46.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42d58010183ef033f31088479b4eb92b44fe341b35b62d39eb8b185573d77ea" -dependencies = [ - "bstr", - "gix-actor", + "gix-commitgraph", "gix-date", - "gix-features 0.39.1", - "gix-hash 0.15.1", - "gix-hashtable 0.6.0", - "gix-path", - "gix-utils", - "gix-validate 0.9.4", - "itoa", - "smallvec", - "thiserror 2.0.12", - "winnow 0.6.26", + "gix-hash", + "gix-object", + "gix-revwalk", ] [[package]] name = "gix-object" -version = "0.47.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc4b3a0044244f0fe22347fb7a79cca165e37829d668b41b85ff46a43e5fd68" +checksum = "013eae8e072c6155191ac266950dfbc8d162408642571b32e2c6b3e4b03740fb" dependencies = [ "bstr", "gix-actor", "gix-date", - "gix-features 0.40.0", - "gix-hash 0.16.0", - "gix-hashtable 0.7.0", + "gix-features", + "gix-hash", + "gix-hashtable", "gix-path", "gix-utils", - "gix-validate 0.9.4", + "gix-validate", "itoa", "smallvec", - "thiserror 2.0.12", - "winnow 0.6.26", -] - -[[package]] -name = "gix-odb" -version = "0.65.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bed6e1b577c25a6bb8e6ecbf4df525f29a671ddf5f2221821a56a8dbeec4e3" -dependencies = [ - "arc-swap", - "gix-date", - "gix-features 0.39.1", - "gix-fs 0.12.1", - "gix-hash 0.15.1", - "gix-hashtable 0.6.0", - "gix-object 0.46.1", - "gix-pack 0.55.0", - "gix-path", - "gix-quote", - "parking_lot", - "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.18", + "winnow", ] [[package]] name = "gix-odb" -version = "0.67.0" +version = "0.77.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e93457df69cd09573608ce9fa4f443fbd84bc8d15d8d83adecd471058459c1b" +checksum = "f8901a182923799e8857ac01bff6d7c6fecea999abd79a86dab638aadbb843f3" dependencies = [ "arc-swap", - "gix-date", - "gix-features 0.40.0", - "gix-fs 0.13.0", - "gix-hash 0.16.0", - "gix-hashtable 0.7.0", - "gix-object 0.47.0", - "gix-pack 0.57.0", + "gix-features", + "gix-fs", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-pack", "gix-path", "gix-quote", "parking_lot", "tempfile", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-pack" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b91fec04d359544fecbb8e85117ec746fbaa9046ebafcefb58cb74f20dc76d4" -dependencies = [ - "clru", - "gix-chunk", - "gix-features 0.39.1", - "gix-hash 0.15.1", - "gix-hashtable 0.6.0", - "gix-object 0.46.1", - "gix-path", - "gix-tempfile 15.0.0", - "memmap2", - "parking_lot", - "smallvec", - "thiserror 2.0.12", - "uluru", + "thiserror 2.0.18", ] [[package]] name = "gix-pack" -version = "0.57.0" +version = "0.67.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc13a475b3db735617017fb35f816079bf503765312d4b1913b18cf96f3fa515" +checksum = "194a9f96f4058359d6874123f160e5b2044974829a29f3a71bb9c9218d1916c3" dependencies = [ "clru", "gix-chunk", - "gix-features 0.40.0", - "gix-hash 0.16.0", - "gix-hashtable 0.7.0", - "gix-object 0.47.0", + "gix-error", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-object", "gix-path", - "gix-tempfile 16.0.0", + "gix-tempfile", "memmap2", "parking_lot", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", "uluru", ] [[package]] name = "gix-packetline" -version = "0.18.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "123844a70cf4d5352441dc06bab0da8aef61be94ec239cb631e0ba01dc6d3a04" -dependencies = [ - "bstr", - "faster-hex", - "gix-trace", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-packetline-blocking" -version = "0.18.3" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecf3ea2e105c7e45587bac04099824301262a6c43357fad5205da36dbb233b3" +checksum = "25429ee1ef792d9b653ee5de09bb525489fc8e6908334cfd5d5824269f0b7073" dependencies = [ "bstr", "faster-hex", "gix-trace", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-path" -version = "0.10.18" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567f65fec4ef10dfab97ae71f26a27fd4d7fe7b8e3f90c8a58551c41ff3fb65b" +checksum = "7163b1633d35846a52ef8093f390cec240e2d55da99b60151883035e5169cd85" dependencies = [ "bstr", "gix-trace", - "gix-validate 0.10.0", - "home", - "once_cell", - "thiserror 2.0.12", + "gix-validate", + "thiserror 2.0.18", ] [[package]] name = "gix-pathspec" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c472dfbe4a4e96fcf7efddcd4771c9037bb4fdea2faaabf2f4888210c75b81e" -dependencies = [ - "bitflags", - "bstr", - "gix-attributes 0.23.1", - "gix-config-value", - "gix-glob 0.17.1", - "gix-path", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-pathspec" -version = "0.9.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6430d3a686c08e9d59019806faa78c17315fe22ae73151a452195857ca02f86c" +checksum = "40e7636782b35bb1d3ade19ea7387278e96fd49f6963ab41bfca81cef4b61b20" dependencies = [ "bitflags", "bstr", - "gix-attributes 0.24.0", + "gix-attributes", "gix-config-value", - "gix-glob 0.18.0", + "gix-glob", "gix-path", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-prompt" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a7822afc4bc9c5fbbc6ce80b00f41c129306b7685cac3248dbfa14784960594" -dependencies = [ - "gix-command 0.3.11", - "gix-config-value", - "parking_lot", - "rustix 0.38.44", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-prompt" -version = "0.9.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79f2185958e1512b989a007509df8d61dca014aa759a22bee80cfa6c594c3b6d" +checksum = "d5b43e9c81bce4e35d90e32405649d47e9fae2ab861d0edbc913fde4df2c6cc7" dependencies = [ - "gix-command 0.4.1", + "gix-command", "gix-config-value", "parking_lot", - "rustix 0.38.44", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-protocol" -version = "0.46.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a7e7e51a0dea531d3448c297e2fa919b2de187111a210c324b7e9f81508b8ca" -dependencies = [ - "bstr", - "gix-credentials 0.25.1", - "gix-date", - "gix-features 0.39.1", - "gix-hash 0.15.1", - "gix-transport 0.43.1", - "gix-utils", - "maybe-async", - "thiserror 2.0.12", - "winnow 0.6.26", + "rustix 1.1.4", + "thiserror 2.0.18", ] [[package]] name = "gix-protocol" -version = "0.48.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c61bd61afc6b67d213241e2100394c164be421e3f7228d3521b04f48ca5ba90" +checksum = "5c64ec7b04c57df6e97a2ac4738a4a09897b88febd6ec4bd2c5d3ff3ad3849df" dependencies = [ "bstr", - "gix-credentials 0.27.0", + "gix-credentials", "gix-date", - "gix-features 0.40.0", - "gix-hash 0.16.0", - "gix-lock 16.0.0", - "gix-negotiate 0.18.0", - "gix-object 0.47.0", - "gix-ref 0.50.0", - "gix-refspec 0.28.0", - "gix-revwalk 0.18.0", + "gix-features", + "gix-hash", + "gix-lock", + "gix-negotiate", + "gix-object", + "gix-ref", + "gix-refspec", + "gix-revwalk", "gix-shallow", "gix-trace", - "gix-transport 0.45.0", + "gix-transport", "gix-utils", "maybe-async", - "thiserror 2.0.12", - "winnow 0.6.26", + "nonempty", + "thiserror 2.0.18", + "winnow", ] [[package]] name = "gix-quote" -version = "0.4.15" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e49357fccdb0c85c0d3a3292a9f6db32d9b3535959b5471bb9624908f4a066c6" +checksum = "68533db71259c8776dd4e770d2b7b98696213ecdc1f5c9e3507119e274e0c578" dependencies = [ "bstr", + "gix-error", "gix-utils", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-ref" -version = "0.49.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91b61776c839d0f1b7114901179afb0947aa7f4d30793ca1c56d335dfef485f" -dependencies = [ - "gix-actor", - "gix-features 0.39.1", - "gix-fs 0.12.1", - "gix-hash 0.15.1", - "gix-lock 15.0.1", - "gix-object 0.46.1", - "gix-path", - "gix-tempfile 15.0.0", - "gix-utils", - "gix-validate 0.9.4", - "memmap2", - "thiserror 2.0.12", - "winnow 0.6.26", ] [[package]] name = "gix-ref" -version = "0.50.0" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47adf4c5f933429f8554e95d0d92eee583cfe4b95d2bf665cd6fd4a1531ee20c" +checksum = "7cc7b230945f02d706a49bcf823b671785ecd9e88e713b8bd2ca5db104c97add" dependencies = [ "gix-actor", - "gix-features 0.40.0", - "gix-fs 0.13.0", - "gix-hash 0.16.0", - "gix-lock 16.0.0", - "gix-object 0.47.0", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", "gix-path", - "gix-tempfile 16.0.0", + "gix-tempfile", "gix-utils", - "gix-validate 0.9.4", + "gix-validate", "memmap2", - "thiserror 2.0.12", - "winnow 0.6.26", + "thiserror 2.0.18", + "winnow", ] [[package]] name = "gix-refspec" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00c056bb747868c7eb0aeb352c9f9181ab8ca3d0a2550f16470803500c6c413d" -dependencies = [ - "bstr", - "gix-hash 0.15.1", - "gix-revision 0.31.1", - "gix-validate 0.9.4", - "smallvec", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-refspec" -version = "0.28.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59650228d8f612f68e7f7a25f517fcf386c5d0d39826085492e94766858b0a90" +checksum = "bb3dc194cdc1176fc20f39f233d0d516f83df843ea14a9eb758a2690f3e38d1e" dependencies = [ "bstr", - "gix-hash 0.16.0", - "gix-revision 0.32.0", - "gix-validate 0.9.4", + "gix-error", + "gix-glob", + "gix-hash", + "gix-revision", + "gix-validate", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-revision" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e1ddc474405a68d2ce8485705dd72fe6ce959f2f5fe718601ead5da2c8f9e7" -dependencies = [ - "bitflags", - "bstr", - "gix-commitgraph 0.25.1", - "gix-date", - "gix-hash 0.15.1", - "gix-hashtable 0.6.0", - "gix-object 0.46.1", - "gix-revwalk 0.17.0", - "gix-trace", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-revision" -version = "0.32.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fe28bbccca55da6d66e6c6efc6bb4003c29d407afd8178380293729733e6b53" +checksum = "df9e31cd402edae08c3fdb67917b9fb75b0c9c9bd2fbed0c2dd9c0847039c556" dependencies = [ "bitflags", "bstr", - "gix-commitgraph 0.26.0", + "gix-commitgraph", "gix-date", - "gix-hash 0.16.0", - "gix-hashtable 0.7.0", - "gix-object 0.47.0", - "gix-revwalk 0.18.0", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", "gix-trace", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-revwalk" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510026fc32f456f8f067d8f37c34088b97a36b2229d88a6a5023ef179fcb109d" -dependencies = [ - "gix-commitgraph 0.25.1", - "gix-date", - "gix-hash 0.15.1", - "gix-hashtable 0.6.0", - "gix-object 0.46.1", - "smallvec", - "thiserror 2.0.12", + "nonempty", ] [[package]] name = "gix-revwalk" -version = "0.18.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ecb80c235b1e9ef2b99b23a81ea50dd569a88a9eb767179793269e0e616247" +checksum = "573f6e471d76c0796f0b8ed5a431521ea5d121a7860121a2a9703e9434ab1d52" dependencies = [ - "gix-commitgraph 0.26.0", + "gix-commitgraph", "gix-date", - "gix-hash 0.16.0", - "gix-hashtable 0.7.0", - "gix-object 0.47.0", + "gix-error", + "gix-hash", + "gix-hashtable", + "gix-object", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-sec" -version = "0.10.12" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47aeb0f13de9ef2f3033f5ff218de30f44db827ac9f1286f9ef050aacddd5888" +checksum = "e014df75f3d7f5c98b18b45c202422da6236a1c0c0a50997c3f41e601f3ad511" dependencies = [ "bitflags", "gix-path", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "gix-shallow" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab72543011e303e52733c85bef784603ef39632ddf47f69723def52825e35066" -dependencies = [ - "bstr", - "gix-hash 0.16.0", - "gix-lock 16.0.0", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-status" -version = "0.15.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201396192ee4c4dd9e8a84fed4b0d2b33d639fca815fb99b0f653dfeddf38585" +checksum = "4ee51037c8a27ddb1c7a6d6db2553d01e501d5b1dae7dc65e41905a70960e658" dependencies = [ "bstr", - "filetime", - "gix-diff 0.48.0", - "gix-dir 0.10.0", - "gix-features 0.39.1", - "gix-filter 0.15.0", - "gix-fs 0.12.1", - "gix-hash 0.15.1", - "gix-index 0.37.0", - "gix-object 0.46.1", - "gix-path", - "gix-pathspec 0.8.1", - "gix-worktree 0.38.0", - "portable-atomic", - "thiserror 2.0.12", + "gix-hash", + "gix-lock", + "nonempty", + "thiserror 2.0.18", ] [[package]] name = "gix-status" -version = "0.17.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cc1d85079d7ca32c3ab4a6479bf7e174cd251c74a82339c6cc393da3f4883" +checksum = "6d4b93da8aae2b5c4ec2aaa3663a0914789737ba17383c665e9270a74173e8f6" dependencies = [ "bstr", "filetime", - "gix-diff 0.50.0", - "gix-dir 0.12.0", - "gix-features 0.40.0", - "gix-filter 0.17.0", - "gix-fs 0.13.0", - "gix-hash 0.16.0", - "gix-index 0.38.0", - "gix-object 0.47.0", + "gix-diff", + "gix-dir", + "gix-features", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-index", + "gix-object", "gix-path", - "gix-pathspec 0.9.0", - "gix-worktree 0.39.0", + "gix-pathspec", + "gix-worktree", "portable-atomic", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-submodule" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2455f8c0fcb6ebe2a6e83c8f522d30615d763eb2ef7a23c7d929f9476e89f5c" -dependencies = [ - "bstr", - "gix-config 0.42.0", - "gix-path", - "gix-pathspec 0.8.1", - "gix-refspec 0.27.0", - "gix-url 0.28.2", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-submodule" -version = "0.17.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74972fe8d46ac8a09490ae1e843b4caf221c5b157c5ac17057e8e1c38417a3ac" +checksum = "6cba2022599491d620fbc77b3729dba0120862ce9b4af6e3c47d19a9f2a5d884" dependencies = [ "bstr", - "gix-config 0.43.0", + "gix-config", "gix-path", - "gix-pathspec 0.9.0", - "gix-refspec 0.28.0", - "gix-url 0.29.0", - "thiserror 2.0.12", + "gix-pathspec", + "gix-refspec", + "gix-url", + "thiserror 2.0.18", ] [[package]] name = "gix-tempfile" -version = "15.0.0" +version = "21.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2feb86ef094cc77a4a9a5afbfe5de626897351bbbd0de3cb9314baf3049adb82" +checksum = "9d9ab2c89fe4bfd4f1d8700aa4516534c170d8a21ae2c554167374607c2eaf16" dependencies = [ - "dashmap 6.1.0", - "gix-fs 0.12.1", + "dashmap", + "gix-fs", "libc", - "once_cell", - "parking_lot", - "signal-hook", - "signal-hook-registry", - "tempfile", -] - -[[package]] -name = "gix-tempfile" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2558f423945ef24a8328c55d1fd6db06b8376b0e7013b1bb476cc4ffdf678501" -dependencies = [ - "dashmap 6.1.0", - "gix-fs 0.13.0", - "libc", - "once_cell", "parking_lot", "signal-hook", "signal-hook-registry", @@ -2694,256 +2350,133 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c396a2036920c69695f760a65e7f2677267ccf483f25046977d87e4cb2665f7" -dependencies = [ - "tracing-core", -] - -[[package]] -name = "gix-transport" -version = "0.43.1" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39a1a41357b7236c03e0c984147f823d87c3e445a8581bac7006df141577200b" +checksum = "f69a13643b8437d4ca6845e08143e847a36ca82903eed13303475d0ae8b162e0" dependencies = [ - "base64 0.22.1", - "bstr", - "gix-command 0.3.11", - "gix-credentials 0.25.1", - "gix-features 0.39.1", - "gix-packetline", - "gix-quote", - "gix-sec", - "gix-url 0.28.2", - "reqwest", - "thiserror 2.0.12", + "tracing", ] [[package]] name = "gix-transport" -version = "0.45.0" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11187418489477b1b5b862ae1aedbbac77e582f2c4b0ef54280f20cfe5b964d9" +checksum = "b4d72f5094b9f851e348f2cbb840d026ffd8119fc28bc2bca1387eecd171c815" dependencies = [ "base64 0.22.1", "bstr", - "gix-command 0.4.1", - "gix-credentials 0.27.0", - "gix-features 0.40.0", + "gix-command", + "gix-credentials", + "gix-features", "gix-packetline", "gix-quote", "gix-sec", - "gix-url 0.29.0", - "reqwest", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-traverse" -version = "0.43.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed47d648619e23e93f971d2bba0d10c1100e54ef95d2981d609907a8cabac89" -dependencies = [ - "bitflags", - "gix-commitgraph 0.25.1", - "gix-date", - "gix-hash 0.15.1", - "gix-hashtable 0.6.0", - "gix-object 0.46.1", - "gix-revwalk 0.17.0", - "smallvec", - "thiserror 2.0.12", + "gix-url", + "reqwest 0.13.2", + "thiserror 2.0.18", ] [[package]] name = "gix-traverse" -version = "0.44.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bec70e53896586ef32a3efa7e4427b67308531ed186bb6120fb3eca0f0d61b4" +checksum = "c99b3cf9dc87c13f1404e7b0e8c5e4bff4975d6f788831c02d6c006f3c76b4a0" dependencies = [ "bitflags", - "gix-commitgraph 0.26.0", + "gix-commitgraph", "gix-date", - "gix-hash 0.16.0", - "gix-hashtable 0.7.0", - "gix-object 0.47.0", - "gix-revwalk 0.18.0", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.18", ] [[package]] name = "gix-url" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d096fb733ba6bd3f5403dba8bd72bdd8809fe2b347b57844040b8f49c93492d9" -dependencies = [ - "bstr", - "gix-features 0.39.1", - "gix-path", - "percent-encoding", - "thiserror 2.0.12", - "url", -] - -[[package]] -name = "gix-url" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29218c768b53dd8f116045d87fec05b294c731a4b2bdd257eeca2084cc150b13" -dependencies = [ - "bstr", - "gix-features 0.40.0", - "gix-path", - "percent-encoding", - "thiserror 2.0.12", - "url", -] - -[[package]] -name = "gix-utils" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08f24e03ac8916c478c8419d7d3c33393da9bb41fa4c24455d5406aeefd35f" -dependencies = [ - "bstr", - "fastrand", - "unicode-normalization", -] - -[[package]] -name = "gix-validate" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34b5f1253109da6c79ed7cf6e1e38437080bb6d704c76af14c93e2f255234084" -dependencies = [ - "bstr", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-validate" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b9e00cacde5b51388d28ed746c493b18a6add1f19b5e01d686b3b9ece66d4d" -dependencies = [ - "bstr", - "thiserror 2.0.12", -] - -[[package]] -name = "gix-worktree" -version = "0.38.0" +version = "0.35.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756dbbe15188fa22540d5eab941f8f9cf511a5364d5aec34c88083c09f4bea13" +checksum = "d28e8af3d42581190da884f013caf254d2fd4d6ab102408f08d21bfa11de6c8d" dependencies = [ "bstr", - "gix-attributes 0.23.1", - "gix-features 0.39.1", - "gix-fs 0.12.1", - "gix-glob 0.17.1", - "gix-hash 0.15.1", - "gix-ignore 0.12.1", - "gix-index 0.37.0", - "gix-object 0.46.1", "gix-path", - "gix-validate 0.9.4", + "percent-encoding", + "thiserror 2.0.18", ] [[package]] -name = "gix-worktree" -version = "0.39.0" +name = "gix-utils" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6673512f7eaa57a6876adceca6978a501d6c6569a4f177767dc405f8b9778958" +checksum = "befcdbdfb1238d2854591f760a48711bed85e72d80a10e8f2f93f656746ef7c5" dependencies = [ "bstr", - "gix-attributes 0.24.0", - "gix-features 0.40.0", - "gix-fs 0.13.0", - "gix-glob 0.18.0", - "gix-hash 0.16.0", - "gix-ignore 0.13.0", - "gix-index 0.38.0", - "gix-object 0.47.0", - "gix-path", - "gix-validate 0.9.4", + "fastrand", + "unicode-normalization", ] [[package]] -name = "gix-worktree-state" -version = "0.15.0" +name = "gix-validate" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebd5eead61d37b334bc31810c9980aa72d659044513cae0e342a88fed2c22ba" +checksum = "0ec1eff98d91941f47766367cba1be746bab662bad761d9891ae6f7882f7840b" dependencies = [ "bstr", - "gix-features 0.39.1", - "gix-filter 0.15.0", - "gix-fs 0.12.1", - "gix-glob 0.17.1", - "gix-hash 0.15.1", - "gix-index 0.37.0", - "gix-object 0.46.1", - "gix-path", - "gix-worktree 0.38.0", - "io-close", - "thiserror 2.0.12", ] [[package]] -name = "gix-worktree-state" -version = "0.17.0" +name = "gix-worktree" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f5e199ad5af972086683bd31d640c82cb85885515bf86d86236c73ce575bf0" +checksum = "005627fc149315f39473e3e94a50058dd5d345c490a23723f67f32ee9c505232" dependencies = [ "bstr", - "gix-features 0.40.0", - "gix-filter 0.17.0", - "gix-fs 0.13.0", - "gix-glob 0.18.0", - "gix-hash 0.16.0", - "gix-index 0.38.0", - "gix-object 0.47.0", + "gix-attributes", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-ignore", + "gix-index", + "gix-object", "gix-path", - "gix-worktree 0.39.0", - "io-close", - "thiserror 2.0.12", + "gix-validate", ] [[package]] -name = "gix-worktree-stream" -version = "0.17.0" +name = "gix-worktree-state" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1879375cbd896823237480a3034aa9fa056b4f9dc9f35a4ac8cd4dc052b2793" +checksum = "8b9ffce16a83def3651ee4c9872960f4582652fbcc8bbee568c9bae6ffa23894" dependencies = [ - "gix-attributes 0.23.1", - "gix-features 0.39.1", - "gix-filter 0.15.0", - "gix-fs 0.12.1", - "gix-hash 0.15.1", - "gix-object 0.46.1", + "bstr", + "gix-features", + "gix-filter", + "gix-fs", + "gix-index", + "gix-object", "gix-path", - "gix-traverse 0.43.1", - "parking_lot", - "thiserror 2.0.12", + "gix-worktree", + "io-close", + "thiserror 2.0.18", ] [[package]] name = "gix-worktree-stream" -version = "0.19.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61b0463c3cf4d07f2c72a10bdb03a2e4d70a9c26416c639346ad67456834485" +checksum = "805ff4ecc1c8ac02e8d1969521d54cd446fae7397f5db3f4d06c5f0fbaa4dd64" dependencies = [ - "gix-attributes 0.24.0", - "gix-features 0.40.0", - "gix-filter 0.17.0", - "gix-fs 0.13.0", - "gix-hash 0.16.0", - "gix-object 0.47.0", + "gix-attributes", + "gix-error", + "gix-features", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-object", "gix-path", - "gix-traverse 0.44.0", + "gix-traverse", "parking_lot", - "thiserror 2.0.12", ] [[package]] @@ -2970,6 +2503,17 @@ dependencies = [ "walkdir", ] +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "h2" version = "0.4.10" @@ -2982,13 +2526,22 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.9.0", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", "tracing", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -3000,10 +2553,6 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] [[package]] name = "hashbrown" @@ -3011,7 +2560,28 @@ version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ - "foldhash", + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", ] [[package]] @@ -3166,15 +2736,18 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", "futures-util", "http", "http-body", "hyper", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.5.9", "tokio", "tower-service", "tracing", @@ -3196,9 +2769,9 @@ dependencies = [ [[package]] name = "i18n-embed" -version = "0.14.1" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94205d95764f5bb9db9ea98fa77f89653365ca748e27161f5bbea2ffd50e459c" +checksum = "669ffc2c93f97e6ddf06ddbe999fcd6782e3342978bb85f7d3c087c7978404c4" dependencies = [ "arc-swap", "fluent", @@ -3206,7 +2779,6 @@ dependencies = [ "fluent-syntax", "i18n-embed-impl", "intl-memoizer", - "lazy_static", "log", "parking_lot", "rust-embed", @@ -3217,22 +2789,20 @@ dependencies = [ [[package]] name = "i18n-embed-fl" -version = "0.7.0" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc1f8715195dffc4caddcf1cf3128da15fe5d8a137606ea8856c9300047d5a2" +checksum = "04b2969d0b3fc6143776c535184c19722032b43e6a642d710fa3f88faec53c2d" dependencies = [ - "dashmap 5.5.3", "find-crate", "fluent", "fluent-syntax", "i18n-config", "i18n-embed", - "lazy_static", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "strsim 0.10.0", - "syn 2.0.101", + "strsim", + "syn", "unic-langid", ] @@ -3246,7 +2816,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -3359,6 +2929,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -3421,6 +2997,16 @@ dependencies = [ "hashbrown 0.15.3", ] +[[package]] +name = "imara-diff" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f01d462f766df78ab820dd06f5eb700233c51f0f4c2e846520eaf4ba6aa5c5c" +dependencies = [ + "hashbrown 0.15.3", + "memchr", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -3434,13 +3020,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.15.3", + "hashbrown 0.16.1", "serde", + "serde_core", ] [[package]] @@ -3452,15 +3039,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - [[package]] name = "intl-memoizer" version = "0.5.3" @@ -3502,7 +3080,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.9", "widestring", "windows-sys 0.48.0", "winreg", @@ -3541,46 +3119,34 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" - -[[package]] -name = "jiff" -version = "0.1.29" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c04ef77ae73f3cf50510712722f0c4e8b46f5aaa1bf5ffad2ae213e6495e78e5" -dependencies = [ - "log", - "portable-atomic", - "portable-atomic-util", - "serde", -] +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" -version = "0.2.14" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" +checksum = "b3e3d65f018c6ae946ab16e80944b97096ed73c35b221d1c478a6c81d8f57940" dependencies = [ "jiff-static", "jiff-tzdb-platform", "log", "portable-atomic", "portable-atomic-util", - "serde", - "windows-sys 0.59.0", + "serde_core", + "windows-sys 0.61.2", ] [[package]] name = "jiff-static" -version = "0.2.14" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" +checksum = "a17c2b211d863c7fde02cbea8a3c1a439b98e109286554f2860bdded7ff83818" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -3598,6 +3164,28 @@ dependencies = [ "jiff-tzdb", ] +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" version = "0.1.33" @@ -3610,9 +3198,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "14dc6f6450b3f6d4ed5b16327f38fed626d375a886159ca555bd7822c0c3a5a6" dependencies = [ "once_cell", "wasm-bindgen", @@ -3623,22 +3211,30 @@ name = "jsonschemagen" version = "0.1.0" dependencies = [ "comtrya-lib", - "schemars", + "schemars 1.2.1", "serde_json", ] [[package]] name = "jsonwebtoken" -version = "9.3.1" +version = "10.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" +checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1" dependencies = [ "base64 0.22.1", + "ed25519-dalek", + "getrandom 0.2.16", + "hmac", "js-sys", + "p256", + "p384", "pem", - "ring", + "rand 0.8.5", + "rsa", "serde", "serde_json", + "sha2", + "signature", "simple_asn1", ] @@ -3656,12 +3252,21 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libm" @@ -3671,13 +3276,13 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ "bitflags", "libc", - "redox_syscall", + "redox_syscall 0.7.2", ] [[package]] @@ -3704,9 +3309,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" @@ -3714,13 +3319,18 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] @@ -3761,7 +3371,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3a8e7962a5368d5f264d045a5a255e90f9aa3fc1941ae15a8d2940d42cac671" dependencies = [ "cc", - "which", + "which 7.0.3", ] [[package]] @@ -3793,7 +3403,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -3804,9 +3414,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.9.5" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" dependencies = [ "libc", ] @@ -3830,6 +3440,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", + "simd-adler32", ] [[package]] @@ -3888,7 +3499,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.101", + "syn", ] [[package]] @@ -3913,6 +3524,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonempty" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -3921,11 +3538,11 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "normpath" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed" +checksum = "bf23ab2b905654b4cb177e30b629937b3868311d4e1cba859f899c041046e69b" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -3948,6 +3565,22 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + [[package]] name = "num-conv" version = "0.1.0" @@ -3963,39 +3596,212 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "autocfg", + "autocfg", + "libm", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-location" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-system-configuration" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7216bd11cbda54ccabcab84d523dc93b858ec75ecfb3a7d89513fa22464da396" +dependencies = [ + "objc2-core-foundation", ] [[package]] -name = "object" -version = "0.36.7" +name = "objc2-ui-kit" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" dependencies = [ - "memchr", + "bitflags", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-location", + "objc2-core-text", + "objc2-foundation", + "objc2-quartz-core", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" +dependencies = [ + "objc2", + "objc2-foundation", ] [[package]] name = "octocrab" -version = "0.41.2" +version = "0.49.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2dfd11f6efbd39491d71a3864496f0b6f45e2d01b73b26c55d631c4e0dafaef" +checksum = "89f6f72d7084a80bf261bb6b6f83bd633323d5633d5ec7988c6c95b20448b2b5" dependencies = [ "arc-swap", "async-trait", "base64 0.22.1", "bytes", + "cargo_metadata", "cfg-if", "chrono", "either", "futures", "futures-util", + "getrandom 0.2.16", "http", "http-body", "http-body-util", @@ -4007,7 +3813,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project", - "secrecy 0.10.3", + "secrecy", "serde", "serde_json", "serde_path_to_error", @@ -4018,6 +3824,7 @@ dependencies = [ "tower-http", "tracing", "url", + "web-time", ] [[package]] @@ -4058,13 +3865,19 @@ dependencies = [ [[package]] name = "os_info" -version = "3.11.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fc863e2ca13dc2d5c34fb22ea4a588248ac14db929616ba65c45f21744b1e9" +checksum = "e4022a17595a00d6a369236fdae483f0de7f0a339960a53118b818238e132224" dependencies = [ + "android_system_properties", "log", + "nix", + "objc2", + "objc2-foundation", + "objc2-ui-kit", + "schemars 1.2.1", "serde", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4073,11 +3886,35 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + +[[package]] +name = "p384" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -4085,15 +3922,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.5.12", "smallvec", - "windows-targets 0.52.6", + "windows-link 0.2.1", ] [[package]] @@ -4125,6 +3962,15 @@ dependencies = [ "serde", ] +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -4138,7 +3984,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" dependencies = [ "memchr", - "thiserror 2.0.12", + "thiserror 2.0.18", "ucd-trie", ] @@ -4162,7 +4008,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -4178,12 +4024,14 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.5" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", - "indexmap 2.9.0", + "hashbrown 0.15.3", + "indexmap 2.13.0", + "serde", ] [[package]] @@ -4241,7 +4089,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -4256,6 +4104,27 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.32" @@ -4268,7 +4137,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug", "universal-hash", ] @@ -4353,27 +4222,22 @@ dependencies = [ ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "proc-macro-error-attr", "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", + "syn", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "primeorder" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "proc-macro2", - "quote", - "version_check", + "elliptic-curve", ] [[package]] @@ -4395,7 +4259,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -4409,13 +4273,12 @@ dependencies = [ [[package]] name = "prodash" -version = "29.0.2" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04bb108f648884c23b98a0e940ebc2c93c0c3b89f04dbaf7eb8256ce617d1bc" +checksum = "962200e2d7d551451297d9fdce85138374019ada198e30ea9ede38034e27604c" dependencies = [ - "bytesize 2.0.1", + "bytesize", "human_format", - "log", "parking_lot", ] @@ -4432,8 +4295,8 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.1", "rustls", - "socket2", - "thiserror 2.0.12", + "socket2 0.5.9", + "thiserror 2.0.18", "tokio", "tracing", "web-time", @@ -4445,6 +4308,7 @@ version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ + "aws-lc-rs", "bytes", "getrandom 0.3.3", "lru-slab", @@ -4454,7 +4318,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.12", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", @@ -4469,7 +4333,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2", + "socket2 0.5.9", "tracing", "windows-sys 0.59.0", ] @@ -4510,6 +4374,17 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +dependencies = [ + "chacha20 0.10.0", + "getrandom 0.4.1", + "rand_core 0.10.0", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -4548,6 +4423,12 @@ dependencies = [ "getrandom 0.3.3", ] +[[package]] +name = "rand_core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" + [[package]] name = "redox_syscall" version = "0.5.12" @@ -4557,6 +4438,15 @@ dependencies = [ "bitflags", ] +[[package]] +name = "redox_syscall" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d94dd2f7cd932d4dc02cc8b2b50dfd38bd079a4e5d79198b99743d7fcf9a4b4" +dependencies = [ + "bitflags", +] + [[package]] name = "redox_users" version = "0.4.6" @@ -4568,11 +4458,31 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" -version = "1.11.1" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -4582,9 +4492,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -4605,11 +4515,9 @@ checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "base64 0.22.1", "bytes", - "encoding_rs", "futures-channel", "futures-core", "futures-util", - "h2", "http", "http-body", "http-body-util", @@ -4631,7 +4539,6 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-rustls", "tower", @@ -4644,21 +4551,70 @@ dependencies = [ "windows-registry", ] +[[package]] +name = "reqwest" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "mime", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "resolv-conf" version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + [[package]] name = "rhai" -version = "1.21.0" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce4d759a4729a655ddfdbb3ff6e77fb9eadd902dae12319455557796e435d2a6" +checksum = "1f9ef5dabe4c0b43d8f1187dc6beb67b53fe607fff7e30c5eb7f71b814b8c2c1" dependencies = [ "ahash", "bitflags", - "instant", "num-traits", "once_cell", "rhai_codegen", @@ -4666,17 +4622,18 @@ dependencies = [ "smallvec", "smartstring", "thin-vec", + "web-time", ] [[package]] name = "rhai_codegen" -version = "2.2.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a11a05ee1ce44058fa3d5961d05194fdbe3ad6b40f904af764d81b86450e6b" +checksum = "d4322a2a4e8cf30771dd9f27f7f37ca9ac8fe812dddd811096a98483080dabe6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -4693,6 +4650,26 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + [[package]] name = "rust-embed" version = "8.7.2" @@ -4713,7 +4690,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.101", + "syn", "walkdir", ] @@ -4727,12 +4704,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -4769,15 +4740,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.7" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", + "linux-raw-sys 0.12.1", + "windows-sys 0.61.2", ] [[package]] @@ -4786,6 +4757,7 @@ version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ + "aws-lc-rs", "log", "once_cell", "ring", @@ -4826,12 +4798,40 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ + "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -4878,11 +4878,24 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" dependencies = [ "dyn-clone", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -4890,14 +4903,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.101", + "syn", ] [[package]] @@ -4918,11 +4931,16 @@ dependencies = [ ] [[package]] -name = "secrecy" -version = "0.8.0" +name = "sec1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", "zeroize", ] @@ -4937,12 +4955,12 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", - "core-foundation 0.10.0", + "core-foundation", "core-foundation-sys", "libc", "security-framework-sys", @@ -4950,9 +4968,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -4978,13 +4996,17 @@ name = "semver" version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -4998,15 +5020,24 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -5017,19 +5048,20 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] @@ -5044,11 +5076,11 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -5065,18 +5097,18 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.12.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.9.0", - "schemars", - "serde", - "serde_derive", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.1", + "serde_core", "serde_json", "serde_with_macros", "time", @@ -5084,14 +5116,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -5100,7 +5132,7 @@ version = "0.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59e2dd588bf1597a252c3b920e0143eb99b0f76e4e082f4c92ce34fbc9e71ddd" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.13.0", "itoa", "libyml", "memchr", @@ -5116,15 +5148,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] [[package]] -name = "sha1_smol" -version = "1.0.1" +name = "sha1-checked" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" +checksum = "89f599ac0c323ebb1c6082821a54962b839832b03984598375bff3975b804423" +dependencies = [ + "digest", + "sha1", +] [[package]] name = "sha2" @@ -5133,7 +5169,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -5173,9 +5209,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" -version = "0.3.18" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +checksum = "3b57709da74f9ff9f4a27dce9526eec25ca8407c45a7887243b031a58935fb8e" dependencies = [ "libc", "signal-hook-registry", @@ -5183,13 +5219,24 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "simd-adler32" version = "0.3.7" @@ -5204,7 +5251,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", ] @@ -5235,9 +5282,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] @@ -5272,7 +5319,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -5285,6 +5332,32 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -5306,12 +5379,6 @@ dependencies = [ "vte", ] -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -5319,26 +5386,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "1.0.109" +name = "subtle" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "unicode-ident", -] +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.101" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -5362,28 +5419,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags", - "core-foundation 0.9.4", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", + "syn", ] [[package]] @@ -5419,24 +5455,24 @@ checksum = "5e43f5e1f52b3ff81f2cd7276d988364b5afbc1d686a7ccf5531fb61e514cea4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", "tempfile", - "ureq", + "ureq 2.12.1", "venial", "zip", ] [[package]] name = "tempfile" -version = "3.20.0" +version = "3.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", - "rustix 1.0.7", - "windows-sys 0.59.0", + "rustix 1.1.4", + "windows-sys 0.61.2", ] [[package]] @@ -5487,11 +5523,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.18", ] [[package]] @@ -5502,18 +5538,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -5593,17 +5629,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.0" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", "bytes", "libc", "mio", "pin-project-lite", - "socket2", - "windows-sys 0.52.0", + "socket2 0.6.0", + "windows-sys 0.61.2", ] [[package]] @@ -5640,44 +5675,42 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.22" +version = "1.0.3+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "c7614eaf19ad818347db24addfa201729cf2a9b6fdfd9eb0ab870fcacc606c0c" dependencies = [ - "serde", + "indexmap 2.13.0", + "serde_core", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_parser", + "toml_writer", + "winnow", ] [[package]] name = "toml_datetime" -version = "0.6.9" +version = "1.0.0+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" dependencies = [ - "serde", + "serde_core", ] [[package]] -name = "toml_edit" -version = "0.22.26" +name = "toml_parser" +version = "1.0.9+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" dependencies = [ - "indexmap 2.9.0", - "serde", - "serde_spanned", - "toml_datetime", - "toml_write", - "winnow 0.7.10", + "winnow", ] [[package]] -name = "toml_write" -version = "0.1.1" +name = "toml_writer" +version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" [[package]] name = "tower" @@ -5698,9 +5731,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.4" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdb0c213ca27a9f57ab69ddb290fd80d970922355b83ae380b395d3986b8a2e" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "bitflags", "bytes", @@ -5729,9 +5762,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -5741,20 +5774,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -5762,9 +5795,9 @@ dependencies = [ [[package]] name = "tracing-journald" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0b4143302cf1022dac868d521e36e8b27691f72c84b3311750d5188ebba657" +checksum = "2d3a81ed245bfb62592b1e2bc153e77656d94ee6a0497683a65a12ccaf2438d0" dependencies = [ "libc", "tracing-core", @@ -5992,6 +6025,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "universal-hash" version = "0.5.1" @@ -6010,16 +6049,16 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "update-informer" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53813bf5d5f0d8430794f8cc48e99521cc9e298066958d16383ccb8b39d182a7" +checksum = "67b27dcf766dc6ad64c2085201626e1a7955dc1983532bfc8406d552903ace2a" dependencies = [ "etcetera", - "reqwest", + "reqwest 0.12.15", "semver", "serde", "serde_json", - "ureq", + "ureq 3.2.0", ] [[package]] @@ -6034,12 +6073,42 @@ dependencies = [ "once_cell", "rustls", "rustls-pki-types", - "serde", - "serde_json", "url", "webpki-roots 0.26.11", ] +[[package]] +name = "ureq" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc97a28575b85cfedf2a7e7d3cc64b3e11bd8ac766666318003abbacc7a21fc" +dependencies = [ + "base64 0.22.1", + "cookie_store", + "flate2", + "log", + "percent-encoding", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "ureq-proto", + "utf-8", + "webpki-roots 1.0.0", +] + +[[package]] +name = "ureq-proto" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" +dependencies = [ + "base64 0.22.1", + "http", + "httparse", + "log", +] + [[package]] name = "url" version = "2.5.4" @@ -6052,6 +6121,12 @@ dependencies = [ "serde", ] +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + [[package]] name = "utf8_iter" version = "1.0.4" @@ -6148,45 +6223,54 @@ dependencies = [ "wit-bindgen-rt", ] +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "wasite" -version = "0.1.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" +checksum = "66fe902b4a6b8028a753d5424909b764ccf79b7a209eac9bf97e59cda9f71a42" +dependencies = [ + "wasi 0.14.2+wasi-0.2.4", +] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "60722a937f594b7fde9adb894d7c092fc1bb6612897c46368d18e7a20208eff2" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.101", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "8a89f4650b770e4521aa6573724e2aed4704372151bd0de9d16a3bbabb87441a" dependencies = [ "cfg-if", + "futures-util", "js-sys", "once_cell", "wasm-bindgen", @@ -6195,9 +6279,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "0fac8c6395094b6b91c4af293f4c79371c163f9a6f56184d2c9a85f5a95f3950" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6205,31 +6289,65 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "ab3fabce6159dc20728033842636887e4877688ae94382766e00b180abac9d60" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.101", - "wasm-bindgen-backend", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "de0e091bdb824da87dc01d967388880d017a0a9bc4f3bdc0d86ee9f9336e3bb5" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.13.0", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.3", + "indexmap 2.13.0", + "semver", +] + [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "705eceb4ce901230f8625bd1d665128056ccbe4b7408faa625eec1ba80f59a97" dependencies = [ "js-sys", "wasm-bindgen", @@ -6242,9 +6360,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", + "serde", "wasm-bindgen", ] +[[package]] +name = "webpki-root-certs" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "0.26.11" @@ -6271,17 +6399,30 @@ checksum = "24d643ce3fd3e5b54854602a080f34fb10ab75e0b813ee32d00ca2b44fa74762" dependencies = [ "either", "env_home", - "rustix 1.0.7", + "rustix 1.1.4", + "winsafe", +] + +[[package]] +name = "which" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" +dependencies = [ + "env_home", + "rustix 1.1.4", "winsafe", ] [[package]] name = "whoami" -version = "1.6.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" +checksum = "d6a5b12f9df4f978d2cfdb1bd3bac52433f44393342d7ee9c25f5a1c14c0f45d" dependencies = [ - "redox_syscall", + "libc", + "libredox", + "objc2-system-configuration", "wasite", "web-sys", ] @@ -6331,7 +6472,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", - "windows-link", + "windows-link 0.1.1", "windows-result", "windows-strings 0.4.2", ] @@ -6344,7 +6485,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -6355,7 +6496,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -6364,6 +6505,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-registry" version = "0.4.0" @@ -6381,7 +6528,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -6390,7 +6537,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -6399,7 +6546,16 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", ] [[package]] @@ -6429,6 +6585,30 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -6476,6 +6656,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -6494,6 +6680,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -6512,6 +6704,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -6542,6 +6740,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -6560,6 +6764,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -6578,6 +6788,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -6596,6 +6812,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -6616,18 +6838,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.6.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e90edd2ac1aa278a5c4599b1d89cf03074b610800f866d4026dc199d7929a28" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.7.10" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -6648,6 +6861,26 @@ version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + [[package]] name = "wit-bindgen-rt" version = "0.39.0" @@ -6657,6 +6890,74 @@ dependencies = [ "bitflags", ] +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap 2.13.0", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.13.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + [[package]] name = "writeable" version = "0.6.1" @@ -6682,7 +6983,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" dependencies = [ "libc", - "rustix 1.0.7", + "rustix 1.1.4", ] [[package]] @@ -6720,7 +7021,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", "synstructure", ] @@ -6741,7 +7042,7 @@ checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -6761,7 +7062,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", "synstructure", ] @@ -6782,7 +7083,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -6815,7 +7116,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn", ] [[package]] @@ -6835,12 +7136,12 @@ dependencies = [ "flate2", "getrandom 0.3.3", "hmac", - "indexmap 2.9.0", + "indexmap 2.13.0", "lzma-rs", "memchr", "pbkdf2", "sha1", - "thiserror 2.0.12", + "thiserror 2.0.18", "time", "xz2", "zeroize", @@ -6848,6 +7149,18 @@ dependencies = [ "zstd", ] +[[package]] +name = "zlib-rs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c745c48e1007337ed136dc99df34128b9faa6ed542d80a1c673cf55a6d7236c8" + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zopfli" version = "0.8.2" diff --git a/app/Cargo.toml b/app/Cargo.toml index 13bc42d6..ef4cdd05 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -8,18 +8,18 @@ description = "A tool to simplify reprovisioning a fresh OS. Installs packages a [dependencies] anyhow = "1.0" -clap = { version = "4.5.20", features = ["derive"] } -clap_complete = "4.5.36" -colored = "2.1" +clap = { version = "4.5.60", features = ["derive"] } +clap_complete = "4.5.66" +colored = "3.1" comfy-table = "7" comtrya-lib = { path = "../lib", version = "0.9.2" } -petgraph = "0.6" -rhai = { version = "1.19", features = ["serde"] } +petgraph = "0.8" +rhai = { version = "1.24", features = ["serde"] } strip-ansi-escapes = "0.2" tracing = "0.1" -tracing-journald = "0.3.0" +tracing-journald = "0.3.2" tracing-subscriber = "0.3" -update-informer = "1.1" +update-informer = "1.3" dirs-next = "2.0" serde = { version = "1.0", features = ["derive"] } serde_yml = "0" @@ -33,9 +33,9 @@ tealr = { version = "0.10.0", features = [ "mlua_vendored", ] } walkdir = "2.5.0" -gix = { version = "0.70.0", features = ["blocking-network-client", "blocking-http-transport-reqwest-rust-tls", "status"] } +gix = { version = "0.80.0", features = ["blocking-network-client", "blocking-http-transport-reqwest-rust-tls", "status"] } [dev-dependencies] -assert_cmd = "2.0" +assert_cmd = "2.1" predicates = "3.1" -tempfile = "3.13" +tempfile = "3.26" diff --git a/app/src/commands/apply.rs b/app/src/commands/apply.rs index 09124f04..cd987cc5 100644 --- a/app/src/commands/apply.rs +++ b/app/src/commands/apply.rs @@ -60,7 +60,7 @@ impl Apply { #[instrument(skip(self, runtime))] pub fn status(&self, runtime: &Runtime) -> anyhow::Result<()> { let contexts = &runtime.contexts; - let manifest_path = self.manifest_path(&runtime)?; + let manifest_path = self.manifest_path(runtime)?; println!("Load manifests from path: {:#?}", manifest_path); @@ -74,7 +74,7 @@ impl Apply { for (name, manifest) in manifests.iter() { table.add_row(vec![ - Cell::new(format!("{name}")), + Cell::new(name.to_string()), Cell::new(format!("{}", manifest.actions.len())), ]); } @@ -87,7 +87,7 @@ impl ComtryaCommand for Apply { #[instrument(skip(self, runtime))] fn execute(&self, runtime: &Runtime) -> anyhow::Result<()> { let contexts = &runtime.contexts; - let manifest_path = self.manifest_path(&runtime)?; + let manifest_path = self.manifest_path(runtime)?; let manifests = load(manifest_path, contexts); // Build DAG diff --git a/app/src/config/mod.rs b/app/src/config/mod.rs index 1065db9a..463b6c4b 100644 --- a/app/src/config/mod.rs +++ b/app/src/config/mod.rs @@ -81,7 +81,7 @@ where } pub(crate) fn load_config(args: &GlobalArgs) -> Result { - match lib_config(&args) { + match lib_config(args) { Ok(config) => match args.manifest_directory.clone() { Some(manifest_path) => Ok(Config { manifest_paths: vec![manifest_path], @@ -106,14 +106,14 @@ pub(crate) fn load_config(args: &GlobalArgs) -> Result { /// `Result` /// - `Ok(Config)` - valid `Comtrya.yaml` file is found and deserialized successfully /// - `Err` - Error occurs during reading/deserialization OR a user provided an invalid -/// path for the config file +/// path for the config file /// /// # Errors /// /// Exits if the user specified an invalid config file path /// returns errors if file read fails or yaml content is not successfully deserialized pub fn lib_config(args: &GlobalArgs) -> anyhow::Result { - let mut config = match find_configs(&args) { + let mut config = match find_configs(args) { Some(config_path) => { let yaml = std::fs::read_to_string(&config_path) .with_context(|| "Found Comtrya.yaml, but was unable to read the contents.")?; @@ -153,8 +153,8 @@ pub fn lib_config(args: &GlobalArgs) -> anyhow::Result { } }; - let mut defines_iterator = args.defines.iter(); - while let Some(pair) = defines_iterator.next() { + let defines_iterator = args.defines.iter(); + for pair in defines_iterator { config.variables.insert(pair.0.clone(), pair.1.clone()); } @@ -167,7 +167,7 @@ pub fn lib_config(args: &GlobalArgs) -> anyhow::Result { /// # Arguments /// /// * `args` - A reference to a `GlobalArgs` struct containing user-supplied arguments, including -/// an optional `config_path` field that may specify a configuration file location. +/// an optional `config_path` field that may specify a configuration file location. /// /// # Returns /// @@ -265,6 +265,6 @@ mod tests { }; let result = lib_config(&args); - assert!(!result.is_err()); + assert!(result.is_ok()); } } diff --git a/app/tests/basic_usage.rs b/app/tests/basic_usage.rs index 548fc724..054c4919 100644 --- a/app/tests/basic_usage.rs +++ b/app/tests/basic_usage.rs @@ -13,7 +13,7 @@ fn prints_help() { #[test] fn dry_run_doesnt_error() { let t = TempDir::new().expect("could not create tempdir"); - let path = t.into_path(); + let path = t.keep(); dir( "directory", vec![dir( diff --git a/app/tests/utils/mod.rs b/app/tests/utils/mod.rs index e15e6cbd..dae4faaa 100644 --- a/app/tests/utils/mod.rs +++ b/app/tests/utils/mod.rs @@ -16,7 +16,7 @@ pub(crate) struct Dir { impl Dir { pub fn run(self, cli: &'static str) -> Assert { - let mut comtrya = Command::cargo_bin("comtrya").unwrap(); + let mut comtrya = Command::new(assert_cmd::cargo::cargo_bin!("comtrya")); comtrya.current_dir(self.cwd); diff --git a/jsonschemagen/Cargo.toml b/jsonschemagen/Cargo.toml index 45890ab0..087fe05b 100644 --- a/jsonschemagen/Cargo.toml +++ b/jsonschemagen/Cargo.toml @@ -5,5 +5,5 @@ edition = "2021" [dependencies] comtrya-lib = { path = "../lib" } -schemars = "0.8" +schemars = "1.2" serde_json = "1.0" diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 76c9127c..45b7a0fb 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -8,46 +8,46 @@ description = "Contains the interfaces for comtrya plugins" [dependencies] anyhow = "1.0" -age = { version = "0.10", features = ["armor"] } +age = { version = "0.11", features = ["armor"] } dirs-next = "2.0" file_diff = "1.0" -gethostname = "0.5" +gethostname = "1.1" ignore = "0.4" -normpath = "1.2" -octocrab = "0.41" -os_info = "3.10" -petgraph = "0.6" -rand = "0.8" -regex = "1.11" -reqwest = { version = "0.12", default-features = false, features = [ +normpath = "1.5" +octocrab = "0.49" +os_info = { version = "3.14", features = ["schemars"] } +petgraph = "0.8" +rand = "0.10" +regex = "1.12" +reqwest = { version = "0.13", default-features = false, features = [ "blocking", - "rustls-tls", + "rustls", ] } -rhai = { version = "1.19", features = ["serde"] } -schemars = "0.8" +rhai = { version = "1.24", features = ["serde"] } +schemars = "1.2" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yml = "0" -sha256 = "1.5" -tokio = "1.43" -toml = "0.8" +sha256 = "1.6" +tokio = "1.49" +toml = "1.0" tera = "1.20" tracing = "0.1" trust-dns-resolver = "0.23.2" -walkdir = "2.3" -which = "7.0" -whoami = "1.5" -tar = "0.4.42" -flate2 = "1.0.34" +walkdir = "2.5" +which = "8.0" +whoami = "2.1" +tar = "0.4.44" +flate2 = "1.1.9" file-owner = "0.1.2" -gix = { version = "0.68.0", features = [ +gix = { version = "0.80.0", features = [ "status", "tracing", "tracing-detail", "blocking-http-transport-reqwest-rust-tls", "blocking-network-client", ] } -gix-protocol = "0.46.1" +gix-protocol = "0.58.0" tealr = { version = "0.10.0", features = [ "mlua_lua54", "mlua_anyhow", @@ -61,13 +61,13 @@ tealr = { version = "0.10.0", features = [ "mlua_macros", "mlua_vendored", ] } -camino = { version = "1.1.9", features = ["serde", "serde1"] } -serde_with = { version = "3.12.0", features = ["schemars_0_8", "json"] } -parking_lot = "0.12.3" +camino = { version = "1.2.2", features = ["serde1"] } +serde_with = { version = "3.17.0", features = ["schemars_1", "json"] } +parking_lot = "0.12.5" [target.'cfg(unix)'.dependencies] uzers = "0.12" [dev-dependencies] -tempfile = "3.13" +tempfile = "3.26" pretty_assertions = "1.4" diff --git a/lib/src/actions/command/run.rs b/lib/src/actions/command/run.rs index 63c32c36..f0152153 100644 --- a/lib/src/actions/command/run.rs +++ b/lib/src/actions/command/run.rs @@ -43,7 +43,7 @@ impl Action for RunCommand { use crate::atoms::command::Exec; let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/file/chown.rs b/lib/src/actions/file/chown.rs index 391d5b03..e7df0208 100644 --- a/lib/src/actions/file/chown.rs +++ b/lib/src/actions/file/chown.rs @@ -1,8 +1,9 @@ -use crate::{actions::Action, steps::Step}; +use crate::actions::Action; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use super::FileAction; +#[cfg(unix)] use crate::atoms::file::Chown; #[derive(JsonSchema, Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] @@ -37,7 +38,7 @@ impl Action for FileChown { _: &crate::manifests::Manifest, _: &crate::contexts::Contexts, ) -> anyhow::Result> { - let steps = vec![Step { + let steps = vec![crate::steps::Step { atom: Box::new(Chown { path: self.path.clone().parse()?, owner: self.user.clone().unwrap_or("".to_string()), diff --git a/lib/src/actions/file/copy.rs b/lib/src/actions/file/copy.rs index a311db42..d86969b1 100644 --- a/lib/src/actions/file/copy.rs +++ b/lib/src/actions/file/copy.rs @@ -1,6 +1,8 @@ use super::FileAction; use super::{default_chmod, from_octal}; -use crate::atoms::file::{Chown, Decrypt}; +#[cfg(unix)] +use crate::atoms::file::Chown; +use crate::atoms::file::Decrypt; use crate::manifests::Manifest; use crate::steps::Step; use crate::tera_functions::register_functions; @@ -9,7 +11,7 @@ use anyhow::anyhow; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use std::error::Error as StdError; -use std::{path::PathBuf, u32}; +use std::path::PathBuf; use tera::Tera; #[derive(JsonSchema, Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] @@ -132,7 +134,8 @@ impl Action for FileCopy { }, ]; - let path_clone = path.clone(); + #[cfg(unix)] + let path_for_chown = path.clone(); if let Some(passphrase) = self.passphrase.to_owned() { steps.push(Step { atom: Box::new(Decrypt { @@ -156,7 +159,7 @@ impl Action for FileCopy { if let Some(group) = self.owner_group.clone() { steps.push(Step { atom: Box::new(Chown { - path: path_clone, + path: path_for_chown, owner: user.clone(), group: group.clone(), }), diff --git a/lib/src/actions/file/download.rs b/lib/src/actions/file/download.rs index 7e80ae2b..1d19523a 100644 --- a/lib/src/actions/file/download.rs +++ b/lib/src/actions/file/download.rs @@ -1,12 +1,13 @@ use super::FileAction; use super::{default_chmod, from_octal}; +#[cfg(unix)] use crate::atoms::file::Chown; use crate::manifests::Manifest; use crate::steps::Step; use crate::{actions::Action, contexts::Contexts}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use std::{path::PathBuf, u32}; +use std::path::PathBuf; #[derive(JsonSchema, Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename = "file.download")] @@ -48,7 +49,7 @@ impl Action for FileDownload { let path = PathBuf::from(&self.to); let parent = path.clone(); - let mut steps = vec![ + let steps = vec![ Step { atom: Box::new(DirCreate { path: parent @@ -83,28 +84,39 @@ impl Action for FileDownload { ]; #[cfg(unix)] - if let Some(user) = self.owner_user.clone() { - if let Some(group) = self.owner_group.clone() { - steps.push(Step { - atom: Box::new(Chown { - path: path.clone(), - owner: user.clone(), - group: group.clone(), - }), - initializers: vec![], - finalizers: vec![], - }) + { + let mut steps = steps; + if let Some(user) = self.owner_user.clone() { + if let Some(group) = self.owner_group.clone() { + steps.push(Step { + atom: Box::new(Chown { + path: path.clone(), + owner: user.clone(), + group: group.clone(), + }), + initializers: vec![], + finalizers: vec![], + }) + } } + + Ok(steps) } - Ok(steps) + #[cfg(not(unix))] + { + Ok(steps) + } } } #[cfg(test)] mod tests { + #[cfg(unix)] use crate::actions::file::download::FileDownload; - use crate::actions::{Action, Actions}; + #[cfg(unix)] + use crate::actions::Action; + use crate::actions::Actions; #[test] fn it_can_be_deserialized() { diff --git a/lib/src/actions/file/link.rs b/lib/src/actions/file/link.rs index 9a36aec4..b00f10b4 100644 --- a/lib/src/actions/file/link.rs +++ b/lib/src/actions/file/link.rs @@ -240,18 +240,17 @@ mod tests { let source_dir = match tempfile::tempdir() { Ok(dir) => dir, Err(_) => { - assert_eq!(false, true); - return; + panic!("could not create tempdir"); } } - .into_path(); + .keep(); // We'll expect 2 extra Atoms - use rand::Rng; + use rand::RngExt; use std::io::Write; - let mut rng = rand::thread_rng(); - let number_of_files: usize = rng.gen_range(3..9); + let mut rng = rand::rng(); + let number_of_files: usize = rng.random_range(3..9); for i in 0..number_of_files { let path = source_dir.clone().join(format!("{}.txt", i)); diff --git a/lib/src/actions/group/add.rs b/lib/src/actions/group/add.rs index c30b5fb3..c537b63a 100644 --- a/lib/src/actions/group/add.rs +++ b/lib/src/actions/group/add.rs @@ -20,7 +20,7 @@ impl Action for GroupAdd { let mut atoms: Vec = vec![]; - atoms.append(&mut provider.add_group(&variant, &contexts)); + atoms.append(&mut provider.add_group(&variant, contexts)); Ok(atoms) } diff --git a/lib/src/actions/group/providers/freebsd.rs b/lib/src/actions/group/providers/freebsd.rs index 0866bf5b..818719c3 100644 --- a/lib/src/actions/group/providers/freebsd.rs +++ b/lib/src/actions/group/providers/freebsd.rs @@ -16,7 +16,7 @@ impl GroupProvider for FreeBSDGroupProvider { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/group/providers/linux.rs b/lib/src/actions/group/providers/linux.rs index 8de80a1c..653fb369 100644 --- a/lib/src/actions/group/providers/linux.rs +++ b/lib/src/actions/group/providers/linux.rs @@ -25,7 +25,7 @@ impl GroupProvider for LinuxGroupProvider { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/group/providers/macos.rs b/lib/src/actions/group/providers/macos.rs index 6016e31a..6d828a69 100644 --- a/lib/src/actions/group/providers/macos.rs +++ b/lib/src/actions/group/providers/macos.rs @@ -34,7 +34,7 @@ impl GroupProvider for MacOsGroupProvider { ]; let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/package/install.rs b/lib/src/actions/package/install.rs index 079d43f6..abab7828 100644 --- a/lib/src/actions/package/install.rs +++ b/lib/src/actions/package/install.rs @@ -33,7 +33,7 @@ impl Action for PackageInstall { // If the provider isn't available, see if we can bootstrap it if !provider.available() { - if provider.bootstrap(&context).is_empty() { + if provider.bootstrap(context).is_empty() { return Err(anyhow!( "Package Provider, {}, isn't available. Skipping action", provider.name() @@ -55,10 +55,10 @@ impl Action for PackageInstall { } } - atoms.append(&mut provider.bootstrap(&context)); + atoms.append(&mut provider.bootstrap(context)); } - atoms.append(&mut provider.install(&variant, &context)?); + atoms.append(&mut provider.install(&variant, context)?); span.exit(); diff --git a/lib/src/actions/package/mod.rs b/lib/src/actions/package/mod.rs index dc64a4ff..75235acc 100644 --- a/lib/src/actions/package/mod.rs +++ b/lib/src/actions/package/mod.rs @@ -77,7 +77,7 @@ impl From<&Package> for PackageVariant { list: package.list.clone(), provider: package.provider.clone(), extra_args: package.extra_args.clone(), - file: package.file.clone(), + file: package.file, }; }; @@ -91,7 +91,7 @@ impl From<&Package> for PackageVariant { list: package.list.clone(), provider: variant.provider.clone(), extra_args: variant.extra_args.clone(), - file: package.file.clone(), + file: package.file, }; if variant.name.is_some() { diff --git a/lib/src/actions/package/providers/aptitude.rs b/lib/src/actions/package/providers/aptitude.rs index eca694a9..3402a6b9 100644 --- a/lib/src/actions/package/providers/aptitude.rs +++ b/lib/src/actions/package/providers/aptitude.rs @@ -38,7 +38,7 @@ impl PackageProvider for Aptitude { fn bootstrap(&self, contexts: &Contexts) -> Vec { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![Step { atom: Box::new(Exec { @@ -74,7 +74,7 @@ impl PackageProvider for Aptitude { let mut signed_by = String::from(""); let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); if repository.key.is_some() { // .unwrap() is safe here because we checked for key.is_some() above @@ -143,7 +143,7 @@ impl PackageProvider for Aptitude { fn install(&self, package: &PackageVariant, contexts: &Contexts) -> anyhow::Result> { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![Step { atom: Box::new(Exec { @@ -246,16 +246,13 @@ mod test { &contexts, ); - let steps = match steps { - Ok(s) => s, - Err(_) => vec![], - }; + let steps = steps.unwrap_or_default(); if let Some(step) = steps.first() { let exec = step.atom.to_string(); assert!(exec.contains(" /usr/share/keyrings/")); } else { - assert!(false); + panic!("expected at least one step"); } } } diff --git a/lib/src/actions/package/providers/bsdpkg.rs b/lib/src/actions/package/providers/bsdpkg.rs index a9d28de4..2f250c1b 100644 --- a/lib/src/actions/package/providers/bsdpkg.rs +++ b/lib/src/actions/package/providers/bsdpkg.rs @@ -36,7 +36,7 @@ impl PackageProvider for BsdPkg { #[instrument(name = "bootstrap", level = "info", skip(self))] fn bootstrap(&self, contexts: &Contexts) -> Vec { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![Step { atom: Box::new(Exec { @@ -72,7 +72,7 @@ impl PackageProvider for BsdPkg { fn install(&self, package: &PackageVariant, contexts: &Contexts) -> anyhow::Result> { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); if package.file { return Ok(vec![Step { diff --git a/lib/src/actions/package/providers/dnf.rs b/lib/src/actions/package/providers/dnf.rs index a8ecc54f..1ef078af 100644 --- a/lib/src/actions/package/providers/dnf.rs +++ b/lib/src/actions/package/providers/dnf.rs @@ -29,7 +29,7 @@ impl PackageProvider for Dnf { fn bootstrap(&self, contexts: &Contexts) -> Vec { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![Step { atom: Box::new(Exec { @@ -60,7 +60,7 @@ impl PackageProvider for Dnf { let mut steps: Vec = vec![]; let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); if repository.key.is_some() { // .unwrap() is safe here because we checked for key presence above @@ -122,7 +122,7 @@ impl PackageProvider for Dnf { fn install(&self, package: &PackageVariant, contexts: &Contexts) -> anyhow::Result> { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/package/providers/macports.rs b/lib/src/actions/package/providers/macports.rs index 7b8f6df2..a874c814 100644 --- a/lib/src/actions/package/providers/macports.rs +++ b/lib/src/actions/package/providers/macports.rs @@ -58,7 +58,7 @@ impl PackageProvider for Macports { }; let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/package/providers/paru.rs b/lib/src/actions/package/providers/paru.rs index 61c913c8..c3245342 100644 --- a/lib/src/actions/package/providers/paru.rs +++ b/lib/src/actions/package/providers/paru.rs @@ -32,7 +32,7 @@ impl PackageProvider for Paru { fn bootstrap(&self, contexts: &Contexts) -> Vec { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| String::from("sudo")); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| String::from("sudo")); vec![ Step { diff --git a/lib/src/actions/package/providers/pkgin.rs b/lib/src/actions/package/providers/pkgin.rs index e4c8de76..1796517e 100644 --- a/lib/src/actions/package/providers/pkgin.rs +++ b/lib/src/actions/package/providers/pkgin.rs @@ -54,7 +54,7 @@ impl PackageProvider for Pkgin { fn install(&self, package: &PackageVariant, contexts: &Contexts) -> anyhow::Result> { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![ Step { diff --git a/lib/src/actions/package/providers/snapcraft.rs b/lib/src/actions/package/providers/snapcraft.rs index b3bc199f..e94f4d1f 100644 --- a/lib/src/actions/package/providers/snapcraft.rs +++ b/lib/src/actions/package/providers/snapcraft.rs @@ -28,7 +28,7 @@ impl PackageProvider for Snapcraft { fn bootstrap(&self, contexts: &Contexts) -> Vec { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![Step { atom: Box::new(Exec { @@ -65,7 +65,7 @@ impl PackageProvider for Snapcraft { fn install(&self, package: &PackageVariant, contexts: &Contexts) -> anyhow::Result> { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![Step { atom: Box::new(Exec { command: String::from("snap"), diff --git a/lib/src/actions/package/providers/xbps.rs b/lib/src/actions/package/providers/xbps.rs index 7e5dab78..577d4f96 100644 --- a/lib/src/actions/package/providers/xbps.rs +++ b/lib/src/actions/package/providers/xbps.rs @@ -99,7 +99,7 @@ impl PackageProvider for Xbps { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/package/providers/yay.rs b/lib/src/actions/package/providers/yay.rs index 8662b3a0..d34b1a0d 100644 --- a/lib/src/actions/package/providers/yay.rs +++ b/lib/src/actions/package/providers/yay.rs @@ -32,7 +32,7 @@ impl PackageProvider for Yay { fn bootstrap(&self, contexts: &Contexts) -> Vec { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); vec![ Step { diff --git a/lib/src/actions/package/providers/zypper.rs b/lib/src/actions/package/providers/zypper.rs index 06018408..c7c7b134 100644 --- a/lib/src/actions/package/providers/zypper.rs +++ b/lib/src/actions/package/providers/zypper.rs @@ -48,7 +48,7 @@ impl PackageProvider for Zypper { fn install(&self, package: &PackageVariant, contexts: &Contexts) -> anyhow::Result> { let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); Ok(vec![Step { atom: Box::new(Exec { diff --git a/lib/src/actions/package/repository.rs b/lib/src/actions/package/repository.rs index b838a8c7..6383ed8c 100644 --- a/lib/src/actions/package/repository.rs +++ b/lib/src/actions/package/repository.rs @@ -48,18 +48,18 @@ impl Action for PackageRepository { // If the provider isn't available, see if we can bootstrap it if !provider.available() { - if provider.bootstrap(&context).is_empty() { + if provider.bootstrap(context).is_empty() { return Err(anyhow!( "Package Provider, {}, isn't available. Skipping action", provider.name() )); } - atoms.append(&mut provider.bootstrap(&context)); + atoms.append(&mut provider.bootstrap(context)); } if !provider.has_repository(self) { - atoms.append(&mut provider.add_repository(self, &context)?); + atoms.append(&mut provider.add_repository(self, context)?); } span.exit(); diff --git a/lib/src/actions/user/add.rs b/lib/src/actions/user/add.rs index 14152073..d346c07f 100644 --- a/lib/src/actions/user/add.rs +++ b/lib/src/actions/user/add.rs @@ -30,7 +30,7 @@ impl Action for UserAdd { #[cfg(unix)] match uzers::get_user_by_name(&variant.username) { Some(_user) => debug!(message = "User already exists", username = ?variant.username), - None => atoms.append(&mut provider.add_user(&variant, &context)?), + None => atoms.append(&mut provider.add_user(&variant, context)?), } #[cfg(not(unix))] diff --git a/lib/src/actions/user/add_group.rs b/lib/src/actions/user/add_group.rs index 4158b5a8..2c0bdd9b 100644 --- a/lib/src/actions/user/add_group.rs +++ b/lib/src/actions/user/add_group.rs @@ -35,7 +35,7 @@ impl Action for UserAddGroup { let mut atoms: Vec = vec![]; - atoms.append(&mut provider.add_to_group(self, &context)?); + atoms.append(&mut provider.add_to_group(self, context)?); Ok(atoms) } diff --git a/lib/src/actions/user/providers/freebsd.rs b/lib/src/actions/user/providers/freebsd.rs index bd0ef4bb..a41b5196 100644 --- a/lib/src/actions/user/providers/freebsd.rs +++ b/lib/src/actions/user/providers/freebsd.rs @@ -43,7 +43,7 @@ impl UserProvider for FreeBSDUserProvider { args.push(String::from("random")); let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); let mut steps: Vec = vec![Step { atom: Box::new(Exec { @@ -66,7 +66,7 @@ impl UserProvider for FreeBSDUserProvider { group: user.group.clone(), provider: user.provider.clone(), }; - for group in self.add_to_group(&user_groups, &contexts)? { + for group in self.add_to_group(&user_groups, contexts)? { steps.push(group); } } @@ -88,7 +88,7 @@ impl UserProvider for FreeBSDUserProvider { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); for group in user.group.iter() { steps.push(Step { diff --git a/lib/src/actions/user/providers/linux.rs b/lib/src/actions/user/providers/linux.rs index df3756e0..fc27ad54 100644 --- a/lib/src/actions/user/providers/linux.rs +++ b/lib/src/actions/user/providers/linux.rs @@ -48,7 +48,7 @@ impl UserProvider for LinuxUserProvider { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); let mut steps: Vec = vec![Step { atom: Box::new(Exec { @@ -68,7 +68,7 @@ impl UserProvider for LinuxUserProvider { group: user.group.clone(), provider: user.provider.clone(), }; - for group in self.add_to_group(&user_groups, &contexts)? { + for group in self.add_to_group(&user_groups, contexts)? { steps.push(group); } } @@ -96,7 +96,7 @@ impl UserProvider for LinuxUserProvider { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); let mut steps: Vec = vec![]; diff --git a/lib/src/actions/user/providers/macos.rs b/lib/src/actions/user/providers/macos.rs index 3a575646..82ef9e19 100644 --- a/lib/src/actions/user/providers/macos.rs +++ b/lib/src/actions/user/providers/macos.rs @@ -46,7 +46,7 @@ impl UserProvider for MacOSUserProvider { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); let mut steps: Vec = vec![Step { atom: Box::new(Exec { @@ -66,7 +66,7 @@ impl UserProvider for MacOSUserProvider { group: user.group.clone(), provider: user.provider.clone(), }; - for group in self.add_to_group(&user_group, &contexts)? { + for group in self.add_to_group(&user_group, contexts)? { steps.push(group); } } @@ -94,7 +94,7 @@ impl UserProvider for MacOSUserProvider { } let privilege_provider = - utilities::get_privilege_provider(&contexts).unwrap_or_else(|| "sudo".to_string()); + utilities::get_privilege_provider(contexts).unwrap_or_else(|| "sudo".to_string()); let mut steps: Vec = vec![]; diff --git a/lib/src/atoms/command/exec.rs b/lib/src/atoms/command/exec.rs index 57d8124c..903456c3 100644 --- a/lib/src/atoms/command/exec.rs +++ b/lib/src/atoms/command/exec.rs @@ -37,8 +37,9 @@ impl Exec { // we can determine if we need to prepend sudo to the command let privilege_provider = self.privilege_provider.clone(); + let username = whoami::username().unwrap_or_else(|_| String::from("unknown")); - match (self.privileged, whoami::username().as_str()) { + match (self.privileged, username.as_str()) { // Hasn't requested priviledged, so never try to elevate (false, _) => (self.command.clone(), self.arguments.clone()), @@ -114,7 +115,7 @@ impl Atom for Exec { let (command, arguments) = self.elevate_if_required(); let command = utilities::get_binary_path(&command) - .or_else(|_| Err(anyhow!("Command `{}` not found in path", command)))?; + .map_err(|_| anyhow!("Command `{}` not found in path", command))?; // If we require root, we need to use sudo with inherited IO // to ensure the user can respond if prompted for a password @@ -130,7 +131,7 @@ impl Atom for Exec { match std::process::Command::new(&command) .envs(self.environment.clone()) .args(&arguments) - .current_dir(&self.working_dir.clone().unwrap_or_else(|| { + .current_dir(self.working_dir.clone().unwrap_or_else(|| { std::env::current_dir() .map(|current_dir| current_dir.display().to_string()) .expect("Failed to get current directory") diff --git a/lib/src/atoms/directory/remove.rs b/lib/src/atoms/directory/remove.rs index 933b1af5..121b5150 100644 --- a/lib/src/atoms/directory/remove.rs +++ b/lib/src/atoms/directory/remove.rs @@ -70,7 +70,7 @@ mod tests { #[test] fn it_can_plan() { - let temp = tempdir().unwrap().into_path(); + let temp = tempdir().unwrap().keep(); let atom = Remove { target: temp.clone(), }; diff --git a/lib/src/atoms/file/copy.rs b/lib/src/atoms/file/copy.rs index 36e9af13..4978ba0d 100644 --- a/lib/src/atoms/file/copy.rs +++ b/lib/src/atoms/file/copy.rs @@ -39,13 +39,13 @@ impl Atom for Copy { }); } - return Ok(Outcome { + Ok(Outcome { side_effects: vec![], should_run: !diff( &self.from.display().to_string(), &self.to.display().to_string(), ), - }); + }) } fn execute(&mut self) -> anyhow::Result<()> { diff --git a/lib/src/atoms/file/decrypt.rs b/lib/src/atoms/file/decrypt.rs index 29f13647..ab71dcaa 100644 --- a/lib/src/atoms/file/decrypt.rs +++ b/lib/src/atoms/file/decrypt.rs @@ -3,7 +3,7 @@ use crate::atoms::Outcome; use super::super::Atom; use super::FileAtom; use age::armor::ArmoredReader; -use age::secrecy::Secret; +use age::secrecy::SecretString; use std::io::Read; use std::path::PathBuf; use tracing::error; @@ -72,14 +72,15 @@ impl Atom for Decrypt { } fn decrypt(passphrase: &str, encrypted_content: &[u8]) -> anyhow::Result> { - let decryptor = match age::Decryptor::new(ArmoredReader::new(encrypted_content))? { - age::Decryptor::Passphrase(d) => Ok(d), - _ => Err(anyhow::anyhow!("Cannot create passphrase decryptor!")), - }?; + let decryptor = age::Decryptor::new(ArmoredReader::new(encrypted_content))?; + if !decryptor.is_scrypt() { + return Err(anyhow::anyhow!("Cannot create passphrase decryptor!")); + } let mut decrypted = vec![]; - let secret = Secret::new(passphrase.to_owned()); - let mut reader = decryptor.decrypt(&secret, None)?; + let secret = SecretString::from(passphrase.to_owned()); + let identity = age::scrypt::Identity::new(secret); + let mut reader = decryptor.decrypt(std::iter::once(&identity as &dyn age::Identity))?; reader.read_to_end(&mut decrypted)?; Ok(decrypted) @@ -153,7 +154,7 @@ mod tests { } fn encrypt(passphrase: String, content: Vec) -> anyhow::Result> { - let secret = Secret::new(passphrase); + let secret = SecretString::from(passphrase); let encryptor = age::Encryptor::with_user_passphrase(secret); let mut encrypted = vec![]; diff --git a/lib/src/atoms/plugin/exec.rs b/lib/src/atoms/plugin/exec.rs index 432c5709..c13f0cb1 100644 --- a/lib/src/atoms/plugin/exec.rs +++ b/lib/src/atoms/plugin/exec.rs @@ -37,7 +37,7 @@ impl Eq for PluginRuntimeSpec {} impl PartialOrd for PluginRuntimeSpec { fn partial_cmp(&self, other: &Self) -> Option { - Some(self.spec.cmp(&other.spec)) + Some(self.cmp(other)) } } impl Ord for PluginRuntimeSpec { diff --git a/lib/src/atoms/plugin/plugin_spec.rs b/lib/src/atoms/plugin/plugin_spec.rs index 32ade977..6e69c347 100644 --- a/lib/src/atoms/plugin/plugin_spec.rs +++ b/lib/src/atoms/plugin/plugin_spec.rs @@ -40,7 +40,7 @@ impl Eq for ComparableLua {} impl PartialOrd for ComparableLua { fn partial_cmp(&self, other: &Self) -> Option { - Some(addr_of!(self).cmp(&addr_of!(other))) + Some(self.cmp(other)) } } @@ -78,7 +78,7 @@ impl Eq for ComparableFunction {} impl PartialOrd for ComparableFunction { fn partial_cmp(&self, other: &Self) -> Option { - Some(self.to_pointer().cmp(&other.to_pointer())) + Some(self.cmp(other)) } } diff --git a/lib/src/contexts/mod.rs b/lib/src/contexts/mod.rs index 5a4fb949..a099dd67 100644 --- a/lib/src/contexts/mod.rs +++ b/lib/src/contexts/mod.rs @@ -99,7 +99,7 @@ pub fn to_tera(contexts: &Contexts) -> tera::Context { context } -pub fn to_rhai(context: &Contexts) -> rhai::Scope { +pub fn to_rhai(context: &Contexts) -> rhai::Scope<'_> { let mut scope = Scope::new(); context.iter().for_each(|(m, v)| { diff --git a/lib/src/contexts/privilege.rs b/lib/src/contexts/privilege.rs index ed3e9763..ff6cd3a3 100644 --- a/lib/src/contexts/privilege.rs +++ b/lib/src/contexts/privilege.rs @@ -2,9 +2,10 @@ use crate::config::Config; use crate::contexts::{Context, ContextProvider}; use serde::{Deserialize, Serialize}; use std::fmt::Display; -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Serialize, Deserialize, Clone, Default)] pub enum Privilege { #[serde(alias = "sudo")] + #[default] Sudo, #[serde(alias = "doas")] @@ -14,12 +15,6 @@ pub enum Privilege { Run0, } -impl Default for Privilege { - fn default() -> Self { - Privilege::Sudo - } -} - impl Display for Privilege { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let str = match self { @@ -41,12 +36,10 @@ impl<'a> ContextProvider for PrivilegeContextProvider<'a> { } fn get_contexts(&self) -> anyhow::Result> { - let mut contexts = vec![]; - - contexts.push(Context::KeyValueContext( + let contexts = vec![Context::KeyValueContext( "privilege".to_string(), self.config.privilege.to_string().into(), - )); + )]; Ok(contexts) } diff --git a/lib/src/contexts/user.rs b/lib/src/contexts/user.rs index b235cd07..30c06077 100644 --- a/lib/src/contexts/user.rs +++ b/lib/src/contexts/user.rs @@ -10,10 +10,13 @@ impl ContextProvider for UserContextProvider { } fn get_contexts(&self) -> Result> { + let name = whoami::realname().unwrap_or_else(|_| String::from("unknown")); + let username = whoami::username().unwrap_or_else(|_| String::from("unknown")); + Ok(vec![ Context::KeyValueContext(String::from("id"), self.get_uid().to_string().into()), - Context::KeyValueContext(String::from("name"), whoami::realname().into()), - Context::KeyValueContext(String::from("username"), whoami::username().into()), + Context::KeyValueContext(String::from("name"), name.into()), + Context::KeyValueContext(String::from("username"), username.into()), Context::KeyValueContext( String::from("home_dir"), home_dir() diff --git a/lib/src/manifests/mod.rs b/lib/src/manifests/mod.rs index 4f78c268..46169e54 100644 --- a/lib/src/manifests/mod.rs +++ b/lib/src/manifests/mod.rs @@ -43,10 +43,7 @@ pub fn resolve(uri: &String) -> Option { return path; } - match provider.resolve(uri.as_str()) { - Ok(path) => Some(path), - Err(_) => None, - } + provider.resolve(uri.as_str()).ok() }); let manifest_directory = match manifest_directory { diff --git a/lib/src/utilities/lua.rs b/lib/src/utilities/lua.rs index 9da3ef7e..3ca032f4 100644 --- a/lib/src/utilities/lua.rs +++ b/lib/src/utilities/lua.rs @@ -1,4 +1,5 @@ use std::{ + borrow::Cow, hash::{Hash, Hasher}, ops::{Deref, DerefMut}, }; @@ -14,11 +15,7 @@ use tealr::{ }; use tracing::error; -use schemars::{ - gen::SchemaGenerator, - schema::{InstanceType, Metadata, Schema, SchemaObject}, - JsonSchema, -}; +use schemars::{json_schema, JsonSchema, Schema, SchemaGenerator}; #[allow(dead_code)] pub fn lua_value_to_json(value: LuaValue) -> JsonValue { @@ -61,11 +58,12 @@ pub fn json_to_lua(json: &JsonValue, lua: &Lua) -> Result { match json { JsonValue::Null => Ok(LuaValue::Nil), JsonValue::Bool(b) => Ok(LuaValue::Boolean(*b)), - JsonValue::Number(n) => n - .is_i64() - .then(|| n.as_i64().map(LuaValue::Integer)) - .unwrap_or_else(|| n.as_f64().map(LuaValue::Number)) - .ok_or_else(|| LuaError::external("Failed to convert number")), + JsonValue::Number(n) => if n.is_i64() { + n.as_i64().map(LuaValue::Integer) + } else { + n.as_f64().map(LuaValue::Number) + } + .ok_or_else(|| LuaError::external("Failed to convert number")), JsonValue::String(s) => Ok(LuaValue::String(lua.create_string(s)?)), JsonValue::Array(arr) => lua.create_table().map(|table| { arr.iter() @@ -95,7 +93,7 @@ impl Eq for LuaFunction {} impl PartialOrd for LuaFunction { fn partial_cmp(&self, other: &Self) -> Option { - Some(self.0.dump(false).cmp(&other.0.dump(false))) + Some(self.cmp(other)) } } @@ -126,21 +124,15 @@ impl DerefMut for LuaFunction { } impl JsonSchema for LuaFunction { - fn schema_name() -> String { - "LuaFunction".to_string() + fn schema_name() -> Cow<'static, str> { + Cow::Borrowed("LuaFunction") } fn json_schema(_gen: &mut SchemaGenerator) -> Schema { - let schema_obj = SchemaObject { - instance_type: Some(InstanceType::Object.into()), - metadata: Some(Box::new(Metadata { - description: Some("Lua function reference (opaque to schema)".to_string()), - ..Default::default() - })), - ..Default::default() - }; - - Schema::Object(schema_obj) + json_schema!({ + "type": "object", + "description": "Lua function reference (opaque to schema)" + }) } } @@ -172,21 +164,15 @@ impl DerefMut for LuaRuntime { } impl JsonSchema for LuaRuntime { - fn schema_name() -> String { - "LuaRuntime".to_string() + fn schema_name() -> Cow<'static, str> { + Cow::Borrowed("LuaRuntime") } fn json_schema(_gen: &mut SchemaGenerator) -> Schema { - let schema_obj = SchemaObject { - instance_type: Some(InstanceType::Object.into()), - metadata: Some(Box::new(Metadata { - description: Some("Lua runtime state (opaque to schema)".to_string()), - ..Default::default() - })), - ..Default::default() - }; - - Schema::Object(schema_obj) + json_schema!({ + "type": "object", + "description": "Lua runtime state (opaque to schema)" + }) } } diff --git a/lib/src/utilities/mod.rs b/lib/src/utilities/mod.rs index 85ffd6c6..9665677a 100644 --- a/lib/src/utilities/mod.rs +++ b/lib/src/utilities/mod.rs @@ -1,10 +1,10 @@ pub mod lua; -use std::{ops::Deref, path::PathBuf}; +use std::{borrow::Cow, ops::Deref, path::PathBuf}; use crate::contexts::Contexts; use camino::Utf8PathBuf; -use schemars::{gen::SchemaGenerator, schema::Schema, JsonSchema}; +use schemars::{JsonSchema, Schema, SchemaGenerator}; use serde::{Deserialize, Serialize}; use which::which; @@ -28,8 +28,8 @@ pub fn get_privilege_provider(contexts: &Contexts) -> Option { pub struct CustomPathBuf(pub Utf8PathBuf); impl JsonSchema for CustomPathBuf { - fn schema_name() -> String { - String::from("CustomPathBuf") + fn schema_name() -> Cow<'static, str> { + Cow::Borrowed("CustomPathBuf") } fn json_schema(gen: &mut SchemaGenerator) -> Schema {