diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1508856eb4..d520621fc6 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -10,7 +10,6 @@ lib/compiler-cranelift @syrusakbary lib/compiler-llvm lib/compiler-singlepass @syrusakbary lib/deprecated -lib/emscripten lib/engine @syrusakbary lib/engine-jit @syrusakbary lib/engine-native @syrusakbary diff --git a/.github/actions/load_toolchain/action.yml b/.github/actions/load_toolchain/action.yml new file mode 100644 index 0000000000..544599b3e0 --- /dev/null +++ b/.github/actions/load_toolchain/action.yml @@ -0,0 +1,16 @@ +name: Load Rust Toolchain +description: Load Rust toolchain from rust-toolchain file +outputs: + rust_toolchain: + description: The loaded Rust toolchain + value: ${{ steps.load_toolchain.outputs.rust_toolchain }} +runs: + using: composite + steps: + - name: Load toolchain + id: load_toolchain + shell: sh + run: | + # TODO: Actually parse this from Cargo.toml + rust_toolchain=$(head -n1 rust-toolchain | tr -d '\n') + echo "rust_toolchain=$rust_toolchain" >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000000..9a77dc8521 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,50 @@ +# GitHub Copilot Instructions + +## Code Writing Standards +- Follow established code-writing standards for your language (spacing, comments, naming). +- Consider internal coding rules for folder and function naming. +- Follow the "boy scout rule": Always leave the codebase cleaner than you found it. + +## Comment Usage +- Use comments sparingly and make them meaningful. +- Avoid commenting on obvious things; use comments to explain "why" or unusual behavior. + +## Conditional Encapsulation +- Encapsulate nested if/else statements into functions with descriptive names for clarity. + +## DRY Principle +- Avoid code duplication; reuse code via functions, classes, modules, or libraries. +- Modify code in one place if updates are needed. + +## Function Length & Responsibility +- Write short, focused functions (single responsibility principle). +- Break up long or complex functions into smaller ones. + +## General Code Style & Readability +- Write readable, understandable, and maintainable code. +- Prioritize clarity and adhere to coding standards. +- Regularly review and refactor code for structure and maintainability. +- Use version control (e.g., Git) for collaboration. + +## Naming Conventions +- Use meaningful, descriptive names for variables, functions, and classes. +- Names should reflect purpose and behavior; avoid names that require comments to explain intent. + +## Making your changes pass CI +- Before submitting any changes + - Run the commands for formatting + - Run the linter command shown below + - Run tests for code you changed and everything that depends on it. +- CI will reject code with formatting or linting issues. + +## Useful commands: +- Format the code: `cargo fmt` +- Lint and fix common mistakes: `RUSTFLAGS="-D dead-code -D nonstandard-style -D unused-imports -D unused-mut -D unused-variables -D unused-unsafe -D unreachable-patterns -D bad-style -D improper-ctypes -D unused-allocation -D unused-comparisons -D while-true -D unconditional-recursion -D bare-trait-objects -D function_item_references -D clippy::uninlined_format_args " cargo clippy --all --exclude wasmer-swift --locked --fix --allow-dirty -- -D clippy::all` +- Build the cli: `cargo build -p wasmer-cli --features cranelift,llvm,wasmer-artifact-create,static-artifact-create,wasmer-artifact-load,static-artifact-load` +- Test the cli: `cargo test -p wasmer-cli --features cranelift,llvm,wasmer-artifact-create,static-artifact-create,wasmer-artifact-load,static-artifact-load` +- Test WASIX: `cargo test -p wasmer-wasix --features sys` +- Convert a wasm module to wat (always limit the output with head/grep/tail): `wasm-tools print file.wasm` +- Convert a wat module to wasm: `wasm-tools parse file.wat -o file.wasm` +- For really hard debugging, creduce is available +- Optimize a wasm module and strip debug info: `wasm-opt -O3 file.wasm -o file.opt.wasm` +- Compile a C file to a WASIX module: `WASIXCC_WASM_EXCEPTIONS=1 WASIXCC_PIC=1 wasixcc -g -O0 file.c -o file.wasm` \ No newline at end of file diff --git a/.github/cross-linux-riscv64/Dockerfile b/.github/cross-linux-riscv64/Dockerfile index 47eb4b6e5d..3f1402f2f5 100644 --- a/.github/cross-linux-riscv64/Dockerfile +++ b/.github/cross-linux-riscv64/Dockerfile @@ -28,7 +28,7 @@ RUN apt-get update && \ # install rust tools RUN curl --proto "=https" --tlsv1.2 --retry 3 -sSfL https://sh.rustup.rs | sh -s -- -y ENV PATH="/root/.cargo/bin:${PATH}" -RUN rustup -v toolchain install 1.74 +RUN rustup -v toolchain install 1.91 # add docker the manual way COPY install_docker.sh / RUN /install_docker.sh @@ -61,10 +61,16 @@ ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc RUST_TEST_THREADS=1 \ PKG_CONFIG_PATH="/usr/lib/riscv64-linux-gnu/pkgconfig/:${PKG_CONFIG_PATH}" -RUN rustup target add riscv64gc-unknown-linux-gnu --toolchain 1.74-x86_64-unknown-linux-gnu +RUN rustup target add riscv64gc-unknown-linux-gnu --toolchain 1.91-x86_64-unknown-linux-gnu + +# quickly install cargo nextest by using pre-built binary +RUN curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin #compile libssl-dev for riscv64! COPY build_openssl.sh / RUN /build_openssl.sh ENV RISCV64GC_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR=/openssl_riscv64/include ENV RISCV64GC_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/openssl_riscv64/lib + +RUN mkdir .cargo +COPY config.toml .cargo/config.toml diff --git a/.github/cross-linux-riscv64/config.toml b/.github/cross-linux-riscv64/config.toml new file mode 100644 index 0000000000..ca24481ff4 --- /dev/null +++ b/.github/cross-linux-riscv64/config.toml @@ -0,0 +1,3 @@ +[target.riscv64gc-unknown-linux-gnu] +linker = "riscv64-linux-gnu-gcc" +runner = "qemu-riscv64 -L /usr/riscv64-linux-gnu/" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 7339c70102..3d53f4dfad 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,6 @@ diff --git a/.github/workflows/benchmark.yaml b/.github/workflows/benchmark.yaml index 53b75bd202..c276ac4222 100644 --- a/.github/workflows/benchmark.yaml +++ b/.github/workflows/benchmark.yaml @@ -3,11 +3,10 @@ name: Run Benchmarks and upload results on: push: branches: - - benchmark # TODO: change it back to main once we really track the results. We commented this as speed.wasmer.io is failing + - benchmark # TODO: change it back to main once we really track the results. We commented this as speed.wasmer.io is failing env: CARGO_REGISTRIES_CRATES_IO_PROTOCOL: git - MSRV: "1.74" jobs: run_benchmark: @@ -20,15 +19,14 @@ jobs: include: - build: linux os: ubuntu-latest - env: - SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob - SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} - name: Configure cargo data directory # After this point, all cargo registry and crate data is stored in # $GITHUB_WORKSPACE/.cargo_home. This allows us to cache only the files @@ -53,7 +51,7 @@ jobs: - name: Install LLVM (Linux) if: matrix.os == 'ubuntu-latest' run: | - curl --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -L -o llvm.tar.xz + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -L -o llvm.tar.xz mkdir -p /opt/llvm-10 tar xf llvm.tar.xz --strip-components=1 -C /opt/llvm-10 echo '/opt/llvm-10/bin' >> $GITHUB_PATH @@ -72,4 +70,3 @@ jobs: git clone https://github.com/wasmerio/wasmer-bench python3 wasmer-bench/send_metrics.py - diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 89c2e32f95..ba5fdaae2f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,19 +3,22 @@ name: Builds env: RUST_BACKTRACE: 1 CARGO_REGISTRIES_CRATES_IO_PROTOCOL: git - MSRV: "1.74" on: push: branches: - - 'main' + - "main" tags: # this is _not_ a regex, see: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet - - '[0-9]+.[0-9]+.[0-9]+*' + - "[0-9]+.[0-9]+.[0-9]+*" + pull_request: + branches: + - "main" workflow_dispatch: inputs: release: - description: 'Make release' + description: "Make release" + jobs: setup: name: Set up @@ -36,118 +39,165 @@ jobs: echo $DOING_RELEASE build: - name: Build on ${{ matrix.build }} + name: ${{ matrix.build }} + if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-') runs-on: ${{ matrix.os }} needs: setup strategy: fail-fast: false matrix: include: + - build: linux-arm64 + os: ubuntu-22.04-arm + artifact_name: "wasmer-linux-aarch64" + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-aarch64.tar.xz" + cross_compilation_artifact_name: "cross_compiled_from_linux" + build_wasm: true + enable_llvm: true + enable_v8: false + enable_wasmi: true + enable_wamr: true - build: linux-x64 - os: ubuntu-20.04 - artifact_name: 'wasmer-linux-amd64' - llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-linux-amd64.tar.xz' - cross_compilation_artifact_name: 'cross_compiled_from_linux' - use_sccache: false - use_llvm: true + os: ubuntu-22.04 + artifact_name: "wasmer-linux-amd64" + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz" + cross_compilation_artifact_name: "cross_compiled_from_linux" build_wasm: true + enable_llvm: true + # V8 issue broken right now: https://github.com/wasmerio/wasmer/pull/6124 + enable_v8: false + enable_wasmi: true + enable_wamr: true - build: macos-x64 - os: macos-12 - llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-darwin-amd64.tar.xz' - artifact_name: 'wasmer-darwin-amd64' - cross_compilation_artifact_name: 'cross_compiled_from_mac' - use_sccache: false - use_llvm: true + os: macos-15-intel + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-amd64.tar.xz" + artifact_name: "wasmer-darwin-amd64" + cross_compilation_artifact_name: "cross_compiled_from_mac" build_wasm: false + enable_llvm: true + # V8 issue broken right now: https://github.com/wasmerio/wasmer/pull/6124 + enable_v8: false + enable_wasmi: true + enable_wamr: true - build: macos-arm64 - os: macos-14 + os: depot-macos-14 target: aarch64-apple-darwin - artifact_name: 'wasmer-darwin-arm64' - use_sccache: false - use_llvm: false + artifact_name: "wasmer-darwin-arm64" build_wasm: false + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-aarch64.tar.xz" + enable_llvm: true + # V8 issue broken right now: https://github.com/wasmerio/wasmer/pull/6124 + enable_v8: false + enable_wasmi: true + enable_wamr: true - build: windows-x64 - os: windows-2019 - artifact_name: 'wasmer-windows-amd64' - llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-windows-amd64.tar.xz' - cross_compilation_artifact_name: 'cross_compiled_from_win' - use_sccache: false - use_llvm: true + os: windows-2022 + artifact_name: "wasmer-windows-amd64" + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-windows-amd64.tar.xz" + cross_compilation_artifact_name: "cross_compiled_from_win" build_wasm: false - - build: linux-musl-x64 - os: ubuntu-latest - artifact_name: 'wasmer-linux-musl-amd64' - #llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-linux-amd64.tar.xz' - container: alpine:latest - use_sccache: false - use_llvm: false - build_wasm: true - container: ${{ matrix.container }} + enable_llvm: true + enable_v8: false + enable_wasmi: true + enable_wamr: false + #- build: linux-musl-x64 + # os: ubuntu-22.04 + # artifact_name: 'wasmer-linux-musl-amd64' + # container: alpine:latest + # build_wasm: true + # enable_llvm: false + # enable_v8: false + # enable_wasmi: true + # enable_wamr: false + env: - SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob - SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }} TARGET: ${{ matrix.target }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Set up base deps on musl - if: matrix.build == 'linux-musl-x64' - run: ./scripts/alpine-linux-install-deps.sh + if: startsWith(matrix.build, 'linux-musl-x64') + run: | + apk add bash make curl cmake ninja clang21 zstd-static llvm21-dev clang21-static llvm21-static ncurses-static zlib-static libxml2-dev libxml2-static xz-dev xz-static xz-libs libc++-dev libc++-static + ln -s /usr/bin/clang-21 /usr/bin/clang + - name: Install Linux tools + if: startsWith(matrix.build, 'linux-x64') + run: | + sudo apt install ninja-build + - name: Install Linux ARM tools + if: startsWith(matrix.build, 'linux-arm64') + run: | + sudo apt install ninja-build cmake make libzstd1 zstd libzstd-dev + - name: Install `ninja` on macOS + if: startsWith(matrix.build, 'macos-') + shell: bash + run: | + brew install ninja gcc + - name: Install `ninja` on Windows + if: startsWith(matrix.build, 'windows-') + shell: bash + run: | + choco install ninja + - name: Delete unwanted link to stop it from interfering (Windows) + if: startsWith(matrix.build, 'windows-') + shell: bash + run: rm /usr/bin/link.exe + - name: Install standard header files on macOS + if: startsWith(matrix.build, 'macos-') + shell: bash + run: | + sudo xcode-select -s /Library/Developer/CommandLineTools + echo "CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include" >> $GITHUB_ENV + - name: Install MSVC dev-cmd (Windows) + uses: ilammy/msvc-dev-cmd@v1 + if: startsWith(matrix.build, 'windows-') + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} - target: ${{ matrix.target }} - - uses: Swatinem/rust-cache@v2 - if: matrix.use_sccache != true - - name: Install LLVM (macOS Apple Silicon) - if: matrix.os == 'macos-12' && !matrix.llvm_url + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} + target: ${{ matrix.target }} + - name: Install LLVM (macOS Intel) + if: matrix.os == 'macos-15-intel' && !matrix.llvm_url run: | brew install llvm - name: Install LLVM - if: matrix.llvm_url + if: ${{ matrix.llvm_url && matrix.enable_llvm == true }} shell: bash run: | LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} mkdir -p ${LLVM_DIR} - curl --proto '=https' --tlsv1.2 -sSf "${{ matrix.llvm_url }}" -L -o - | tar xJv -C ${LLVM_DIR} + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf "${{ matrix.llvm_url }}" -L -o - | tar xJv -C ${LLVM_DIR} echo "${LLVM_DIR}/bin" >> $GITHUB_PATH env: LLVM_DIR: .llvm - name: Configure LLVM (Windows) # The Custom Windows build does not contains llvm-config.exe, so need to setup manualy here - if: matrix.build == 'windows-x64' && matrix.llvm_url + if: startsWith(matrix.build, 'windows-x64') && matrix.llvm_url shell: bash run: | LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} - echo LLVM_SYS_150_PREFIX="${LLVM_DIR}" >> $GITHUB_ENV + echo LLVM_SYS_211_PREFIX="${LLVM_DIR}" >> $GITHUB_ENV echo LLVM_ENABLE=1 >> $GITHUB_ENV env: LLVM_DIR: .llvm + - name: Add `brew` libraries (Apple Silicon) + run: | + echo "RUSTFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV + if: matrix.os == 'macos-14' || matrix.os == 'depot-macos-14' - name: Set up dependencies for Mac OS run: | brew install automake # using gnu-tar is a workaround for https://github.com/actions/cache/issues/403 brew install gnu-tar echo PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH" >> $GITHUB_ENV - if: matrix.os == 'macos-12' - - uses: actions/cache@v2 + if: startsWith(matrix.os, 'macos') + - uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git key: ${{ matrix.build }}-${{ matrix.target }}-cargo-${{ hashFiles('Cargo.lock') }}-v1 - - uses: actions/cache@v2 - if: matrix.use_sccache - with: - path: ${{ runner.tool_cache }}/cargo-sccache - key: ${{ matrix.build }}-${{ matrix.target }}-sccache-bin-${{ env.CARGO_SCCACHE_VERSION }}-v1 - - name: Install sccache - if: matrix.use_sccache - run: | - if [ ! -f '${{ runner.tool_cache }}/cargo-sccache/bin/sccache' ]; then - cargo install sccache --no-default-features --features=dist-client,azure --root '${{ runner.tool_cache }}/cargo-sccache' - fi - shell: bash - name: Setup Rust target run: | mkdir -p .cargo @@ -156,70 +206,65 @@ jobs: target = "${{ matrix.target }}" EOF if: matrix.target - - name: Set sccache port - if: matrix.use_sccache && matrix.random_sccache_port - run: | - netstat -aln | awk ' - $6 == "LISTEN" { - if ($4 ~ "[.:][0-9]+$") { - n = split($4, a, /[:.]/); - port = a[n]; - p[port] = 1 - } - } - END { - for (i = 3000; i < 65000 && p[i]; i++){}; - if (i == 65000) {exit 1}; - print "SCCACHE_SERVER_PORT=" i - } - ' >> $GITHUB_ENV - # echo "SCCACHE_SERVER_PORT=9000" - echo "Setting random sccache port to: $SCCACHE_SERVER_PORT" - shell: bash - - name: Start sccache - if: matrix.use_sccache - run: | - chmod +x '${{ runner.tool_cache }}/cargo-sccache/bin/sccache' - '${{ runner.tool_cache }}/cargo-sccache/bin/sccache' --start-server - '${{ runner.tool_cache }}/cargo-sccache/bin/sccache' -s - echo 'RUSTC_WRAPPER=${{ runner.tool_cache }}/cargo-sccache/bin/sccache' >> $GITHUB_ENV - shell: bash - name: Build C API headless shell: bash run: | - make package-capi-headless + LLVM_CONFIG_PATH=/usr/bin/llvm-config-21 make package-capi-headless - name: Build C API shell: bash run: | - make build-capi - - name: Build Wasmer binary with LLVM - if: matrix.use_llvm + LLVM_CONFIG_PATH=/usr/bin/llvm-config-21 make build-capi + - name: Build Wasmer binary + if: ${{ !startsWith(matrix.build, 'linux-x64') && !startsWith(matrix.build, 'linux-musl') }} shell: bash run: | make build-wasmer env: - ENABLE_LLVM: 1 - - name: Build Wasmer binary without LLVM - if: matrix.use_llvm != true - shell: bash + ENABLE_LLVM: ${{ matrix.enable_llvm }} + ENABLE_V8: ${{ matrix.enable_v8 }} + ENABLE_WASMI: ${{ matrix.enable_wasmi }} + ENABLE_WAMR: ${{ matrix.enable_wamr }} + - name: Build Wasmer on linux-x64 + if: ${{ startsWith(matrix.build, 'linux-x64') }} run: | make build-wasmer - #- name: Build Wasmer binary on Wasm32-WASI without LLVM - # if: matrix.build_wasm - # shell: bash - # run: | - # make build-wasmer-wasm + env: + ENABLE_LLVM: ${{ matrix.enable_llvm }} + ENABLE_V8: ${{ matrix.enable_v8 }} + ENABLE_WASMI: ${{ matrix.enable_wasmi }} + ENABLE_WAMR: ${{ matrix.enable_wamr }} + - name: Build Wasmer on linux-musl + if: ${{ startsWith(matrix.build, 'linux-musl') }} + run: | + echo "#!/bin/bash" >> /usr/bin/llvm-config + echo 'if [ "$1" = "--libs" ]; then' >> /usr/bin/llvm-config + echo 'llvm-config-21 "$@" "--link-static"' >> /usr/bin/llvm-config + echo "else" >> /usr/bin/llvm-config + echo 'llvm-config-21 "$@"' >> /usr/bin/llvm-config + echo 'fi' >> /usr/bin/llvm-config + cat /usr/bin/llvm-config + chmod +x /usr/bin/llvm-config + LLVM_CONFIG_PATH=/usr/bin/llvm-config RUSTFLAGS="-L/usr/lib64 -L/usr/lib -C linker=clang -C link-arg=-lzstd" make build-wasmer + env: + ENABLE_LLVM: ${{ matrix.enable_llvm }} + ENABLE_V8: ${{ matrix.enable_v8 }} + ENABLE_WASMI: ${{ matrix.enable_wasmi }} + ENABLE_WAMR: ${{ matrix.enable_wamr }} + #- name: Build Wasmer binary on Wasm32-WASI without LLVM + # if: matrix.build_wasm + # shell: bash + # run: | + # make build-wasmer-wasm - name: Install Nightly Rust for Headless - if: matrix.build != 'linux-musl-x64' + if: ${{ !startsWith(matrix.build, 'linux-musl-x64') }} uses: dtolnay/rust-toolchain@master with: - toolchain: "nightly-2023-10-05" + toolchain: "nightly-2024-11-07" target: ${{ matrix.target }} components: "rust-src" - name: Build Minimal Wasmer Headless - if: matrix.build != 'linux-musl-x64' + if: ${{ !startsWith(matrix.build, 'linux-musl-x64') }} run: | - cargo install xargo echo "" >> Cargo.toml echo "[profile.release]" >> Cargo.toml echo "opt-level = 'z'" >> Cargo.toml @@ -231,14 +276,12 @@ jobs: echo "incremental = false" >> Cargo.toml echo "codegen-units = 1" >> Cargo.toml echo "rpath = false" >> Cargo.toml - rustup override set nightly-2023-10-05 make build-wasmer-headless-minimal - rustup override unset - name: Dist run: | make distribution - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact_name }} path: dist @@ -246,10 +289,11 @@ jobs: retention-days: 2 windows_gnu: - name: Windows GNU + name: windows-gnu + if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-') runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Install Windows-GNU linker shell: bash run: | @@ -271,11 +315,12 @@ jobs: cargo build --release --manifest-path=/tmp/xwin/Cargo.toml /tmp/xwin/target/release/xwin --accept-license --cache-dir /tmp/xwincache splat --output /tmp/xwindownload mkdir -p /tmp/winsdk - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/WS2_32.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/KERNEL32.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/BCRYPT.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/ADVAPI32.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/USERENV.lib /tmp/winsdk/ + SDK_VERSION=$(ls /tmp/xwindownload/sdk/lib | head -n 1) + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/WS2_32.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/KERNEL32.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/BCRYPT.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/ADVAPI32.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/USERENV.lib /tmp/winsdk/ echo "WinSDK files:" ls -laH /tmp/winsdk echo "" @@ -305,18 +350,19 @@ jobs: CARGO_TARGET: x86_64-pc-windows-gnu TARGET_DIR: target/x86_64-pc-windows-gnu/release - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: 'wasmer-windows-gnu64' + name: "wasmer-windows-gnu64" path: dist if-no-files-found: error retention-days: 2 darwin_aarch64_jsc: - name: macOS aarch64 (JSC) - runs-on: macos-12 + name: JSC - macos-aarch64 + if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-') + runs-on: depot-macos-14 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable with: target: aarch64-apple-darwin @@ -338,18 +384,19 @@ jobs: CARGO_TARGET: aarch64-apple-darwin TARGET_DIR: target/aarch64-apple-darwin/release - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: 'aarch64-apple-darwin-jsc' + name: "aarch64-apple-darwin-jsc" path: dist if-no-files-found: error retention-days: 2 darwin_x86_64_jsc: - name: macOS x86_64 (JSC) - runs-on: macos-12 + name: JSC - macos-x86_64 + if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-') + runs-on: macos-15-intel steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable with: target: x86_64-apple-darwin @@ -367,83 +414,19 @@ jobs: CARGO_TARGET: x86_64-apple-darwin TARGET_DIR: target/x86_64-apple-darwin/release - name: Upload Artifacts - uses: actions/upload-artifact@v3 - with: - name: 'x86_64-apple-darwin-jsc' - path: dist - if-no-files-found: error - retention-days: 2 - - linux_aarch64: - name: Linux aarch64 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - with: - target: aarch64-unknown-linux-gnu - - name: Build cross image - run: | - docker build -t wasmer/aarch64 ${GITHUB_WORKSPACE}/.github/cross-linux-aarch64/ - env: - CROSS_DOCKER_IN_DOCKER: true - - name: Build Wasmer binary - run: | - make build-wasmer - env: - CARGO_BINARY: docker run -v /var/run/docker.sock:/var/run/docker.sock -v ${GITHUB_WORKSPACE}:/project -w /project wasmer/aarch64 cross - CROSS_DOCKER_IN_DOCKER: true - CARGO_TARGET: aarch64-unknown-linux-gnu - PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig - PKG_CONFIG_ALLOW_CROSS: true - ENABLE_LLVM: 0 - - name: Build C API headless - shell: bash - run: | - make package-capi-headless - env: - CARGO_BINARY: docker run -v /var/run/docker.sock:/var/run/docker.sock -v ${GITHUB_WORKSPACE}:/project -w /project wasmer/aarch64 cross - CROSS_DOCKER_IN_DOCKER: true - CARGO_TARGET: aarch64-unknown-linux-gnu - PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig - PKG_CONFIG_ALLOW_CROSS: true - ENABLE_LLVM: 0 - TARGET: aarch64-unknown-linux-gnu - TARGET_DIR: target/aarch64-unknown-linux-gnu/release - - name: Build C API - run: | - make build-capi - env: - CARGO_BINARY: docker run -v /var/run/docker.sock:/var/run/docker.sock -v ${GITHUB_WORKSPACE}:/project -w /project wasmer/aarch64 cross - CROSS_DOCKER_IN_DOCKER: true - CARGO_TARGET: aarch64-unknown-linux-gnu - PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig - PKG_CONFIG_ALLOW_CROSS: true - ENABLE_LLVM: 0 - - name: Dist - run: | - make distribution - env: - CARGO_BINARY: docker run -v /var/run/docker.sock:/var/run/docker.sock -v ${GITHUB_WORKSPACE}:/project -w /project wasmer/aarch64 cross - CROSS_DOCKER_IN_DOCKER: true - CARGO_TARGET: aarch64-unknown-linux-gnu - PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig - PKG_CONFIG_ALLOW_CROSS: true - TARGET: aarch64-unknown-linux-gnu - TARGET_DIR: target/aarch64-unknown-linux-gnu/release - - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: wasmer-linux-aarch64 + name: "x86_64-apple-darwin-jsc" path: dist if-no-files-found: error retention-days: 2 linux_riscv64: - name: Linux riscv64 + name: linux-riscv64 + if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-') runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable with: target: riscv64gc-unknown-linux-gnu @@ -497,7 +480,7 @@ jobs: TARGET: riscv64gc-unknown-linux-gnu TARGET_DIR: target/riscv64gc-unknown-linux-gnu/release - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wasmer-linux-riscv64 path: dist @@ -505,12 +488,12 @@ jobs: retention-days: 2 release: - needs: [setup, build, linux_aarch64, windows_gnu, linux_riscv64] + needs: [setup, build, windows_gnu, linux_riscv64] runs-on: ubuntu-latest - if: needs.setup.outputs.DOING_RELEASE == '1' || github.event.inputs.release != '' + if: (needs.setup.outputs.DOING_RELEASE == '1' || github.event.inputs.release != '') && github.event_name != 'pull_request' steps: - name: Download the Artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: path: artifacts - name: Create Release @@ -577,16 +560,16 @@ jobs: asset_path: artifacts/wasmer-windows-gnu64/wasmer.tar.gz asset_name: wasmer-windows-gnu64.tar.gz asset_content_type: application/gzip - - name: Upload Release Asset Linux amd64 (musl) - id: upload-release-asset-linux-musl-amd64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: artifacts/wasmer-linux-musl-amd64/wasmer.tar.gz - asset_name: wasmer-linux-musl-amd64.tar.gz - asset_content_type: application/gzip + #- name: Upload Release Asset Linux amd64 (musl) + # id: upload-release-asset-linux-musl-amd64 + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # asset_path: artifacts/wasmer-linux-musl-amd64/wasmer.tar.gz + # asset_name: wasmer-linux-musl-amd64.tar.gz + # asset_content_type: application/gzip - name: Upload Release Asset Mac amd64 uses: actions/upload-release-asset@v1 env: diff --git a/.github/workflows/cache-bucket-cleanup.yaml b/.github/workflows/cache-bucket-cleanup.yaml index 03ae072afd..d2baaf2a41 100644 --- a/.github/workflows/cache-bucket-cleanup.yaml +++ b/.github/workflows/cache-bucket-cleanup.yaml @@ -18,7 +18,7 @@ jobs: - name: Install boto3 library run: pip install boto3 - name: Clone repository - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Run cleanup env: AWS_ENDPOINT: https://1541b1e8a3fc6ad155ce67ef38899700.r2.cloudflarestorage.com diff --git a/.github/workflows/check-public-api.yaml b/.github/workflows/check-public-api.yaml index fc47e79c5e..b8119003be 100644 --- a/.github/workflows/check-public-api.yaml +++ b/.github/workflows/check-public-api.yaml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -38,7 +38,7 @@ jobs: cargo public-api --manifest-path=lib/api/Cargo.toml --diff-git-checkouts $LATEST_VERSION main > diff.txt - name: Archive change report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: api-diff-report path: | diff --git a/.github/workflows/cloudcompiler.yaml b/.github/workflows/cloudcompiler.yaml index 22ac4b1e7d..6fd74edbe9 100644 --- a/.github/workflows/cloudcompiler.yaml +++ b/.github/workflows/cloudcompiler.yaml @@ -2,13 +2,12 @@ name: Release cloudcompiler.wasm env: RUST_BACKTRACE: 1 - MSRV: "1.74" on: push: tags: # trigger action on release branch - - '[0-9]+.[0-9]+.[0-9]+*' + - "[0-9]+.[0-9]+.[0-9]+*" workflow_dispatch: jobs: @@ -16,27 +15,28 @@ jobs: name: Set up runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: fetch-depth: 0 + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} - target: ${{ matrix.target }} - - name: Install wasm32-wasi target + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} + - name: Install wasm32-wasip1 target shell: bash run: | - rustup target add wasm32-wasi + rustup target add wasm32-wasip1 - name: Setup Wasmer uses: wasmerio/setup-wasmer@v1 - name: Build cloudcompiler.wasm shell: bash run: | make build-wasmer-wasm && - mkdir target/wasm32-wasi/release/cloudcompiler - cp target/wasm32-wasi/release/wasmer-compiler.wasm target/wasm32-wasi/release/cloudcompiler/cloudcompiler.wasm && - cat << EOF > target/wasm32-wasi/release/cloudcompiler/wasmer.toml + mkdir target/wasm32-wasip1/release/cloudcompiler + cp target/wasm32-wasip1/release/wasmer-compiler.wasm target/wasm32-wasip1/release/cloudcompiler/cloudcompiler.wasm && + cat << EOF > target/wasm32-wasip1/release/cloudcompiler/wasmer.toml [package] name = "${{ secrets.WAPM_DEV_USERNAME }}/cloudcompiler" version = "0.1.0" @@ -61,18 +61,18 @@ jobs: echo $(git tag | tail -n1) > ./version.txt v=$(git describe --tags --abbrev=0) && \ echo "version = ${v}" && - sed -i "s/version = \".*\"/version = \"${v}\"/g" target/wasm32-wasi/release/cloudcompiler/wasmer.toml \ + sed -i "s/version = \".*\"/version = \"${v}\"/g" target/wasm32-wasip1/release/cloudcompiler/wasmer.toml \ - name: Build cloudcompiler.wasm shell: bash run: | git tag && - cat target/wasm32-wasi/release/cloudcompiler/wasmer.toml && + cat target/wasm32-wasip1/release/cloudcompiler/wasmer.toml && echo "ls" && - ls target/wasm32-wasi/release/cloudcompiler + ls target/wasm32-wasip1/release/cloudcompiler - name: Publish to WAPM uses: wasmerio/wapm-publish@v1 with: registry: https://registry.wapm.dev - directory: target/wasm32-wasi/release/cloudcompiler + directory: target/wasm32-wasip1/release/cloudcompiler username: ${{ secrets.WAPM_DEV_USERNAME }} password: ${{ secrets.WAPM_DEV_PASSWORD }} diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 0000000000..fe60eea928 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,120 @@ +name: "Copilot Setup Steps" + +on: + workflow_dispatch: + push: + paths: + - .github/workflows/copilot-setup-steps.yml + pull_request: + paths: + - .github/workflows/copilot-setup-steps.yml + +env: + RUST_BACKTRACE: 1 + +jobs: + # The job MUST be called `copilot-setup-steps` + copilot-setup-steps: + runs-on: ubuntu-22.04 + + permissions: + contents: read + + steps: + - uses: actions/checkout@v6 + - name: Set up libstdc++ on Linux + run: | + sudo apt-get update -y + sudo apt-get install -y --allow-downgrades libstdc++6 + sudo apt-get install -y --reinstall g++ + sudo apt-get install -y creduce + + - name: Read rust version + id: read_rust_version + run: | + rust_toolchain=$(head -n1 rust-toolchain | tr -d '\n') + echo "MSRV=$rust_toolchain" >> $GITHUB_ENV + echo "MSRV=$rust_toolchain" >> $GITHUB_OUTPUT + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ steps.read_rust_version.outputs.MSRV }} + target: x86_64-unknown-linux-gnu + components: rustc,cargo,rust-std,rust-src,clippy,rustfmt,rust-analyzer,rust-docs + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + ~/.wasmer/cache/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + ${{ runner.os }}-cargo- + + - name: Install Nextest + uses: taiki-e/install-action@nextest + + - name: Install LLVM + shell: bash + run: | + cd $HOME + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf ${{ env.LLVM_URL }} -L -o llvm.tar.xz + LLVM_DIR=$HOME/.llvm + mkdir ${LLVM_DIR} + tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR} + echo "${LLVM_DIR}/bin" >> $GITHUB_PATH + echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH + echo "LLVM_SYS_211_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV + echo "ENABLE_LLVM=1" >> $GITHUB_ENV + cd - + env: + LLVM_URL: https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz + + - name: Install wasixcc + uses: wasix-org/wasixcc@main + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + sysroot-tag: v2025-12-22.1 + + - name: Install wasm-tools + run: | + cargo install --locked wasm-tools + + - name: Ensure the setup works + shell: bash + run: | + # Check rustfmt is installed + cargo fmt --version + # Check clippy is installed + cargo clippy --version + # Check wasm-tools is installed + wasm-tools --version + # Check wasixcc is installed + wasixcc --version + # Check wasm-opt is available + wasm-opt --version + # Check that the repo exists + git status --porcelain + # Check that the repo is clean + test -z "$(git status --porcelain)" + # Check that clang is installed + clang --version + # Check that clang comes from the LLVM we installed + clang_path=$(which clang) + echo "Clang path: $clang_path" + [[ "$clang_path" == *".llvm"* ]] + # Check that creduce is installed + creduce --version + + # For debugging the setup locally, you can uncomment this step and run + # `act -P ubuntu-22.04=catthehacker/ubuntu:full-22.04 -W ./.github/workflows/copilot-setup-steps.yml` + # - name: Setup upterm session + # uses: owenthereal/action-upterm@v1 + # with: + # limit-access-to-users: zebreus diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 7a023a4f5c..3dabcd24e2 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -3,34 +3,33 @@ name: Documentation on: push: branches: - - 'main' + - "main" paths: - - 'lib/**' - -env: - MSRV: "1.74" + - "lib/**" jobs: documentation: name: Documentation runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} - name: Install LLVM shell: bash run: | - curl --proto '=https' --tlsv1.2 -sSf ${{ env.LLVM_URL }} -L -o llvm.tar.xz + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf ${{ env.LLVM_URL }} -L -o llvm.tar.xz mkdir ${{ env.LLVM_DIR }} tar xf llvm.tar.xz --strip-components=1 -C ${{ env.LLVM_DIR }} echo "${{ env.LLVM_DIR }}/bin" >> $GITHUB_PATH - echo "LLVM_SYS_120_PREFIX=${{ env.LLVM_DIR }}" >> $GITHUB_ENV + echo "LLVM_SYS_211_PREFIX=${{ env.LLVM_DIR }}" >> $GITHUB_ENV env: - LLVM_DIR: ${{ github.workspace }}/llvm-13 - LLVM_URL: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.0/clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz' + LLVM_DIR: ${{ github.workspace }}/llvm-21 + LLVM_URL: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz" - name: Build & package documentation run: make package-docs - name: Publish documentation diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f39c8b8fbd..b9eb5b9b9c 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -4,14 +4,14 @@ on: push: branches: - main - - 'with-ci-.*' - - 'v3.0.x' - - 'v3.1.x' + - "with-ci-.*" + - "v3.0.x" + - "v3.1.x" pull_request: workflow_dispatch: inputs: release: - description: 'Make release' + description: "Make release" # Automatically cancel previous workflow runs when a new commit is pushed. concurrency: @@ -24,10 +24,10 @@ env: # Rust, but it's not stable on 1.69 yet. By explicitly setting the protocol we # can override that behaviour CARGO_REGISTRIES_CRATES_IO_PROTOCOL: git - MSRV: "1.74" NEXTEST_PROFILE: "ci" RUSTUP_WINDOWS_PATH_ADD_BIN: 1 WASI_SDK_VERSION: "22" + S3_CACHE_VERSION: "3" jobs: setup: @@ -52,30 +52,34 @@ jobs: name: Code lint runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} components: rustfmt, clippy + targets: wasm32-unknown-unknown - name: Install libtinfo shell: bash run: | sudo apt install -y libtinfo5 - name: Install LLVM (Linux) run: | - curl --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz -L -o /opt/llvm.tar.xz - mkdir -p /opt/llvm-15 - tar xf /opt/llvm.tar.xz --strip-components=1 -C /opt/llvm-15 - echo '/opt/llvm-15/bin' >> $GITHUB_PATH - echo 'LLVM_SYS_150_PREFIX=/opt/llvm-15' >> $GITHUB_ENV + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz -L -o /opt/llvm.tar.xz + mkdir -p /opt/llvm-21 + tar xf /opt/llvm.tar.xz --strip-components=1 -C /opt/llvm-21 + echo '/opt/llvm-21/bin' >> $GITHUB_PATH + echo 'LLVM_SYS_211_PREFIX=/opt/llvm-21' >> $GITHUB_ENV - name: Cache + # TODO: v3 is unable to Restore the cache for some reason uses: whywaita/actions-cache-s3@v2 with: path: | ~/.cargo/* ./target/* - key: r22-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-lint-linux-x64 + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-lint-linux-x64 aws-s3-bucket: wasmer-rust-artifacts-cache aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} @@ -88,6 +92,7 @@ jobs: ENABLE_CRANELIFT: "1" ENABLE_LLVM: "1" ENABLE_SINGLEPASS: "1" + - run: make lint-js - name: Assert no files have changed run: | git status @@ -97,44 +102,88 @@ jobs: name: cargo-deny runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - - uses: EmbarkStudios/cargo-deny-action@v1 + - uses: actions/checkout@v6 + - uses: EmbarkStudios/cargo-deny-action@v2 with: log-level: error test_nodejs: - name: Test on NodeJS + name: NodeJS runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} - name: Install NodeJS - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 22 - name: Install wasm-pack run: | curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh + - name: Cache + # TODO: v3 is unable to Restore the cache for some reason + uses: whywaita/actions-cache-s3@v2 + with: + path: | + ~/.cargo/* + ./target/* + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-test-js + aws-s3-bucket: wasmer-rust-artifacts-cache + aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} + aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} + aws-region: auto + aws-endpoint: https://1541b1e8a3fc6ad155ce67ef38899700.r2.cloudflarestorage.com + aws-s3-bucket-endpoint: false + aws-s3-force-path-style: true - name: make test-js run: | make test-js test_wasi_fyi: - name: Test wasi-fyi + name: Wasi-fyi runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: toolchain: nightly - targets: "wasm32-wasi" + targets: "wasm32-wasip1" - name: Install wasm-pack run: | curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh + - name: Install LLVM 21 + run: | + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz -L -o llvm.tar.xz + LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} + mkdir ${LLVM_DIR} + tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR} + echo "ENABLE_LLVM=1" >> $GITHUB_ENV + echo "${LLVM_DIR}/bin" >> $GITHUB_PATH + echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH + echo "LLVM_SYS_211_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV + env: + LLVM_DIR: .llvm + - name: Cache + # TODO: v3 is unable to Restore the cache for some reason + uses: whywaita/actions-cache-s3@v2 + with: + path: | + ~/.cargo/* + ./target/* + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-test-wasi-fyi + aws-s3-bucket: wasmer-rust-artifacts-cache + aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} + aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} + aws-region: auto + aws-endpoint: https://1541b1e8a3fc6ad155ce67ef38899700.r2.cloudflarestorage.com + aws-s3-bucket-endpoint: false + aws-s3-force-path-style: true - name: make test-wasi-fyi run: | make test-wasi-fyi @@ -145,163 +194,261 @@ jobs: # make test-js-core test_wasix: - name: Test WASIX + name: WASIX runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} - name: Install Tools run: | sudo apt-get update - sudo apt-get install -y git llvm clang make lld curl - - name: Build wasix sysroot - run: | - cd ~ - git clone --recurse-submodules https://github.com/wasix-org/wasix-libc - cd wasix-libc - ./build32.sh - rm -rf /opt/wasix-sysroot - cp -r sysroot32 ~/wasix-sysroot - - name: Install wasi-sdk Tools - run: | - cd ~ - curl -L "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${{ env.WASI_SDK_VERSION }}/wasi-sdk-${{ env.WASI_SDK_VERSION }}.0-linux.tar.gz" -o wasi-sdk.tar.gz - tar -xzf wasi-sdk.tar.gz - cp -r wasi-sdk-${{ env.WASI_SDK_VERSION }}.0 ~/wasi-sdk - - name: Install wasm-opt - run: | - sudo apt-get install -y binaryen + sudo apt-get install -y git make lld curl + - name: Install wasixcc + uses: wasix-org/wasixcc@main + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + sysroot-tag: v2025-12-22.1 + + - name: Tool versions + run: | + echo "wasixcc version: $(wasixcc --version)" + echo "llvm version: $(wasixcc -- --version)" + echo "wasm-opt version: $(wasm-opt --version)" + - name: Install LLVM 21 (for building Wasmer) + run: | + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz -L -o llvm.tar.xz + LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} + mkdir ${LLVM_DIR} + tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR} + echo "ENABLE_LLVM=1" >> $GITHUB_ENV + echo "${LLVM_DIR}/bin" >> $GITHUB_PATH + echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH + echo "LLVM_SYS_211_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV + env: + LLVM_DIR: .llvm + - name: Cache + # TODO: v3 is unable to Restore the cache for some reason + uses: whywaita/actions-cache-s3@v2 + with: + path: | + ~/.cargo/* + ./target/* + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-test-wasix + aws-s3-bucket: wasmer-rust-artifacts-cache + aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} + aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} + aws-region: auto + aws-endpoint: https://1541b1e8a3fc6ad155ce67ef38899700.r2.cloudflarestorage.com + aws-s3-bucket-endpoint: false + aws-s3-force-path-style: true - name: make test-wasix run: | - WASI_SDK=~/wasi-sdk WASIX_SYSROOT=~/wasix-sysroot make test-wasix - - test_wasm_build: - name: Test wasm build - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - - name: rustup target add wasm32-wasi - run: rustup target add wasm32-wasi - - name: make build-wasmer-wasm - run: make build-wasmer-wasm + WASI_SDK=~/wasi-sdk WASIX_SYSROOT=$(pwd)/sysroot/wasix-sysroot/sysroot make test-wasix test_build_jsc: - name: Test JSC build + name: JSC runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable + - uses: actions/checkout@v6 + - uses: ./.github/actions/load_toolchain + id: load_toolchain + - name: Install Rust + uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} target: x86_64-unknown-linux-gnu + components: clippy - name: Install NodeJS - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: 16 - name: Install libjavascriptcoregtk-4.0-dev run: sudo apt update && sudo apt install -y libjavascriptcoregtk-4.0-dev + - name: Cache + # TODO: v3 is unable to Restore the cache for some reason + uses: whywaita/actions-cache-s3@v2 + with: + path: | + ~/.cargo/* + ./target/* + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-build-wasmer-jsc + aws-s3-bucket: wasmer-rust-artifacts-cache + aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} + aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} + aws-region: auto + aws-endpoint: https://1541b1e8a3fc6ad155ce67ef38899700.r2.cloudflarestorage.com + aws-s3-bucket-endpoint: false + aws-s3-force-path-style: true + - name: lint jsc + run: make lint-jsc - name: make build-wasmer-jsc run: make build-wasmer-jsc + test_interpreter_api: + name: ${{ matrix.build-what.name }} - ${{ matrix.metadata.build }} + runs-on: ${{ matrix.metadata.os }} + strategy: + fail-fast: false + matrix: + build-what: + [ + { + key: wamr, + lint-cmd: "make lint-wamr", + build-cmd: "make test-wamr-api", + name: "API (wamr)", + }, + { + key: wasmi, + lint-cmd: "make lint-wasmi", + build-cmd: "make test-wasmi-api", + name: "API (wasmi)", + }, + { + key: v8, + lint-cmd: "make lint-v8", + build-cmd: "make test-v8-api", + name: "API (v8)", + }, + ] + metadata: [ + { build: linux-x64, os: ubuntu-22.04 }, + { build: macos-arm, os: depot-macos-14 }, + #{ + # build: windows-x64, + # os: windows-2022, + #} + ] + container: ${{ matrix.metadata.container }} + steps: + - uses: actions/checkout@v6 + + - name: Setup MSVC (Windows) + uses: ilammy/msvc-dev-cmd@v1 + if: matrix.metadata.build == 'windows-x64' + + - uses: ./.github/actions/load_toolchain + id: load_toolchain + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} + components: clippy + + - name: Install Nextest + uses: taiki-e/install-action@nextest + + - name: Install `ninja`, clang`, `binutils` and `mold` on Ubuntu + if: startsWith(matrix.metadata.build, 'linux-') + shell: bash + run: | + sudo apt-get update -y && sudo apt-get install ninja-build clang mold binutils -y + + - name: Install `ninja` and (brew's) `llvm` on macOS + if: startsWith(matrix.metadata.build, 'macos-') + shell: bash + run: | + brew install ninja llvm@21 + echo "/opt/homebrew/opt/llvm@21/bin" >> $GITHUB_PATH + ls -laR /opt/homebrew/opt/llvm@21/bin/ + + - name: Install `ninja` on Windows + if: startsWith(matrix.metadata.build, 'windows-') + shell: bash + run: | + choco install ninja + + - name: Delete unwanted link to stop it from interfering (Windows) + shell: bash + run: rm /usr/bin/link.exe + if: startsWith(matrix.metadata.build, 'windows-') + + - name: Lint ${{ matrix.build-what.key }} + run: ${{ matrix.build-what.lint-cmd }} + + - name: Test WAMR API + if: ${{ matrix.build-what.key == 'wamr' }} + run: echo $GITHUB_PATH && ${{ matrix.build-what.build-cmd }} + + - name: Test wasmi API + if: ${{ matrix.build-what.key == 'wasmi' }} + run: ${{ matrix.build-what.build-cmd }} + + - name: Test v8 API (Linux + clang) + if: ${{ matrix.build-what.key == 'v8' && startsWith(matrix.metadata.build, 'linux-')}} + run: RUSTFLAGS="-C linker=clang -C link-arg=-fuse-ld=lld" CARGO_TERM_VERBOSE=true ${{ matrix.build-what.build-cmd }} + + - name: Test v8 API + if: ${{ matrix.build-what.key == 'v8' && !startsWith(matrix.metadata.build, 'linux-')}} + run: ${{ matrix.build-what.build-cmd }} + test_build_docs_rs: - name: Test build docs rs + name: Build docs.rs runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@master with: - toolchain: "nightly-2023-10-05" + toolchain: "nightly-2025-09-27" target: x86_64-unknown-linux-gnu - - run: cargo install toml-cli # toml-cli is required to run `make test-build-docs-rs` - - name: make test-build-docs-rs-ci - run: make test-build-docs-rs-ci + - run: cargo install toml-cli --locked # toml-cli is required to run `make test-build-docs-rs` - build_linux_aarch64: - name: ${{ matrix.build-what.name }} on linux-aarch64 - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - build-what: [ - { - key: capi, - build-cmd: 'make build-capi && make package-capi', - name: 'Build C-API' - }, - { - key: wasmer, - build-cmd: 'make build-wasmer && make package-wasmer && make tar-wasmer', - name: 'Build wasmer-cli' - } - ] - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.MSRV }} - target: aarch64-unknown-linux-gnu - - name: Build cross image - run: | - docker build -t wasmer/aarch64 ${GITHUB_WORKSPACE}/.github/cross-linux-aarch64/ - env: - CROSS_DOCKER_IN_DOCKER: true - - name: Build ${{ matrix.build-what.key }} + - name: Install `ninja` on Ubuntu + shell: bash run: | - ${{ matrix.build-what.build-cmd }} - env: - CARGO_BINARY: docker run -v /var/run/docker.sock:/var/run/docker.sock -v ${GITHUB_WORKSPACE}:/project -w /project wasmer/aarch64 cross - CROSS_DOCKER_IN_DOCKER: true - CARGO_TARGET: aarch64-unknown-linux-gnu - PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig - PKG_CONFIG_ALLOW_CROSS: true - ENABLE_LLVM: 0 - - name: Dist - if: ${{ matrix.build-what.key == 'capi' }} + sudo apt-get install ninja-build -y + + - name: Install LLVM 21 run: | - make distribution + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz -L -o llvm.tar.xz + LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} + mkdir ${LLVM_DIR} + tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR} + echo "ENABLE_LLVM=1" >> $GITHUB_ENV + echo "${LLVM_DIR}/bin" >> $GITHUB_PATH + echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH + echo "LLVM_SYS_211_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV env: - CARGO_BINARY: docker run -v /var/run/docker.sock:/var/run/docker.sock -v ${GITHUB_WORKSPACE}:/project -w /project wasmer/aarch64 cross - CROSS_DOCKER_IN_DOCKER: true - CARGO_TARGET: aarch64-unknown-linux-gnu - PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig - PKG_CONFIG_ALLOW_CROSS: true - TARGET: aarch64-unknown-linux-gnu - TARGET_DIR: target/aarch64-unknown-linux-gnu/release - - name: Upload Artifacts - if: ${{ matrix.build-what.key == 'capi' }} - uses: actions/upload-artifact@v3 - with: - name: capi-linux-aarch64 - path: dist - if-no-files-found: error - retention-days: 2 + LLVM_DIR: .llvm + - name: make test-build-docs-rs-ci + run: make test-build-docs-rs-ci build_linux_riscv64: - name: ${{ matrix.build-what.name }} on linux-riscv64 + name: ${{ matrix.build-what.name }} - linux-riscv64 runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: - build-what: [ - { - key: capi, - build-cmd: 'make build-capi && make package-capi', - name: 'Build C-API' - }, - { - key: wasmer, - build-cmd: 'make build-wasmer && make package-wasmer && make tar-wasmer', - name: 'Build wasmer-cli' - } - ] + build-what: + [ + { + key: wast-tests, + build-cmd: "make test-stage-0-wast", + name: "WAST tests", + }, + { + key: capi, + build-cmd: "make build-capi && make package-capi", + name: "C-API", + }, + { + key: wasmer, + build-cmd: "make build-wasmer && make package-wasmer && make tar-wasmer", + name: "Wasmer-cli binary", + }, + ] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + #- uses: ./.github/actions/load_toolchain + # id: load_toolchain #- uses: dtolnay/rust-toolchain@stable # with: - # toolchain: ${{ env.MSRV }} + # toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} # target: riscv64gc-unknown-linux-gnu - name: Build cross image run: | @@ -330,7 +477,7 @@ jobs: TARGET_DIR: target/riscv64gc-unknown-linux-gnu/release - name: Upload Artifacts if: ${{ matrix.build-what.key == 'capi' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: capi-linux-riscv64 path: dist @@ -338,66 +485,104 @@ jobs: retention-days: 2 build: - name: ${{ matrix.build-what.name }} on ${{ matrix.metadata.build }} + name: ${{ matrix.build-what.name }} - ${{ matrix.metadata.build }} runs-on: ${{ matrix.metadata.os }} needs: setup strategy: fail-fast: false matrix: - build-what: [ - { - key: capi, - build-cmd: 'make build-capi && make build-capi-headless && make package-capi && make tar-capi', - name: 'Build and test C-API' - }, - { - key: wasmer, - build-cmd: 'make build-wasmer && make package-wasmer && make tar-wasmer', - name: 'Build wasmer-cli' - } - ] + build-what: + [ + { + key: capi, + build-cmd: "make build-capi && make build-capi-headless && make package-capi && make tar-capi", + name: "C-API", + }, + { + key: capi-v8, + build-cmd: "make test-capi-v8", + name: "C-API with v8", + }, + { + key: wasmer, + build-cmd: "make build-wasmer && make package-wasmer && make tar-wasmer", + name: "Wasmer-cli binary", + }, + { + key: "check", + build-cmd: "make check", + name: "Wasmer API (sys)", + }, + { + key: "api-feats", + build-cmd: "make check-api-features", + name: "API (sys)", + }, + ] metadata: [ - { - build: linux-x64, - os: ubuntu-22.04, - target: x86_64-unknown-linux-gnu, - llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz' - }, - { - build: linux-musl, - target: x86_64-unknown-linux-musl, - os: ubuntu-22.04, - container: 'alpine:latest' - }, - { - build: macos-x64, - os: macos-12, - target: x86_64-apple-darwin, - llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang+llvm-15.0.7-x86_64-apple-darwin21.0.tar.xz' - }, - { - build: macos-arm, - os: macos-12, - target: aarch64-apple-darwin, - }, - { - build: windows-x64, - os: windows-2019, - target: x86_64-pc-windows-msvc, - llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-windows-amd64.tar.xz' - }, - { - build: windows-gnu, - target: x86_64-pc-windows-gnu, - os: ubuntu-22.04, - } - ] + { + build: linux-x64, + os: ubuntu-22.04, + target: x86_64-unknown-linux-gnu, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz", + # Unfortunately, building a shared lib of the c_api with the v8 + # backend does not work, due to unsupported relocations to hidden + # symbols in wee8. + supports_v8: false, + }, + { + build: linux-arm64, + os: ubuntu-22.04-arm, + target: aarch64-unknown-linux-gnu, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-aarch64.tar.xz", + supports_v8: false, + }, + { + build: macos-x64, + os: macos-15-intel, + target: x86_64-apple-darwin, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-amd64.tar.xz", + supports_v8: true, + }, + { + build: macos-arm, + os: depot-macos-14, + target: aarch64-apple-darwin, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-aarch64.tar.xz", + supports_v8: true, + }, + { + build: windows-x64, + os: windows-2022, + target: x86_64-pc-windows-msvc, + exe: ".exe", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-windows-amd64.tar.xz", + supports_v8: false, + }, + { + build: windows-gnu, + target: x86_64-pc-windows-gnu, + os: ubuntu-22.04, + supports_v8: false, + }, + { + build: linux-musl, + target: x86_64-unknown-linux-musl, + os: ubuntu-22.04, + exe: "", + container: "alpine:edge", + supports_v8: false, + }, + ] container: ${{ matrix.metadata.container }} - env: - SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob - SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + - name: Set up Depot CLI + uses: depot/setup-action@v1 - name: Set up libstdc++ on Linux if: matrix.metadata.build == 'linux-x64' run: | @@ -406,21 +591,32 @@ jobs: sudo apt-get install --reinstall g++ - name: Set up base deps on musl if: matrix.metadata.build == 'linux-musl' - run: ./scripts/alpine-linux-install-deps.sh + run: | + ./scripts/alpine-linux-install-deps.sh - name: Set up dependencies for Mac OS run: | brew install automake # using gnu-tar is a workaround for https://github.com/actions/cache/issues/403 brew install gnu-tar echo PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH" >> $GITHUB_ENV - if: matrix.metadata.os == 'macos-12' + if: matrix.metadata.os == 'macos-15-intel' + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} target: ${{ matrix.metadata.target }} + components: rustfmt,clippy - name: Install Nextest uses: taiki-e/install-action@nextest + - name: Install MSVC dev-cmd (Windows) + uses: ilammy/msvc-dev-cmd@v1 + if: ${{ matrix.metadata.build == 'windows-x64' }} + - name: Delete unwanted link to stop it from interfering (Windows) + shell: bash + run: rm /usr/bin/link.exe + if: ${{ matrix.metadata.build == 'windows-x64' }} - name: Install Windows-GNU linker if: ${{ matrix.metadata.build == 'windows-gnu' }} shell: bash @@ -442,35 +638,42 @@ jobs: cargo build --release --manifest-path=/tmp/xwin/Cargo.toml /tmp/xwin/target/release/xwin --accept-license --cache-dir /tmp/xwincache splat --output /tmp/xwindownload mkdir -p /tmp/winsdk - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/WS2_32.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/KERNEL32.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/BCRYPT.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/ADVAPI32.lib /tmp/winsdk/ - cp /tmp/xwindownload/sdk/lib/10.0.20348/um/x86_64/USERENV.lib /tmp/winsdk/ + SDK_VERSION=$(ls /tmp/xwindownload/sdk/lib | head -n 1) + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/WS2_32.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/KERNEL32.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/BCRYPT.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/ADVAPI32.lib /tmp/winsdk/ + cp /tmp/xwindownload/sdk/lib/$SDK_VERSION/um/x86_64/USERENV.lib /tmp/winsdk/ echo "WinSDK files:" ls -laH /tmp/winsdk echo "" mkdir -p package mkdir -p package/winsdk cp -r /tmp/winsdk/* package/winsdk - - name: Install LLVM (macOS Apple Silicon) - if: matrix.metadata.os == 'macos-12' && !matrix.metadata.llvm_url + - name: Install LLVM (macOS Intel) + if: matrix.metadata.os == 'macos-15-intel' && !matrix.metadata.llvm_url run: | brew install llvm - name: Install LLVM - if: matrix.metadata.llvm_url shell: bash + if: matrix.metadata.llvm_url run: | - curl --proto '=https' --tlsv1.2 -sSf ${{ matrix.metadata.llvm_url }} -L -o llvm.tar.xz + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf ${{ matrix.metadata.llvm_url }} -L -o llvm.tar.xz LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} mkdir ${LLVM_DIR} tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR} echo "ENABLE_LLVM=1" >> $GITHUB_ENV echo "${LLVM_DIR}/bin" >> $GITHUB_PATH echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH - echo "LLVM_SYS_150_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV + echo "LLVM_SYS_211_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV env: LLVM_DIR: .llvm + - name: Add `brew` libs to `RUSTFLAGS` + if: matrix.metadata.os == 'macos-14' + shell: bash + run: | + echo "RUSTFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV + echo "RUSTDOCFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV - name: Setup Rust target shell: bash run: | @@ -480,23 +683,14 @@ jobs: target = "${{ matrix.metadata.target }}" EOF if: matrix.metadata.target - - name: which cargo - if: ${{ matrix.build-what.key == 'capi' && matrix.metadata.build == 'windows-x64' }} - run: which cargo - - name: Set cargo env - run: echo "CARGO_ROOT_DIR=$(dirname $(dirname $( which cargo )))" >> $GITHUB_ENV - - name: List root dir - shell: bash - if: ${{ matrix.build-what.key == 'capi' && matrix.metadata.build == 'windows-x64' }} - run: ls -R $CARGO_ROOT_DIR - name: Cache + # TODO: v3 is unable to Restore the cache for some reason uses: whywaita/actions-cache-s3@v2 with: path: | ~/.cargo/* ./target/* - $CARGO_ROOT_DIR/* - key: r22-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-build-wasmer-${{ matrix.build-what.key }}-${{ matrix.metadata.build }} + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-build-wasmer-${{ matrix.build-what.key }}-${{ matrix.metadata.build }} aws-s3-bucket: wasmer-rust-artifacts-cache aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} @@ -507,45 +701,64 @@ jobs: - name: Build C-API shell: bash run: ${{ matrix.build-what.build-cmd }} - if: ${{ matrix.build-what.key == 'capi' }} + if: ${{ matrix.build-what.key == 'capi' && matrix.metadata.build != 'macos-x64' }} env: TARGET: ${{ matrix.metadata.target }} TARGET_DIR: target/${{ matrix.metadata.target }}/release CARGO_TARGET: ${{ matrix.metadata.target }} + - name: C-API (v8) + shell: bash + run: ${{ matrix.build-what.build-cmd }} + if: ${{ matrix.build-what.key == 'capi-v8' && matrix.metadata.supports_v8 == true }} - name: Build Wasmer shell: bash - if: ${{ matrix.build-what.key == 'wasmer' && matrix.metadata.build != 'windows-gnu' }} + if: ${{ matrix.build-what.key == 'wasmer' && matrix.metadata.build != 'windows-gnu' && matrix.metadata.build != 'macos-x64' }} run: ${{ matrix.build-what.build-cmd }} env: TARGET: ${{ matrix.metadata.target }} TARGET_DIR: target/${{ matrix.metadata.target }}/release CARGO_TARGET: ${{ matrix.metadata.target }} + - name: Check `wasmer` crate with all the `sys` features enabled + shell: bash + if: ${{ matrix.build-what.key == 'api-feats' && matrix.metadata.build != 'windows-gnu' && matrix.metadata.build != 'macos-x64' }} + run: ${{ matrix.build-what.build-cmd }} + + - name: Lint C-API + shell: bash + if: ${{ matrix.build-what.key == 'capi' && !(matrix.metadata.build == 'linux-musl' || matrix.metadata.build == 'windows-gnu' || matrix.metadata.build == 'macos-x64') }} + run: make lint-capi-ci + env: + TARGET: ${{ matrix.metadata.target }} + TARGET_DIR: target/${{ matrix.metadata.target }}/release + CARGO_TARGET: ${{ matrix.metadata.target }} + - name: Test C-API shell: bash - if: ${{ matrix.build-what.key == 'capi' && !(matrix.metadata.build == 'linux-musl' || matrix.metadata.build == 'macos-arm' || matrix.metadata.build == 'windows-gnu') }} + if: ${{ matrix.build-what.key == 'capi' && !(matrix.metadata.build == 'linux-musl' || matrix.metadata.build == 'windows-gnu' || matrix.metadata.build == 'macos-x64') }} run: make test-capi-ci env: TARGET: ${{ matrix.metadata.target }} TARGET_DIR: target/${{ matrix.metadata.target }}/release CARGO_TARGET: ${{ matrix.metadata.target }} + # C-API tests were disabled for linux-musl and macos-arm (we can't run them) - name: Test C-API integration shell: bash - if: ${{ matrix.build-what.key == 'capi' && !(matrix.metadata.build == 'linux-musl' || matrix.metadata.build == 'macos-arm' || matrix.metadata.build == 'windows-gnu') }} + if: ${{ matrix.build-what.key == 'capi' && !(matrix.metadata.build == 'linux-musl' || matrix.metadata.build == 'windows-gnu' || matrix.metadata.build == 'macos-x64') }} run: export WASMER_DIR=`pwd`/package && make test-stage-7-capi-integration-tests env: TARGET: ${{ matrix.metadata.target }} TARGET_DIR: target/${{ matrix.metadata.target }}/release CARGO_TARGET: ${{ matrix.metadata.target }} - name: Archive production artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wasmer-cli-${{ matrix.metadata.build }} path: build-wasmer.tar.gz if-no-files-found: ignore retention-days: 2 - name: Archive production artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: capi-${{ matrix.metadata.build }} path: build-capi.tar.gz @@ -553,81 +766,109 @@ jobs: retention-days: 2 test: - name: ${{ matrix.stage.description }} on ${{ matrix.metadata.build }} + name: ${{ matrix.stage.description }} - ${{ matrix.metadata.build }} runs-on: ${{ matrix.metadata.os }} needs: setup strategy: fail-fast: false matrix: - stage: [ - { - description: 'Run wast test suite for all compilers', - make: 'test-stage-0-wast', - }, - { - description: 'Unit-test packages on std', - make: 'test-stage-1-test-all', - }, - { - description: 'Unit-test cranelift on no-std', - make: 'test-stage-2-test-compiler-cranelift-nostd', - }, - { - description: 'Unit-test singlepass on no-std', - make: 'test-stage-3-test-compiler-singlepass-nostd', - }, - { - description: 'Unit-test wasmer-cli', - make: 'test-stage-4-wasmer-cli', - }, - { - description: 'Unit-test examples', - make: 'test-stage-5-test-examples', - } - ] + stage: + [ + { + description: "WAST (all comp.)", + make: "test-stage-0-wast", + }, + { + description: "Packages - std", + make: "test-stage-1-test-all", + }, + { + description: "Cranelift - no-std", + make: "test-stage-2-test-compiler-cranelift-nostd", + }, + { + description: "Singlepass - no-std", + make: "test-stage-3-test-compiler-singlepass-nostd", + }, + { + description: "Wasmer-cli", + make: "test-stage-4-wasmer-cli", + }, + { + description: "Examples", + make: "test-stage-5-test-examples", + }, + ] metadata: [ - # We cannot test on macos-arm since we don't have ARM runners - { - build: linux-x64, - os: ubuntu-22.04, - target: x86_64-unknown-linux-gnu, - exe: '', - llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz' - }, - { - build: macos-x64, - os: macos-12, - target: x86_64-apple-darwin, - exe: '', - llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang+llvm-15.0.7-x86_64-apple-darwin21.0.tar.xz' - }, - { - build: macos-arm64, - os: macos-14, - target: aarch64-apple-darwin, - exe: '', - }, - { - build: windows-x64, - os: windows-2019, - target: x86_64-pc-windows-msvc, - exe: '.exe', - llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/15.x/llvm-windows-amd64.tar.xz' - }, - { - build: linux-musl, - target: x86_64-unknown-linux-musl, - os: ubuntu-22.04, - exe: '', - container: 'alpine:latest' - } - ] - container: ${{ matrix.metadata.container }} - env: - SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob - SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }} + { + build: linux-x64, + os: ubuntu-22.04, + target: x86_64-unknown-linux-gnu, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz", + }, + { + build: linux-arm64, + os: ubuntu-22.04-arm, + target: aarch64-unknown-linux-gnu, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-aarch64.tar.xz", + }, + { + build: macos-x64, + os: macos-15-intel, + target: x86_64-apple-darwin, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-amd64.tar.xz", + }, + { + build: macos-arm, + os: depot-macos-14, + target: aarch64-apple-darwin, + exe: "", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-aarch64.tar.xz", + }, + { + build: windows-x64, + os: windows-2022, + target: x86_64-pc-windows-msvc, + exe: ".exe", + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-windows-amd64.tar.xz" + }, + { + build: linux-musl, + target: x86_64-unknown-linux-musl, + os: ubuntu-22.04, + exe: "", + container: "alpine:edge", + }, + ] + container: + image: ${{ matrix.metadata.container }} + volumes: + - /usr/local:/host/usr/local steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 + - name: Show disk capacity + if: startsWith(matrix.metadata.build, 'linux') + run: df -h + # Saves ~21 GiB + - name: Clean up disk space (container) + run: | + rm -rf /__t/* + rm -rf /host/usr/local/.ghcup + rm -rf /host/usr/local/lib/android + if: startsWith(matrix.metadata.build, 'linux') && matrix.metadata.container != '' + # Saves ~16 GiB + - name: Clean up disk space (native) + run: | + sudo rm -rf /__t/* + sudo rm -rf /usr/local/.ghcup + sudo rm -rf /usr/local/lib/android + if: startsWith(matrix.metadata.build, 'linux') && matrix.metadata.container == '' + - name: Show disk capacity + if: startsWith(matrix.metadata.build, 'linux') + run: df -h - name: Set up libstdc++ on Linux if: matrix.metadata.build == 'linux-x64' run: | @@ -636,37 +877,65 @@ jobs: sudo apt-get install --reinstall g++ - name: Set up base deps on musl if: matrix.metadata.build == 'linux-musl' - run: ./scripts/alpine-linux-install-deps.sh + run: | + ./scripts/alpine-linux-install-deps.sh + - name: Install MSVC dev-cmd (Windows) + uses: ilammy/msvc-dev-cmd@v1 + if: ${{ matrix.metadata.build == 'windows-x64' }} + - name: Delete unwanted link to stop it from interfering (Windows) + shell: bash + run: rm /usr/bin/link.exe + if: ${{ matrix.metadata.build == 'windows-x64' }} + - name: Set up dependencies for Mac OS run: | brew install automake # using gnu-tar is a workaround for https://github.com/actions/cache/issues/403 - brew install gnu-tar + brew install gnu-tar zstd echo PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH" >> $GITHUB_ENV - if: matrix.metadata.os == 'macos-12' + if: matrix.metadata.os == 'macos-15-intel' + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} target: ${{ matrix.metadata.target }} - name: Install Nextest uses: taiki-e/install-action@nextest - - name: Install LLVM (macOS Apple Silicon) - if: matrix.metadata.os == 'macos-12' && !matrix.metadata.llvm_url + - name: Install LLVM (macOS Intel) + if: matrix.metadata.os == 'macos-15-intel' && !matrix.metadata.llvm_url run: | brew install llvm + echo "/opt/homebrew/opt/llvm/bin" >> GITHUB_PATH + + - name: Install wasixcc + if: matrix.metadata.build != 'windows-x64' + uses: wasix-org/wasixcc@main + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + sysroot-tag: v2025-12-22.1 + - name: Install LLVM - if: matrix.metadata.llvm_url shell: bash + if: matrix.metadata.llvm_url run: | - curl --proto '=https' --tlsv1.2 -sSf ${{ matrix.metadata.llvm_url }} -L -o llvm.tar.xz + curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf ${{ matrix.metadata.llvm_url }} -L -o llvm.tar.xz LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }} mkdir ${LLVM_DIR} tar xf llvm.tar.xz --strip-components=1 -C ${LLVM_DIR} echo "${LLVM_DIR}/bin" >> $GITHUB_PATH - echo "LLVM_SYS_120_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV + echo "${LLVM_DIR}/usr/bin" >> $GITHUB_PATH + echo "LLVM_SYS_211_PREFIX=${LLVM_DIR}" >> $GITHUB_ENV + echo "ENABLE_LLVM=1" >> $GITHUB_ENV env: LLVM_DIR: .llvm + - name: Add `brew` libs to `RUSTFLAGS` + if: matrix.metadata.os == 'macos-14' || matrix.metadata.os == 'depot-macos-14' + shell: bash + run: | + echo "RUSTFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV + echo "RUSTDOCFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV - name: Setup Rust target shell: bash run: | @@ -677,12 +946,13 @@ jobs: EOF if: matrix.metadata.target - name: Cache + # TODO: v3 is unable to Restore the cache for some reason uses: whywaita/actions-cache-s3@v2 with: path: | ~/.cargo/* ./target/* - key: r22-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-test-stage-${{ matrix.stage.make }}-${{ matrix.metadata.build }} + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-test-stage-${{ matrix.stage.make }}-${{ matrix.metadata.build }} aws-s3-bucket: wasmer-rust-artifacts-cache aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} @@ -691,16 +961,19 @@ jobs: aws-s3-bucket-endpoint: false aws-s3-force-path-style: true - name: ${{ matrix.stage.description }} + shell: bash run: make ${{ matrix.stage.make }} + # For MacOS x64 - run tests only on main or release branches + if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-') || matrix.metadata.os != 'macos-15-intel' env: TARGET: ${{ matrix.metadata.target }} TARGET_DIR: target/${{ matrix.metadata.target }}/release CARGO_TARGET: ${{ matrix.metadata.target }} test_integration_cli: - name: CLI integration tests on ${{ matrix.build }} + name: CLI tests - ${{ matrix.build }} runs-on: ${{ matrix.os }} - needs: [build, build_linux_aarch64, build_linux_riscv64] + needs: [build, build_linux_riscv64] strategy: fail-fast: false matrix: @@ -708,57 +981,60 @@ jobs: - build: linux-x64 os: ubuntu-22.04 target: x86_64-unknown-linux-gnu - llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz' - - build: macos-x64 - os: macos-12 - target: x86_64-apple-darwin - llvm_url: 'https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang+llvm-15.0.7-x86_64-apple-darwin21.0.tar.xz' + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz" + exe: "" # we only build the integration-test CLI, we don't run tests - build: macos-arm - os: macos-12 + os: depot-macos-14 target: aarch64-apple-darwin, + exe: "" - build: linux-musl target: x86_64-unknown-linux-musl os: ubuntu-22.04 - container: alpine:latest + container: alpine:edge + exe: "" - build: windows-x64 - os: windows-2019 + os: windows-latest target: x86_64-pc-windows-msvc + llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-windows-amd64.tar.xz" + exe: ".exe" + container: ${{ matrix.container }} - env: - SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob - SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - uses: goto-bus-stop/setup-zig@v2 with: version: 0.10.0 - name: Set up base deps on musl if: matrix.build == 'linux-musl' - run: ./scripts/alpine-linux-install-deps.sh - - uses: actions/download-artifact@v3 + run: | + ./scripts/alpine-linux-install-deps.sh + - uses: actions/download-artifact@v4 id: download with: name: capi-${{ matrix.build }} - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: wasmer-cli-${{ matrix.build }} - - name: 'Echo download path' + - name: "Echo download path" run: echo ${{steps.download.outputs.download-path}} + - uses: ./.github/actions/load_toolchain + id: load_toolchain - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ env.MSRV }} - target: ${{ matrix.metadata.target }} + toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }} + target: ${{ matrix.target }} - name: Install Nextest uses: taiki-e/install-action@nextest - name: Cache + # TODO: v3 is unable to Restore the cache for some reason uses: whywaita/actions-cache-s3@v2 with: path: | ~/.cargo/* ./target/* - key: r22-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-test-integration-cli-${{ matrix.build }} + key: cache-v${{ env.S3_CACHE_VERSION }}-${{ github.repository }}-${{ runner.os }}-${{ hashFiles('Cargo.lock') }}-wasmer-make-test-integration-cli-${{ matrix.build }} aws-s3-bucket: wasmer-rust-artifacts-cache aws-access-key-id: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_TOKEN }} aws-secret-access-key: ${{ secrets.CLOUDFLARE_ARTIFACTS_CACHE_ACCESS_KEY }} @@ -771,30 +1047,26 @@ jobs: run: | mkdir -p package mkdir -p package/cache - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: capi-linux-aarch64 + name: capi-linux-arm64 path: package/cache/wasmercache1 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: capi-windows-gnu + name: capi-windows-x64 path: package/cache/wasmercache2 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: capi-macos-arm path: package/cache/wasmercache3 - - uses: actions/download-artifact@v3 - with: - name: capi-macos-x64 - path: package/cache/wasmercache4 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: capi-linux-x64 - path: package/cache/wasmercache5 - - uses: actions/download-artifact@v3 + path: package/cache/wasmercache4 + - uses: actions/download-artifact@v4 with: name: capi-linux-riscv64 - path: package/cache/wasmercache6 + path: package/cache/wasmercache5 - name: Copy .tar.gz files to proper location shell: bash run: | @@ -803,33 +1075,27 @@ jobs: ls package/cache/wasmercache3 ls package/cache/wasmercache4 ls package/cache/wasmercache5 - cp package/cache/wasmercache1/wasmer.tar.gz package/cache/wasmer-linux-aarch64.tar.gz + cp package/cache/wasmercache1/build-capi.tar.gz package/cache/wasmer-linux-arm64.tar.gz cp package/cache/wasmercache2/build-capi.tar.gz package/cache/wasmer-windows-gnu64.tar.gz cp package/cache/wasmercache3/build-capi.tar.gz package/cache/wasmer-darwin-arm64.tar.gz cp package/cache/wasmercache4/build-capi.tar.gz package/cache/wasmer-darwin-amd64.tar.gz - cp package/cache/wasmercache5/build-capi.tar.gz package/cache/wasmer-linux-amd64.tar.gz - cp package/cache/wasmercache6/wasmer.tar.gz package/cache/wasmer-linux-riscv64.tar.gz - - uses: actions/download-artifact@v3 + cp package/cache/wasmercache5/wasmer.tar.gz package/cache/wasmer-linux-riscv64.tar.gz + - uses: actions/download-artifact@v4 if: ${{ matrix.build == 'windows-x64' }} with: - name: capi-windows-gnu + name: capi-windows-x64 path: download_link - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 if: ${{ matrix.build == 'linux-musl' }} with: name: capi-linux-musl path: download_link - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 if: ${{ matrix.build == 'macos-arm' }} with: name: capi-macos-arm path: download_link - - uses: actions/download-artifact@v3 - if: ${{ matrix.build == 'macos-x64' }} - with: - name: capi-macos-x64 - path: download_link - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 if: ${{ matrix.build == 'linux-x64' }} with: name: capi-linux-x64 @@ -846,75 +1112,60 @@ jobs: shell: bash run: | make untar-wasmer - - name: Test integration CLI - if: false # matrix.build != 'macos-arm' - shell: bash - run: | - export WASMER_PATH=`pwd`/target/${{ matrix.target }}/release/wasmer${{ matrix.exe }} - export WASMER_DIR=`pwd`/package && make test-integration-cli-ci - env: - TARGET: ${{ matrix.target }} - TARGET_DIR: target/${{ matrix.target }}/release - CARGO_TARGET: ${{ matrix.target }} - WAPM_DEV_TOKEN: ${{ secrets.WAPM_DEV_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # there is another set of integration tests in 'wasmer-integration-tests' repo. Run those + # Removed in favour of freestanding integration tests + # + # - name: Test integration CLI + # if: false # matrix.build != 'macos-arm' + # shell: bash + # run: | + # export WASMER_PATH=`pwd`/target/${{ matrix.target }}/release/wasmer${{ matrix.exe }} + # export WASMER_DIR=`pwd`/package && make test-integration-cli-ci + # env: + # TARGET: ${{ matrix.target }} + # TARGET_DIR: target/${{ matrix.target }}/release + # CARGO_TARGET: ${{ matrix.target }} + # WAPM_DEV_TOKEN: ${{ secrets.WAPM_DEV_TOKEN }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + + # ---- + # Note (xdoardo on 2024/10/07): + # --- + # As of now the WAMR, WASMI (and V8) backends are not that mature enough. We will re-enable these tests + # when they've been used and matured. + # ---- + # + # - name: Test CLI integration (WAMR) + # shell: bash + # run: | + # export WASMER_PATH=`pwd`/target/${{ matrix.target }}/release/wasmer${{ matrix.exe }} + # export WASMER_DIR=`pwd`/package && make test-integration-cli-wamr-ci + # env: + # TARGET: ${{ matrix.target }} + # TARGET_DIR: target/${{ matrix.target }}/release + # CARGO_TARGET: ${{ matrix.target }} + # WAPM_DEV_TOKEN: ${{ secrets.WAPM_DEV_TOKEN }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # - name: Test CLI integration (WASMI) + # shell: bash + # run: | + # export WASMER_PATH=`pwd`/target/${{ matrix.target }}/release/wasmer${{ matrix.exe }} + # export WASMER_DIR=`pwd`/package && make test-integration-cli-wasmi-ci + # env: + # TARGET: ${{ matrix.target }} + # TARGET_DIR: target/${{ matrix.target }}/release + # CARGO_TARGET: ${{ matrix.target }} + # WAPM_DEV_TOKEN: ${{ secrets.WAPM_DEV_TOKEN }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + test-wasmer-integration-tests: + name: "Remote integ. tests" needs: [build] - runs-on: ubuntu-22.04 - steps: - - name: Checkout wasmer-integration-tests repository - uses: actions/checkout@v3 - with: - repository: wasmerio/wasmer-integration-tests - submodules: true - token: ${{ secrets.CLONE_WASMER_INTEGRATION_TESTS }} - - uses: actions/download-artifact@v3 - with: - name: wasmer-cli-linux-x64 - - name: Cargo Registry Cache - uses: actions/cache@v3 - with: - path: | - ~/.cargo/advisory-db - ~/.cargo/git - ~/.cargo/registry - key: cargo-registry-${{ hashFiles('**/Cargo.lock') }} - - name: Cargo target cache - uses: actions/cache@v3 - with: - path: | - target/ - key: cargo-release-${{ hashFiles('**/Cargo.lock') }} - - run: | - # install rust toolchain - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - . "$HOME/.cargo/env" - - # add wasmer cli to PATH - tar -xzf build-wasmer.tar.gz - - docker build -t tmp . - docker run -v $PWD:/app -w /app tmp bash -c " \ - cp ./bin/wasmer /root/.wasmer/bin/wasmer &&\ - export MYSQL_HOST='${{ vars.INTEGRATION_TEST_MYSQL_HOST }}' &&\ - export MYSQL_DBNAME='${{ vars.INTEGRATION_TEST_MYSQL_DBNAME }}' &&\ - export MYSQL_USERNAME='${{ secrets.INTEGRATION_TEST_MYSQL_USERNAME }}' &&\ - export MYSQL_PASSWORD='${{ secrets.INTEGRATION_TEST_MYSQL_PASSWORD }}' &&\ - export MYSQL_PORT='${{ vars.INTEGRATION_TEST_MYSQL_PORT }}' &&\ - export MYSQL_CERT='${{ secrets.INTEGRATION_TEST_MYSQL_CERT }}' &&\ - export PG_HOST='${{ vars.INTEGRATION_TEST_PG_HOST }}' &&\ - export PG_DBNAME='${{ vars.INTEGRATION_TEST_PG_DBNAME }}' &&\ - export PG_USERNAME='${{ secrets.INTEGRATION_TEST_PG_USERNAME }}' &&\ - export PG_PASSWORD='${{ secrets.INTEGRATION_TEST_PG_PASSWORD }}' &&\ - export PG_PORT='${{ vars.INTEGRATION_TEST_PG_PORT }}' &&\ - wasmer config set registry.url https://registry.wasmer.io/graphql &&\ - wasmer login '${{ secrets.WAPM_PROD_TOKEN }}' &&\ - wasmer config set registry.url https://registry.wasmer.wtf/graphql &&\ - wasmer login '${{ secrets.WAPM_DEV_TOKEN }}' &&\ - cargo test --no-fail-fast" - - name: notify failure in slack - if: failure() - run: | - curl -X POST -H 'Content-type: application/json' --data '{"text":"Integration tests failed ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' ${{ secrets.INTEGRATION_TEST_SLACK_WEBHOOK }} + uses: wasmerio/wasmer-integration-tests/.github/workflows/integration-test-workflow.yaml@main + with: + fetch_artifact: "wasmer-cli-linux-x64" + registry: wasmer.io + secrets: + token: ${{ secrets.PROD_BACKEND_CIUSER_TOKEN }} diff --git a/.github/workflows/wasmer-config.yaml b/.github/workflows/wasmer-config.yaml index 9091574b1e..5e4856d2b9 100644 --- a/.github/workflows/wasmer-config.yaml +++ b/.github/workflows/wasmer-config.yaml @@ -20,7 +20,7 @@ jobs: name: Compile and Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Setup Rust @@ -41,11 +41,14 @@ jobs: name: Linting and Formatting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Setup Rust uses: dsherret/rust-toolchain-file@v1 + - name: Ensure rustfmt and clippy are installed + run: | + rustup component add rustfmt clippy - name: Check Formatting run: | cd lib/config && cargo fmt --verbose --check diff --git a/.github/workflows/wasmer-integration-tests.yaml b/.github/workflows/wasmer-integration-tests.yaml deleted file mode 100644 index 8a079aed71..0000000000 --- a/.github/workflows/wasmer-integration-tests.yaml +++ /dev/null @@ -1,51 +0,0 @@ -name: test-sys - -on: - push: - branches: - - sre-383-re-enable-ignored-integration-test-test_php_extensions - -jobs: - # there is another set of integration tests in 'wasmer-integration-tests' repo. Run those - test-wasmer-integration-tests: - runs-on: ubuntu-22.04 - steps: - - name: Checkout wasmer-integration-tests repository - uses: actions/checkout@v3 - with: - repository: wasmerio/wasmer-integration-tests - submodules: true - token: ${{ secrets.CLONE_WASMER_INTEGRATION_TESTS }} - - name: Cargo Registry Cache - uses: actions/cache@v3 - with: - path: | - ~/.cargo/advisory-db - ~/.cargo/git - ~/.cargo/registry - key: cargo-registry-${{ hashFiles('**/Cargo.lock') }} - - name: Cargo target cache - uses: actions/cache@v3 - with: - path: | - target/ - key: cargo-release-${{ hashFiles('**/Cargo.lock') }} - - run: | - docker build -t tmp . - docker run -v $PWD:/app -w /app tmp bash -c " \ - export MYSQL_HOST='${{ vars.INTEGRATION_TEST_MYSQL_HOST }}' &&\ - export MYSQL_DBNAME='${{ vars.INTEGRATION_TEST_MYSQL_DBNAME }}' &&\ - export MYSQL_USERNAME='${{ secrets.INTEGRATION_TEST_MYSQL_USERNAME }}' &&\ - export MYSQL_PASSWORD='${{ secrets.INTEGRATION_TEST_MYSQL_PASSWORD }}' &&\ - export MYSQL_PORT='${{ vars.INTEGRATION_TEST_MYSQL_PORT }}' &&\ - export MYSQL_CERT='${{ secrets.INTEGRATION_TEST_MYSQL_CERT }}' &&\ - export PG_HOST='${{ vars.INTEGRATION_TEST_PG_HOST }}' &&\ - export PG_DBNAME='${{ vars.INTEGRATION_TEST_PG_DBNAME }}' &&\ - export PG_USERNAME='${{ secrets.INTEGRATION_TEST_PG_USERNAME }}' &&\ - export PG_PASSWORD='${{ secrets.INTEGRATION_TEST_PG_PASSWORD }}' &&\ - export PG_PORT='${{ vars.INTEGRATION_TEST_PG_PORT }}' &&\ - wasmer config set registry.url https://registry.wasmer.io/graphql &&\ - wasmer login ${{ secrets.WAPM_PROD_TOKEN }} &&\ - wasmer config set registry.url https://registry.wasmer.wtf/graphql &&\ - wasmer login ${{ secrets.WAPM_DEV_TOKEN }} &&\ - cargo test --no-fail-fast" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 9e6499be8a..5d0338d0d2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ .DS_Store .idea .gdb_history -/.cargo/ **/.vscode/* !/.vscode/settings.json api-docs-repo/ @@ -29,3 +28,7 @@ lcov.info link/ link.tar.gz .vscode +# Ignore files used by the "direnv" tool. +.direnv +.envrc +/tests/tmp diff --git a/lib/wasix/src/state/pipe.rs b/.gitmodules similarity index 100% rename from lib/wasix/src/state/pipe.rs rename to .gitmodules diff --git a/CHANGELOG.md b/CHANGELOG.md index ae9d57a866..94e48f018d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,866 @@ [Keep a Changelog]: http://keepachangelog.com/en/1.0.0/ -Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/CHANGELOG.md). +## **Unreleased** + +## 7.0.0 - 28/01/2026 + +This release adds: +- New WASIX Context switching API (green threads). +- New (experimental) Async API (enable it using the `experimental-async` feature in wasmer) +- Full support for Dynamic Linking in WASIX. +- Wasmer compilation progress bar. +- Improved debugging experience via `--compiler-debug-dir`. +- Singlepass: RISC-V (64-bit) support. +- Singlepass: Multi-value support. +- Cranelift: Exception handling support. +- LLVM: Updated backend from LLVM 18 → LLVM 21. +- LLVM: New target support for RISC-V (32-bit). +- LLVM: Disabled optimizations for huge functions (e.g. Python compile time ~90s → ~10s). +- Many secondary platform fixes and improvements for `aarch64-linux`, `riscv64gc-linux`, and `loongarch64-linux`. +- Many bugfixes and improvements. + +## Added + + +## Changed + + - [#6125](https://github.com/wasmerio/wasmer/pull/6125) build(v8): disable in the official tarballs + +## Fixed + + - [#6127](https://github.com/wasmerio/wasmer/pull/6127) fix(virtual-fs): Fix read_dir missing mount prefix + - [#6130](https://github.com/wasmerio/wasmer/pull/6130) Fix copilot setup + + + +## 7.0.0-rc.2 - 27/01/2026 + +## Added + + - [#6066](https://github.com/wasmerio/wasmer/pull/6066) Add a better setup for copilot + +## Changed + + - [#6119](https://github.com/wasmerio/wasmer/pull/6119) feat(LLVM): use verbose asm output for debug output + - [#6120](https://github.com/wasmerio/wasmer/pull/6120) chore(fuzzing): tweak options and save file early + - [#6107](https://github.com/wasmerio/wasmer/pull/6107) Remove hardcoded MSRV in github actions + - [#6115](https://github.com/wasmerio/wasmer/pull/6115) chore(fuzzing): small refactor + - [#6096](https://github.com/wasmerio/wasmer/pull/6096) build: Switch back to plain rust-toolchain file + +## Fixed + + - [#6118](https://github.com/wasmerio/wasmer/pull/6118) fix(LLVM): fix ABI related to pointer type + - [#6123](https://github.com/wasmerio/wasmer/pull/6123) fix: do not use engine.new_module_with_progress for non-sys Engines + - [#6117](https://github.com/wasmerio/wasmer/pull/6117) fix(LLVM): record try_table in unreachable_depth + - [#6114](https://github.com/wasmerio/wasmer/pull/6114) fix(LLVM): fixed ABI issues noticed while fuzzing + - [#6109](https://github.com/wasmerio/wasmer/pull/6109) fix(cranelift): support ::Exn (fix php/php-32 compilation) + - [#6108](https://github.com/wasmerio/wasmer/pull/6108) fix(docs.rs): fix documentation build (RC version of `sha2` crate) + - [#6112](https://github.com/wasmerio/wasmer/pull/6112) fix(wasix): Restore proper webc v2 mount handling + + + +## 7.0.0-rc.1 - 23/01/2026 + +## Added + + - [#6051](https://github.com/wasmerio/wasmer/pull/6051) Add Rust tools to Nix development environment + - [#6054](https://github.com/wasmerio/wasmer/pull/6054) tests: add EH-related test + - [#5711](https://github.com/wasmerio/wasmer/pull/5711) SinglePass: add support for riscv64 target + - [#6020](https://github.com/wasmerio/wasmer/pull/6020) fix(loongarch64,riscv64gc,aarch64): add missing relocations and fix EH + - [#5984](https://github.com/wasmerio/wasmer/pull/5984) CI: add Cache step for more runs + - [#5967](https://github.com/wasmerio/wasmer/pull/5967) cli: add short options for the compilers + - [#5963](https://github.com/wasmerio/wasmer/pull/5963) CI: run WASIX tests on Cranelift and exception test added + - [#5965](https://github.com/wasmerio/wasmer/pull/5965) Add -q flag to WASMER_RUN in WASIX test suite + - [#5848](https://github.com/wasmerio/wasmer/pull/5848) feature(singlepass): add --debug-dir for assembly output + - [#5894](https://github.com/wasmerio/wasmer/pull/5894) Documentation to add second R integration WIP package + - [#5916](https://github.com/wasmerio/wasmer/pull/5916) CI: add posix-compatible TAR for alpine + - [#5910](https://github.com/wasmerio/wasmer/pull/5910) Add Wasmer LinkedIn link to README + - [#5869](https://github.com/wasmerio/wasmer/pull/5869) Singlepass: add multivalue support + +## Changed + + - [#6099](https://github.com/wasmerio/wasmer/pull/6099) chore(test-wasix): use --volume instead of --dir argument + - [#6069](https://github.com/wasmerio/wasmer/pull/6069) Support compressed package downloads + - [#6048](https://github.com/wasmerio/wasmer/pull/6048) deps: bump MSRV to 1.91 + - [#6093](https://github.com/wasmerio/wasmer/pull/6093) CI: skip tests on RISC-V and LoongArch64 + - [#6096](https://github.com/wasmerio/wasmer/pull/6096) build: Switch back to plain rust-toolchain file + - [#6042](https://github.com/wasmerio/wasmer/pull/6042) feat: include module hash in `--compiler-debug-dir` path + - [#6065](https://github.com/wasmerio/wasmer/pull/6065) CI(docs.rs): not use --no-deps as a workaround + - [#6090](https://github.com/wasmerio/wasmer/pull/6090) deps: bump Cranelift to 0.128.0 + - [#6082](https://github.com/wasmerio/wasmer/pull/6082) deps: bump zip crate + - [#6080](https://github.com/wasmerio/wasmer/pull/6080) chore: drop `xxhash` hashing algorithm + - [#6063](https://github.com/wasmerio/wasmer/pull/6063) feature(cli): Use a new R2 upload mechanism for publishing packages + - [#6035](https://github.com/wasmerio/wasmer/pull/6035) deps: bump criterion crate + - [#6033](https://github.com/wasmerio/wasmer/pull/6033) feat: replace `--mapdir` and `--map` with `--volume` argument + - [#6088](https://github.com/wasmerio/wasmer/pull/6088) chore: get rid of static mut variables + - [#6085](https://github.com/wasmerio/wasmer/pull/6085) chore: delete empty files + - [#6036](https://github.com/wasmerio/wasmer/pull/6036) chore: use hex crate instead of custom format + - [#6081](https://github.com/wasmerio/wasmer/pull/6081) deps: bump cranelift version + - [#6034](https://github.com/wasmerio/wasmer/pull/6034) deps: bump tungstenite-related crates + - [#6050](https://github.com/wasmerio/wasmer/pull/6050) tools: port make-release.py to format after Ruff + include RELEASE.md + - [#6029](https://github.com/wasmerio/wasmer/pull/6029) tests: list known failing tests + - [#6030](https://github.com/wasmerio/wasmer/pull/6030) CI: run some tests for all compilers + - [#6071](https://github.com/wasmerio/wasmer/pull/6071) chore: drop .cargo/config.toml + - [#5883](https://github.com/wasmerio/wasmer/pull/5883) Progress reporting for module loading and compilation + - [#6056](https://github.com/wasmerio/wasmer/pull/6056) CI: do not run test as part of binary build + - [#6068](https://github.com/wasmerio/wasmer/pull/6068) CI: restore cache + free some disk space + - [#6047](https://github.com/wasmerio/wasmer/pull/6047) chore: code clean-up + - [#6053](https://github.com/wasmerio/wasmer/pull/6053) chore(singlepass): drop `riscv` feature + - [#6049](https://github.com/wasmerio/wasmer/pull/6049) Release 7.0.0-alpha.2 + - [#6043](https://github.com/wasmerio/wasmer/pull/6043) feat: `--compiler-threads` supported by all compilers + - [#6044](https://github.com/wasmerio/wasmer/pull/6044) Release 7.0.0-alpha.1 + - [#6041](https://github.com/wasmerio/wasmer/pull/6041) CI: disable v8 for linux-arm64 target + - [#6018](https://github.com/wasmerio/wasmer/pull/6018) CI(aarch64-linux): include into testing matrix + - [#6027](https://github.com/wasmerio/wasmer/pull/6027) deps: bump used crates + - [#6023](https://github.com/wasmerio/wasmer/pull/6023) chore: always use Rayon thread pool (even for one thread) + - [#6025](https://github.com/wasmerio/wasmer/pull/6025) deps(inkwell): bump to 0.8.0 + - [#5475](https://github.com/wasmerio/wasmer/pull/5475) Disallow mounting folders on the guest's root for WASIX modules + - [#6021](https://github.com/wasmerio/wasmer/pull/6021) deps: allow bincode in cargo-deny (RUSTSEC-2025-0141) + - [#6016](https://github.com/wasmerio/wasmer/pull/6016) Remove ucontext_t definition for FreeBSD for aarch64 + - [#5994](https://github.com/wasmerio/wasmer/pull/5994) deps: bump wasm-smith and enable fuzzers + - [#5997](https://github.com/wasmerio/wasmer/pull/5997) feat(LLVM): use no-opt for extremely large functions + - [#5980](https://github.com/wasmerio/wasmer/pull/5980) setjmp/longjmp based vforking + - [#6001](https://github.com/wasmerio/wasmer/pull/6001) deps: bump cranelift to 0.127.0 + - [#5996](https://github.com/wasmerio/wasmer/pull/5996) deps: bump crates + - [#5987](https://github.com/wasmerio/wasmer/pull/5987) chore: cleanup + - [#5989](https://github.com/wasmerio/wasmer/pull/5989) deps: bump `wasmparser` crate and port to it + - [#5986](https://github.com/wasmerio/wasmer/pull/5986) CI: include Bearer + retry for getting LLVM tarball release + - [#5985](https://github.com/wasmerio/wasmer/pull/5985) chore: don't call Features::detect_from_wasm if enable all option is on + - [#5983](https://github.com/wasmerio/wasmer/pull/5983) chore: simplify rounding up (align up) logic - use std library + - [#5973](https://github.com/wasmerio/wasmer/pull/5973) chore: drop dead code available with `--compiler-debug-dir` + - [#5978](https://github.com/wasmerio/wasmer/pull/5978) Make all WASIX interop enums non_exhaustive to prevent UB in case of … + - [#5979](https://github.com/wasmerio/wasmer/pull/5979) Prevent failure due to rate limits when installing `wasixcc` + - [#5975](https://github.com/wasmerio/wasmer/pull/5975) chore: drop non top-level Cargo.lock files + - [#5881](https://github.com/wasmerio/wasmer/pull/5881) Implement WASIX context switching API + - [#5972](https://github.com/wasmerio/wasmer/pull/5972) feat: drop mounting of a journal feature (fuse feature) + - [#5720](https://github.com/wasmerio/wasmer/pull/5720) Give variables in find_eh_action more descriptive names + - [#5968](https://github.com/wasmerio/wasmer/pull/5968) chore: resolve build warnings with all features enabled + - [#5969](https://github.com/wasmerio/wasmer/pull/5969) deps: bump wasm-coredump-builder crate + - [#5970](https://github.com/wasmerio/wasmer/pull/5970) deps: bump bincode to 2.0 + - [#5964](https://github.com/wasmerio/wasmer/pull/5964) chore: use EH-related `Gimli` crate constants + - [#5966](https://github.com/wasmerio/wasmer/pull/5966) deps: bump wasmi crate + - [#5962](https://github.com/wasmerio/wasmer/pull/5962) Support EH for Cranelift compiler + - [#5957](https://github.com/wasmerio/wasmer/pull/5957) feature: disable crate-exe and create-obj subcommands + - [#5913](https://github.com/wasmerio/wasmer/pull/5913) CI: drop unused sccache and handle GH workflow issues + - [#5944](https://github.com/wasmerio/wasmer/pull/5944) deps: sort crate depedencies alphabetically + - [#5959](https://github.com/wasmerio/wasmer/pull/5959) Pin wasix libc version in CI + - [#5938](https://github.com/wasmerio/wasmer/pull/5938) CI: shorten job names for UI purpose + - [#5956](https://github.com/wasmerio/wasmer/pull/5956) chore: simplify logic in UnwindRegistry + - [#5950](https://github.com/wasmerio/wasmer/pull/5950) Bump MSRV to 1.90 + - [#5953](https://github.com/wasmerio/wasmer/pull/5953) Prevent crashes during exit due to deregistering frames on exit (v3) + - [#5926](https://github.com/wasmerio/wasmer/pull/5926) CI: run macos-15-intel only on main (not in PRs) + - [#5762](https://github.com/wasmerio/wasmer/pull/5762) Port to powerpc64 Linux + - [#5920](https://github.com/wasmerio/wasmer/pull/5920) Async execution API + concurrent execution support, take 2 + - [#5925](https://github.com/wasmerio/wasmer/pull/5925) deps: bump crates (part 1) + - [#5917](https://github.com/wasmerio/wasmer/pull/5917) chore(singlepass): simplify arch_supports_x + - [#5940](https://github.com/wasmerio/wasmer/pull/5940) CI: disable multi-value (host fn) tests as it's borked on Windows for LLVM compiler + - [#5935](https://github.com/wasmerio/wasmer/pull/5935) CI: move Alpine to edge and use LLVM 21 + - [#5936](https://github.com/wasmerio/wasmer/pull/5936) CI(LLVM): port mvr_test and enable them for LLVM compiler + - [#5937](https://github.com/wasmerio/wasmer/pull/5937) CI(LLVM): enable tests on Windows + - [#5892](https://github.com/wasmerio/wasmer/pull/5892) feat: Use macos (arm) 14 via depot runners + - [#5865](https://github.com/wasmerio/wasmer/pull/5865) build: move dependency declarations to top-level Cargo.toml + - [#5921](https://github.com/wasmerio/wasmer/pull/5921) CI: move back to working actions-cache-s3@v2 + - [#5911](https://github.com/wasmerio/wasmer/pull/5911) build: use nightly for docs and port to it + - [#5919](https://github.com/wasmerio/wasmer/pull/5919) chore(singlepass): expect only register args in get_simple_param_location + - [#5914](https://github.com/wasmerio/wasmer/pull/5914) CI: leave MacOS 13 for x86_64 target. + - [#5909](https://github.com/wasmerio/wasmer/pull/5909) build(LLVM): drop unused code + - [#5900](https://github.com/wasmerio/wasmer/pull/5900) deps: bump Cranelift to 0.126.0 + - [#5901](https://github.com/wasmerio/wasmer/pull/5901) Singlepass refactoring + - [#5897](https://github.com/wasmerio/wasmer/pull/5897) ci: bump actions-cache-s3 + - [#5899](https://github.com/wasmerio/wasmer/pull/5899) CI: migrate workflows to checkout v6 + - [#5896](https://github.com/wasmerio/wasmer/pull/5896) chore(cranelift): unify rayon and non-rayon code with closure + - [#5889](https://github.com/wasmerio/wasmer/pull/5889) build: switch to LLVM 21 + - [#5885](https://github.com/wasmerio/wasmer/pull/5885) build: bump Inkwell crate + - [#5880](https://github.com/wasmerio/wasmer/pull/5880) deps: bump Cranelift to 0.125.4 + - [#5874](https://github.com/wasmerio/wasmer/pull/5874) chore: bump MSRV to 1.89 and update the docs accordingly + - [#5871](https://github.com/wasmerio/wasmer/pull/5871) ci(windows): align unsafe functions for Windows target + - [#5861](https://github.com/wasmerio/wasmer/pull/5861) feature: rework `--debug-dir` option + - [#5862](https://github.com/wasmerio/wasmer/pull/5862) drop cli-compiler crate + - [#5867](https://github.com/wasmerio/wasmer/pull/5867) chore: use git_version crate for hash embedding in CLI + - [#5863](https://github.com/wasmerio/wasmer/pull/5863) CI: run test-stage-1-test-all in parallel + - [#5856](https://github.com/wasmerio/wasmer/pull/5856) feat(cli): Extend '--version --verbose' with CPU info + - [#5850](https://github.com/wasmerio/wasmer/pull/5850) chore(LLVM): use write_all + - [#5851](https://github.com/wasmerio/wasmer/pull/5851) chore(singlepass): unify acquire/release-location related functions + - [#5852](https://github.com/wasmerio/wasmer/pull/5852) Linker: stop giving main modules a memory_base of zero + stop assumin… + - [#5825](https://github.com/wasmerio/wasmer/pull/5825) CLI: Code cleanup and small progressbar improvements + - [#5846](https://github.com/wasmerio/wasmer/pull/5846) refactor(singlepass): track FP canonicalization directly in value stack + - [#5842](https://github.com/wasmerio/wasmer/pull/5842) refactor(singlepass): drop MachineState + - [#5841](https://github.com/wasmerio/wasmer/pull/5841) refactor(singlepass): come up with `ControlState` struct + - [#5835](https://github.com/wasmerio/wasmer/pull/5835) refactor(singlepass): `acquire_locations` always takes just a single arg + - [#5834](https://github.com/wasmerio/wasmer/pull/5834) feature(ci): improve error message if no backend enabled + - [#5820](https://github.com/wasmerio/wasmer/pull/5820) ci: enable 2 issues tests to be run on all targets + - [#5814](https://github.com/wasmerio/wasmer/pull/5814) feat(virtual-fs): Export ops::walk + - [#5824](https://github.com/wasmerio/wasmer/pull/5824) refactor(singlepass): factor out registers used for calling a fn + - [#5812](https://github.com/wasmerio/wasmer/pull/5812) binfmt should use quiet mode + improvements to compilation progress reporting + - [#5755](https://github.com/wasmerio/wasmer/pull/5755) Rework EH some more to allow native access to exceptions + - [#5821](https://github.com/wasmerio/wasmer/pull/5821) Singlepass unreachable via fn call + - [#5822](https://github.com/wasmerio/wasmer/pull/5822) Singlepass refactor dead code + - [#5809](https://github.com/wasmerio/wasmer/pull/5809) ci: run test-stage-0-wast in parallel + - [#5817](https://github.com/wasmerio/wasmer/pull/5817) ci(cranelift): disable a crashing Cranelift test for riscv64gc target + - [#5818](https://github.com/wasmerio/wasmer/pull/5818) refactor: remove unused parts of FunctionStateMap + - [#5804](https://github.com/wasmerio/wasmer/pull/5804) refactor(singlepass): swap jmp_on_condition arguments + - [#5797](https://github.com/wasmerio/wasmer/pull/5797) Improve binfmt misc support + - [#5788](https://github.com/wasmerio/wasmer/pull/5788) Upgrade Cranelift to 0.124.2 + - [#5794](https://github.com/wasmerio/wasmer/pull/5794) Upgrade to Rust 1.87 and 2024 Edition + - [#5792](https://github.com/wasmerio/wasmer/pull/5792) Make commands work when called from /usr/bin + - [#5749](https://github.com/wasmerio/wasmer/pull/5749) Singlepass: to_dwarf - use directly `gimli::Register` type + - [#5750](https://github.com/wasmerio/wasmer/pull/5750) Singlepass: refactor condition jumps to single fn (`jmp_on_condition`) + +## Fixed + + - [#6102](https://github.com/wasmerio/wasmer/pull/6102) fix(macos-x64): restore unwind info + - [#6098](https://github.com/wasmerio/wasmer/pull/6098) fix(fuzz): fix also `deterministic` and `metering` targets + - [#6101](https://github.com/wasmerio/wasmer/pull/6101) fix: exception reference is i32 type + - [#6097](https://github.com/wasmerio/wasmer/pull/6097) fix(Windows): resolve `probestack` relocation target + - [#6094](https://github.com/wasmerio/wasmer/pull/6094) fix(fuzz): stabilization fixes + refactoring + - [#6074](https://github.com/wasmerio/wasmer/pull/6074) fix(wasix): handle empty subscription list in poll_oneoff + - [#6072](https://github.com/wasmerio/wasmer/pull/6072) fix(LLVM,riscv64): fix calling conventions for `i32` type + - [#6091](https://github.com/wasmerio/wasmer/pull/6091) fix: compact unwind info - use rangemap + - [#6087](https://github.com/wasmerio/wasmer/pull/6087) fix(LLVM,macOS): fix compact unwinding bookkeeping + - [#6086](https://github.com/wasmerio/wasmer/pull/6086) fix(cli): package download: do not rely on `Content-Length` header + - [#6007](https://github.com/wasmerio/wasmer/pull/6007) Enable riscv32 target in LLVM compiler & relocations fixes + - [#6079](https://github.com/wasmerio/wasmer/pull/6079) fix(LLVM): RISC-V rounding operations need an extra check + - [#6077](https://github.com/wasmerio/wasmer/pull/6077) fix(LLVM): fix extmul_high/extmul_low operations + - [#6046](https://github.com/wasmerio/wasmer/pull/6046) chore: fix publish issue + - [#6045](https://github.com/wasmerio/wasmer/pull/6045) fix(make-release): use full pull + - [#6040](https://github.com/wasmerio/wasmer/pull/6040) fix: downgrade zip crate and run generate-lockfile + - [#6008](https://github.com/wasmerio/wasmer/pull/6008) Fix/linker crash tls symbol without tls base + - [#6022](https://github.com/wasmerio/wasmer/pull/6022) fix: include endpoint URL in response cache location + - [#6026](https://github.com/wasmerio/wasmer/pull/6026) fix(_Unwind_RaiseException): ignore return value as it's unreliable + - [#5990](https://github.com/wasmerio/wasmer/pull/5990) fix: provide unique function names + - [#6019](https://github.com/wasmerio/wasmer/pull/6019) Fix typo in CompileError doc comment + - [#6014](https://github.com/wasmerio/wasmer/pull/6014) CI(cranelift): fix macos x64 + - [#6015](https://github.com/wasmerio/wasmer/pull/6015) Fix trap handler for FreeBSD for aarch64 + - [#6010](https://github.com/wasmerio/wasmer/pull/6010) fix(cranelift): EH: ensure CatchAll is always present at the end of an action linked list + - [#6012](https://github.com/wasmerio/wasmer/pull/6012) Fix relative_path_to_absolute + - [#5999](https://github.com/wasmerio/wasmer/pull/5999) fix(build): Update webkit in flake.nix + - [#6009](https://github.com/wasmerio/wasmer/pull/6009) fix(wasix): Fix wasip1 preopen handling for Go compatibility + - [#6013](https://github.com/wasmerio/wasmer/pull/6013) deps(rkyv): fix RUSTSEC-2026-0001 + - [#5992](https://github.com/wasmerio/wasmer/pull/5992) fix: properly report size after memory.reset + - [#5995](https://github.com/wasmerio/wasmer/pull/5995) CI: fix and rename jobs on main + - [#5767](https://github.com/wasmerio/wasmer/pull/5767) fix(build): Meaningful compilation errors when no backend feature enabled + - [#5982](https://github.com/wasmerio/wasmer/pull/5982) fix: do not call `detect_features_from_wasm` with WAT content + - [#5981](https://github.com/wasmerio/wasmer/pull/5981) Fixed proc spawn2 when duplicating stdio fds + - [#5971](https://github.com/wasmerio/wasmer/pull/5971) CI: re-enable test due to fixed rustc +nightly + - [#5974](https://github.com/wasmerio/wasmer/pull/5974) fix: do not create folders for cache/queries entries + - [#5826](https://github.com/wasmerio/wasmer/pull/5826) chore(build): fix compilation warnings + - [#5960](https://github.com/wasmerio/wasmer/pull/5960) CI: fix failing CI jobs (failing FYI test, out of disk space with Cache) + - [#5945](https://github.com/wasmerio/wasmer/pull/5945) fix: Set LLVM target machine's ABI in a portable way + - [#5924](https://github.com/wasmerio/wasmer/pull/5924) fix(backend-api): Update GraphQL schema + - [#5799](https://github.com/wasmerio/wasmer/pull/5799) fix(wasix): Prevent recursive merge fallback when mounting packages + - [#5796](https://github.com/wasmerio/wasmer/pull/5796) fix(llvm): use llvm.minimum/maximum intrinsics and refactor NaN canonicalization + - [#5918](https://github.com/wasmerio/wasmer/pull/5918) fix(singlepass): properly align stack slots in deallocation + - [#5882](https://github.com/wasmerio/wasmer/pull/5882) fix(LLVM): fix compiler error on aarch64 target + - [#5902](https://github.com/wasmerio/wasmer/pull/5902) fix(cicd): Swap to new organizational ciuser token + - [#5888](https://github.com/wasmerio/wasmer/pull/5888) fix(cranelift): fix get_function_name reference lookup + - [#5890](https://github.com/wasmerio/wasmer/pull/5890) Fix clippy error and remove commented code + - [#5887](https://github.com/wasmerio/wasmer/pull/5887) CI(compiler): fix cargo deny issues connected to licenses + - [#5884](https://github.com/wasmerio/wasmer/pull/5884) fix(singlepass): fix wrong code connected to multivalue + - [#5878](https://github.com/wasmerio/wasmer/pull/5878) fix(compiler): limit the path component for debug files (to 255) + - [#5876](https://github.com/wasmerio/wasmer/pull/5876) fix(CI): do not mess up user's profile in default location + - [#5875](https://github.com/wasmerio/wasmer/pull/5875) fix(compiler): rename option to prevent option clash + - [#5873](https://github.com/wasmerio/wasmer/pull/5873) Fix compilation of virutal-net with the tokio feature enabled + - [#5866](https://github.com/wasmerio/wasmer/pull/5866) fix(cranelift): always use inline stack probes + - [#5854](https://github.com/wasmerio/wasmer/pull/5854) fix(CI): allow parallel run of all WASI tests + - [#5853](https://github.com/wasmerio/wasmer/pull/5853) fix(clippy): run cargo clippy for examples + - [#5844](https://github.com/wasmerio/wasmer/pull/5844) Linker: fix initialization order of main module + - [#5838](https://github.com/wasmerio/wasmer/pull/5838) Fix a number of WASIX stalls + - [#5843](https://github.com/wasmerio/wasmer/pull/5843) Bump MSRV to 1.88 (apply clippy fixes) + - [#5839](https://github.com/wasmerio/wasmer/pull/5839) App Templates fixes and improvements + - [#5840](https://github.com/wasmerio/wasmer/pull/5840) chore(clippy): fix remaining issues + - [#5827](https://github.com/wasmerio/wasmer/pull/5827) Clippy fixes + - [#5832](https://github.com/wasmerio/wasmer/pull/5832) fix(ci): disable empty workflow file + - [#5829](https://github.com/wasmerio/wasmer/pull/5829) fix(cli): show LLVM related options only if llvm compiler is enabled + - [#5808](https://github.com/wasmerio/wasmer/pull/5808) fix(llvm): fix compilation error with: CARGO_TARGET=riscv64gc-unknown… + - [#5815](https://github.com/wasmerio/wasmer/pull/5815) fix(tests): respect cargo --target argument correctly + - [#5802](https://github.com/wasmerio/wasmer/pull/5802) fix(singlepass): support 1K function call arguments + - [#5803](https://github.com/wasmerio/wasmer/pull/5803) fix(singlepass): Small Arm64 clean-up + - [#5806](https://github.com/wasmerio/wasmer/pull/5806) chore: fix some minor issues in the comments + - [#5793](https://github.com/wasmerio/wasmer/pull/5793) Fix wasm32 target compile warnings + + + +## 6.1.0 - 08/10/2025 + +This release adds: + +* The dynamic linker which, paired with [wasixcc](https://github.com/wasix-org/wasixcc), + can load DL modules at runtime +* New WASIX syscalls for reflection, dynamic function invocation and closure creation; + this makes WASIX compatible with libffi +* Better support for the Exception Handling proposal in the LLVM backend +* The `--build-remote` flag for `wasmer deploy`, which lets you build packages in the + cloud rather than locally +* And many more stability fixes and improvements. + +## Added + + - [#5763](https://github.com/wasmerio/wasmer/pull/5763) chore(lib/vm): update `corosensei` to `0.3.0` to support AddressSanitizer + - [#5783](https://github.com/wasmerio/wasmer/pull/5783) chore(cli): package unpack command: add shortform -u + - [#5773](https://github.com/wasmerio/wasmer/pull/5773) feat(cli): Add loading spinner when compiling modules in TTY + - [#5775](https://github.com/wasmerio/wasmer/pull/5775) Add `/dev/shm` to the root filesystem + +## Changed + + - [#5784](https://github.com/wasmerio/wasmer/pull/5784) Use wasmerignore for bundling and gitignore for remote builds + - [#5774](https://github.com/wasmerio/wasmer/pull/5774) SDK cleanup + - [#5770](https://github.com/wasmerio/wasmer/pull/5770) Make table methods don’t fail in the browser + - [#5776](https://github.com/wasmerio/wasmer/pull/5776) chore(cli): Provide fallback login instructions in login command + - [#5769](https://github.com/wasmerio/wasmer/pull/5769) Promote async-trait to a workspace dependency + - [#5743](https://github.com/wasmerio/wasmer/pull/5743) CLI: wasmer deploy --build-remote + - [#5526](https://github.com/wasmerio/wasmer/pull/5526) feat(wasix): Improve module loading performance and API correctness + +## Fixed + + - [#5789](https://github.com/wasmerio/wasmer/pull/5789) fix(cli): Improve behaviour for deployments without wasmer.toml + - [#5761](https://github.com/wasmerio/wasmer/pull/5761) Fix deadlocks in Selector + - [#5780](https://github.com/wasmerio/wasmer/pull/5780) Fix/eh nested catch ref + - [#5779](https://github.com/wasmerio/wasmer/pull/5779) Linker: fix dlsym'ing functions from the main modules when there are … + - [#5757](https://github.com/wasmerio/wasmer/pull/5757) Fix order of arguments when spawning processes from WASI + - [#5756](https://github.com/wasmerio/wasmer/pull/5756) Fix stalling issue when using shared libraries + - [#5745](https://github.com/wasmerio/wasmer/pull/5745) fix(wasix): Linker must re-use the same Engine + - [#5752](https://github.com/wasmerio/wasmer/pull/5752) LLVM: Fix compilation breaking for modules with function names that have sp… + +## 6.1.0-rc.5 - 16/09/2025 +This release includes better support for the Exception Handling proposal in LLVM, +as well as fixes to the linker and other stability fixes. + +## Added + +## Changed + + - [#5724](https://github.com/wasmerio/wasmer/pull/5724) Singlepass: simplify dynamic regs usage + - [#5715](https://github.com/wasmerio/wasmer/pull/5715) feat(cli): App-specific SSH sessions + - [#5707](https://github.com/wasmerio/wasmer/pull/5707) compiler: Ensure unique function symbols by appending function index + - [#5703](https://github.com/wasmerio/wasmer/pull/5703) Simplify unwind + - [#5741](https://github.com/wasmerio/wasmer/pull/5741) Replace serde_yml with serde_yaml + +## Fixed + + - [#5726](https://github.com/wasmerio/wasmer/pull/5726) Multiple fixes to EH codegen + - [#5736](https://github.com/wasmerio/wasmer/pull/5736) LLVM codegen: truncate stack to correct size when leaving a WASM block + - [#5701](https://github.com/wasmerio/wasmer/pull/5701) fix(config): Add missing skip_serializing_if for ssh capability + - [#5716](https://github.com/wasmerio/wasmer/pull/5716) Fix impossible relocation error in emit srem64, urem64 for singlepass compiler/Aarch64 + - [#5700](https://github.com/wasmerio/wasmer/pull/5700) fix(DynamicFunction): allocate space for trap on host stack + - [#5706](https://github.com/wasmerio/wasmer/pull/5706) Fix caching dlsym results in the linker + - [#5699](https://github.com/wasmerio/wasmer/pull/5699) Fix synchronizing load of multiple modules with internal table space and GOT.func entries + + + +## 6.1.0-rc.3 - 20/08/2025 +This release introduces a new reflection syscall for WASIX, RUNTIME_PATH support for +dynamically-loaded modules, as well as many fixes and improvements across the board. + +## Added + + - [#5695](https://github.com/wasmerio/wasmer/pull/5695) Implement RUNTIME_PATH support in the linker + - [#5653](https://github.com/wasmerio/wasmer/pull/5653) Implement a reflection API in WASIX + - [#5697](https://github.com/wasmerio/wasmer/pull/5697) Add WASIX DL tests + - [#5689](https://github.com/wasmerio/wasmer/pull/5689) feat(config): Add CapabilitySshServerV1 to app config + - [#5618](https://github.com/wasmerio/wasmer/pull/5618) Add ModuleCache::contains() + make compilation opts hashable + +## Changed + + - [#5634](https://github.com/wasmerio/wasmer/pull/5634) Improve thread error handling + - [#5679](https://github.com/wasmerio/wasmer/pull/5679) Call __wasm_apply_tls_relocs during first load of each module + - [#5693](https://github.com/wasmerio/wasmer/pull/5693) chore(ci): upgrade checkout to v5 + - [#5673](https://github.com/wasmerio/wasmer/pull/5673) Enable the "all" feature for socket2. + - [#5515](https://github.com/wasmerio/wasmer/pull/5515) docs: remove consecutive duplicate words + - [#5629](https://github.com/wasmerio/wasmer/pull/5629) Make bundling webcs fail if there are major errors + +## Fixed + + - [#5677](https://github.com/wasmerio/wasmer/pull/5677) Fix deadlock when loading shared libraries + - [#5670](https://github.com/wasmerio/wasmer/pull/5670) Fix segfault on unterminated eh_frame by validating the frame before passing it to `__register_function`. + - [#5690](https://github.com/wasmerio/wasmer/pull/5690) fix(lib/vm): vendor `compiler-builtins` to fix undefined symbol `__rust_probestack` + - [#5669](https://github.com/wasmerio/wasmer/pull/5669) Fix WASIX networking w.r.t. aiohttp + - [#5655](https://github.com/wasmerio/wasmer/pull/5655) Shamelessly fix multiple things in one PR + - [#5652](https://github.com/wasmerio/wasmer/pull/5652) fix(lib/api): make `Memory::new_from_existing(...)` compatible with wasmer 5.0 + - [#5646](https://github.com/wasmerio/wasmer/pull/5646) fix: fix wat gating + - [#5635](https://github.com/wasmerio/wasmer/pull/5635) fix(wasix): make wasmer/wat & wasmer/js-serializable-module optional features + + + +## 6.1.0-rc.2 - 16/07/2025 +This is the first release of the linker, adding support for dynamic linking in WASIX. +The linker, paired with [wasixcc](https://github.com/wasix-org/wasixcc), can load DL modules +at runtime. + +This release also includes other updates to WASIX, as well as stability and performance +improvements across the board. + +## Added + + - [#5598](https://github.com/wasmerio/wasmer/pull/5598) Add syscalls required to support libffi + - [#5581](https://github.com/wasmerio/wasmer/pull/5581) Dynamic linking with support for threads + - [#5578](https://github.com/wasmerio/wasmer/pull/5578) feat(cranelift): Add num_threads setting for Cranelift + - [#5500](https://github.com/wasmerio/wasmer/pull/5500) docs: added a new tag badge + - [#5561](https://github.com/wasmerio/wasmer/pull/5561) Add support for proper time in virtual-fs when targeting js + - [#5617](https://github.com/wasmerio/wasmer/pull/5617) Implement Memory::size function + - [#5600](https://github.com/wasmerio/wasmer/pull/5600) Implement MSG_PEEK and MSG_DONTWAIT functionality for send*/recv* syscalls + - [#5586](https://github.com/wasmerio/wasmer/pull/5586) V8 full exceptions support + +## Changed + + - [#5636](https://github.com/wasmerio/wasmer/pull/5636) Implement strict mode switch in call_dynamic + - [#5628](https://github.com/wasmerio/wasmer/pull/5628) Improve help messages for auth commands + - [#5621](https://github.com/wasmerio/wasmer/pull/5621) feat: support sys-minimal feature + - [#5615](https://github.com/wasmerio/wasmer/pull/5615) The cli binary should use correct target triple when compiling a wasm module + - [#5570](https://github.com/wasmerio/wasmer/pull/5570) Return 1 second past epoch even when an explicit zero timestamp exist… + - [#5607](https://github.com/wasmerio/wasmer/pull/5607) Make error messages for missing shared libraries more helpful + - [#5590](https://github.com/wasmerio/wasmer/pull/5590) chore(deps): Upgrade some dependencies + - [#5589](https://github.com/wasmerio/wasmer/pull/5589) Change intrinsics::transmute to mem::transmute + - [#5583](https://github.com/wasmerio/wasmer/pull/5583) feat(wasix): Extend BuiltinPackageLoader with cache scanning and purging + - [#5572](https://github.com/wasmerio/wasmer/pull/5572) Update C API examples link in README to current documentation + - [#5564](https://github.com/wasmerio/wasmer/pull/5564) build: Make `ureq` optional (build) dependency + - [#5566](https://github.com/wasmerio/wasmer/pull/5566) Always preserve preopened FDs when doing proc_spawn2 + warn when dup2… + +## Fixed + + - [#5620](https://github.com/wasmerio/wasmer/pull/5620) Fix missing dependency in `wasmer-package` for `wasm` targets + - [#5616](https://github.com/wasmerio/wasmer/pull/5616) Fix threads breaking when dlsym is called before thread spawn + - [#5569](https://github.com/wasmerio/wasmer/pull/5569) Fix a couple of webc FS issues + - [#5585](https://github.com/wasmerio/wasmer/pull/5585) fix(lib/vm): update `corosensei` to `0.2.2` to fix UB on Windows + - [#5568](https://github.com/wasmerio/wasmer/pull/5568) Fix the WASIX FS failing to union with a WEBC's volumes when running … + + + +## 6.0.1 - 09/05/2025 +This patch release fixes an error in cached memory operations in LLVM, adds CLI +commands to list databases tied to an app, and provides miscellaneous QoL +improvements to LLVM and updates. It also fixes the build of Wasmer for +linux-aarch64. + +## Added + + - [#5546](https://github.com/wasmerio/wasmer/pull/5546) feat(llvm): Add `asm_memory_buffer` to `LLVMCallbacks` + - [#5548](https://github.com/wasmerio/wasmer/pull/5548) feat(llvm): Add the `debug_str` intrinsic function + - [#5538](https://github.com/wasmerio/wasmer/pull/5538) feat(cli): Add "app database list" command + +## Changed + + - [#5553](https://github.com/wasmerio/wasmer/pull/5553) feat(singlepass): Update dynasm to 3.2.0 + +## Fixed + + - [#5556](https://github.com/wasmerio/wasmer/pull/5556) ci: fix build of Wasmer on linux-aarch64 + - [#5555](https://github.com/wasmerio/wasmer/pull/5555) Fix docs build + - [#5554](https://github.com/wasmerio/wasmer/pull/5554) fix(api): Misc fixes to compile with v8 when targeting aarch64-linux-android + - [#5549](https://github.com/wasmerio/wasmer/pull/5549) fix(llvm): Correctly cache pointers to intrinsic memory operations + + + +## 6.0.0 - 24/04/2025 + +This stable release adds support for the exception handling proposal on Linux +and Darwin platforms when using LLVM, adds a new LLVM-specific optimization +(`--enable-pass-params-opt`), allows for multiple heterogeneous backends to be +embedded in the same Wasmer build (`--llvm`, `--cranelift`, `--singlepass`, +`--v8`, `--wamr`, `--wasmi`), adds support for process spawning without +asyncify via full support for posix_spawn in wasix-libc with the new +proc_spawn2 syscall, a number of QoL improvements to CLI commands and WASIX and +much more. + +## Added + + - [#5524](https://github.com/wasmerio/wasmer/pull/5524) feat(llvm): Add ability to select how many threads LLVM should use during compilation. + - [#5531](https://github.com/wasmerio/wasmer/pull/5531) feat: Add Features::extend() + - [#5504](https://github.com/wasmerio/wasmer/pull/5504) feat: Add support for `perfmap`-based profiler data generation + - [#5518](https://github.com/wasmerio/wasmer/pull/5518) feat: Add `SuggestedCompilerOptimization` type(s) to automatically infer when to enable g0m0 optimization + - [#5514](https://github.com/wasmerio/wasmer/pull/5514) Added support for tags in JS + - [#5485](https://github.com/wasmerio/wasmer/pull/5485) docs: added a shield and a link to twitter + +## Changed + + - [#5532](https://github.com/wasmerio/wasmer/pull/5532) chore(compiler): Print only the `deterministic_id()` of the engine in `Debug` impl + - [#5528](https://github.com/wasmerio/wasmer/pull/5528) Update pre-release crate versions automatically + - [#5498](https://github.com/wasmerio/wasmer/pull/5498) Simplify object initialization path with relocations + - [#5503](https://github.com/wasmerio/wasmer/pull/5503) feat(llvm): Pass global #0 and memory #0 as parameters between guest functions + - [#5517](https://github.com/wasmerio/wasmer/pull/5517) Updated singlepass and llvm compilers to use newer license + - [#5513](https://github.com/wasmerio/wasmer/pull/5513) chore: Bump `crossbeam-channel` + - [#5501](https://github.com/wasmerio/wasmer/pull/5501) Report one v2 and one v3 package when mixed packages are encountered … + - [#5497](https://github.com/wasmerio/wasmer/pull/5497) Reject mixed webc v2 and v3 in the same dependency tree + - [#5488](https://github.com/wasmerio/wasmer/pull/5488) Make sure api crate builds without compiler's translator & compiler features + - [#5484](https://github.com/wasmerio/wasmer/pull/5484) Make snapshot triggers strongly typed in the app schema + - [#5482](https://github.com/wasmerio/wasmer/pull/5482) deps: Update to zip 2.4.x + - [#5483](https://github.com/wasmerio/wasmer/pull/5483) Let cronjobs be triggered on a timer + - [#5443](https://github.com/wasmerio/wasmer/pull/5443) Enable multiple backends supported by the api crate to be used in the c-api as well + - [#5469](https://github.com/wasmerio/wasmer/pull/5469) Use engine-specific default features + +## Fixed + + - [#5523](https://github.com/wasmerio/wasmer/pull/5523) fix(types): Bump `CURRENT_VERSION` + - [#5525](https://github.com/wasmerio/wasmer/pull/5525) fix(wamr): Wamr zip folder not found + - [#5522](https://github.com/wasmerio/wasmer/pull/5522) fix(jsc): Export engine as `JSC` + - [#5512](https://github.com/wasmerio/wasmer/pull/5512) fix(create-exe): Misc fixes to make `create-exe` work on aarch64 targeting Mach-O object files + - [#5519](https://github.com/wasmerio/wasmer/pull/5519) fix: Allow `BUSL-1.1` license in `deny.toml` + - [#5506](https://github.com/wasmerio/wasmer/pull/5506) fix(compiler): Preserve original alignment of custom sections + - [#5505](https://github.com/wasmerio/wasmer/pull/5505) Wasmer-JS fixes + - [#5507](https://github.com/wasmerio/wasmer/pull/5507) Fix experimental attribute and support keyword in tests, update example comment + - [#5502](https://github.com/wasmerio/wasmer/pull/5502) fix(compiler-test-derive): Don't use "Universal" as engine name/feature + - [#5491](https://github.com/wasmerio/wasmer/pull/5491) fix(cli): Respect active backend in "wasmer ssh" command + - [#5489](https://github.com/wasmerio/wasmer/pull/5489) fix: Metadata symbol size calculation in create-exe command + - [#5487](https://github.com/wasmerio/wasmer/pull/5487) docs: fixed broken link + - [#5449](https://github.com/wasmerio/wasmer/pull/5449) fix(api): Check if `WasmSliceAccess` ptr is aligned before reading + - [#5468](https://github.com/wasmerio/wasmer/pull/5468) Journal fixes to enable PHP+proc_snapshot + - [#5470](https://github.com/wasmerio/wasmer/pull/5470) fix(swift): Don't use default features in `wasix`, use the `sys` feature only + - [#5471](https://github.com/wasmerio/wasmer/pull/5471) fix: Explicitly allow "paste - no longer maintained" advisory in `cargo-deny` + - [#5467](https://github.com/wasmerio/wasmer/pull/5467) fix(journal): Use `sys-default` feature from `wasmer` + - [#5466](https://github.com/wasmerio/wasmer/pull/5466) Fix feature flags to build packages when publishing crates + + + +## 6.0.0-beta.1 - 07/03/2025 + +This first beta release fixes a bug in `virtual-fs` together with other fixes +to WASIX, adds various functions to check the features of a WebAssembly module +given its bytes, adds a mechanism to the CLI to automatically switch to a +suitable engine when needed, such as running a module with exception handling +without specifying `--llvm` and, finally, also adds QoL improvements to the +`package unpack` command in the CLI. + +## Added + + - [#5448](https://github.com/wasmerio/wasmer/pull/5448) Add tests for exec*p and posix_spawnp + - [#5439](https://github.com/wasmerio/wasmer/pull/5439) feat: Add `check-api-features` Makefile target + - [#5433](https://github.com/wasmerio/wasmer/pull/5433) fix(api): Add missing loupe::MemoryUsage impls + +## Changed + + - [#5451](https://github.com/wasmerio/wasmer/pull/5451) Select engine based on WASM module feature requirements + - [#5458](https://github.com/wasmerio/wasmer/pull/5458) Select engine based on WASM module feature requirements (v2) + - [#5455](https://github.com/wasmerio/wasmer/pull/5455) Engine selection improved + - [#5454](https://github.com/wasmerio/wasmer/pull/5454) CLI: package unpack command improvements + - [#5415](https://github.com/wasmerio/wasmer/pull/5415) chore(wasix): Avoid redundant hashing when spawning commands + - [#5440](https://github.com/wasmerio/wasmer/pull/5440) Remove `unwrap` in code that instantiates a WASI module + +## Fixed + + - [#5461](https://github.com/wasmerio/wasmer/pull/5461) fix: Bump `ring` to `0.17.12` + - [#5460](https://github.com/wasmerio/wasmer/pull/5460) fix(c-api): Adjust `wasix` features in the import in `wasmer-c-api` + - [#5452](https://github.com/wasmerio/wasmer/pull/5452) Fix CI + - [#5436](https://github.com/wasmerio/wasmer/pull/5436) Fix interacting with socket pairs through `send` and `recv` + - [#5438](https://github.com/wasmerio/wasmer/pull/5438) chore(wasix): Fix compilation warning when host-fs not enabled + - [#5446](https://github.com/wasmerio/wasmer/pull/5446) fix(virtual-fs): OverlayFs: don't copy files that are never written + - [#5435](https://github.com/wasmerio/wasmer/pull/5435) Fix polling duplex pipes + + + +## 6.0.0-alpha.2 - 25/02/2025 + +This second alpha release notably fixes an out-of-bound memory access when +using LLVM on aarch64. Furthermore, it adds proper support for the +`posix_spawn` function without a need for asyncify. + +## Added + + - [#5426](https://github.com/wasmerio/wasmer/pull/5426) Add proper posix_spawn support without needing asyncify + +## Changed + + - [#5425](https://github.com/wasmerio/wasmer/pull/5425) chore: Update build docs + - [#5418](https://github.com/wasmerio/wasmer/pull/5418) chore: Bump `webc` version to `8.0.0` + - [#5408](https://github.com/wasmerio/wasmer/pull/5408) Updated registry token on integration test workflow + - [#5414](https://github.com/wasmerio/wasmer/pull/5414) LLVM: Use `Default` and `Static` code model and reloc mode when targeting Mach-O + - [#5409](https://github.com/wasmerio/wasmer/pull/5409) Properly close vfork FDs if exec is not called, report subprocess traps + +## Fixed + + - [#5420](https://github.com/wasmerio/wasmer/pull/5420) Fix manually inserting an FD at the first free index in FdList + - [#5419](https://github.com/wasmerio/wasmer/pull/5419) fix(singlepass): Don't panic on `funcref` types + - [#5410](https://github.com/wasmerio/wasmer/pull/5410) fix(ci): bump cache@v2 to cache@v3, temporarily disable test.yaml + + + +## 6.0.0-alpha.1 - 18/02/2025 + +This alpha release adds support for multiple heterogeneous backends to be +enabled at the same time. For example, the `llvm`, `v8` and `wamr` backends +can be enabled in a single binary release. Furthermore, this release adds +initial support for the exception handling proposal on linux-x64, linux-aarch64 +and macOS through LLVM. This release also contains improvements to process +spawning in WASIX. + +## Added + + - [#5396](https://github.com/wasmerio/wasmer/pull/5396) CI: Disable V8 for linux-aarch64, bump ubuntu version for linux-x64 and add search paths for linux-musl + - [#5347](https://github.com/wasmerio/wasmer/pull/5347) Add support for exceptions in LLVM + - [#5374](https://github.com/wasmerio/wasmer/pull/5374) Add VirtualFile::copy_from_owned_buffer, fixes running mounted comman… + - [#5312](https://github.com/wasmerio/wasmer/pull/5312) Forward reuse_port and reuse_addr when it's possible to + - [#5370](https://github.com/wasmerio/wasmer/pull/5370) utils: prompts: add prompt_for_app_ident + - [#5369](https://github.com/wasmerio/wasmer/pull/5369) fix(ci): Add `RUSTDOCFLAGS` env var to add brew's libs + - [#5365](https://github.com/wasmerio/wasmer/pull/5365) Add .wasmerignore + +## Changed + + - [#5402](https://github.com/wasmerio/wasmer/pull/5402) Update integration tests + - [#5395](https://github.com/wasmerio/wasmer/pull/5395) examples: funcref: memory_grow: resolve warnings + - [#5391](https://github.com/wasmerio/wasmer/pull/5391) chore: Prepare build scripts for release + - [#5386](https://github.com/wasmerio/wasmer/pull/5386) Rework WASIX pipes to be simplex, implement proper closing semantics, implement SIGPIPE + - [#5383](https://github.com/wasmerio/wasmer/pull/5383) Merge wasmer-5.1.0 + - [#5384](https://github.com/wasmerio/wasmer/pull/5384) Implement CLOEXEC and related syscalls + - [#5379](https://github.com/wasmerio/wasmer/pull/5379) Allow memory growing to exactly 65536 pages, as per the specification + - [#5367](https://github.com/wasmerio/wasmer/pull/5367) Also put commands from webc dependencies in /usr/bin + - [#5368](https://github.com/wasmerio/wasmer/pull/5368) make: cli-compiler: resolve build-doc errors + - [#5366](https://github.com/wasmerio/wasmer/pull/5366) Reduce memory usage when loading webc packages by ensuring binaries m… + - [#5364](https://github.com/wasmerio/wasmer/pull/5364) Follow up to #5363 + - [#5360](https://github.com/wasmerio/wasmer/pull/5360) chore: inline format args to improve readability + - [#5362](https://github.com/wasmerio/wasmer/pull/5362) chore: inline format args to improve readability (3) + - [#5361](https://github.com/wasmerio/wasmer/pull/5361) chore: inline format args to improve readability (2) + - [#5355](https://github.com/wasmerio/wasmer/pull/5355) chore: remove lazy_static dependency, use std instead + - [#5352](https://github.com/wasmerio/wasmer/pull/5352) Rework cron expression parsing to use saffron + - [#5350](https://github.com/wasmerio/wasmer/pull/5350) Rework the action field in the Job yaml schema + - [#5284](https://github.com/wasmerio/wasmer/pull/5284) Take into account requirements for "isolate" or single-threaded runtimes + - [#5348](https://github.com/wasmerio/wasmer/pull/5348) Merge main into 5.1.0 + - [#5346](https://github.com/wasmerio/wasmer/pull/5346) Implement the WASIX proc_snapshot syscall + - [#5334](https://github.com/wasmerio/wasmer/pull/5334) Implement app.yaml job schema + - [#5323](https://github.com/wasmerio/wasmer/pull/5323) Close host files when the last FD referencing them is closed + - [#5333](https://github.com/wasmerio/wasmer/pull/5333) build: Make build dependency on `zip` and `xz` optional + - [#5331](https://github.com/wasmerio/wasmer/pull/5331) Make memory access functions in WasiEnv public + - [#5327](https://github.com/wasmerio/wasmer/pull/5327) Make try_memory public + +## Fixed + + - [#5406](https://github.com/wasmerio/wasmer/pull/5406) fix: Use the "Keep a changelog" spec for the changelog + - [#5401](https://github.com/wasmerio/wasmer/pull/5401) Fix returning from a failed exec + fix vfork + - [#5397](https://github.com/wasmerio/wasmer/pull/5397) fix: have wasmer-wasix (lib/wasix) compile with `cargo build` + - [#5400](https://github.com/wasmerio/wasmer/pull/5400) Fix build script + - [#5399](https://github.com/wasmerio/wasmer/pull/5399) fix(ci): use custom llvm build on linux-aarch64 + - [#5398](https://github.com/wasmerio/wasmer/pull/5398) fix(ci): Use official ubuntu-arm64 runners and install libxml2 on musl-x64 + - [#5393](https://github.com/wasmerio/wasmer/pull/5393) fix(make): Check whether `ENABLE_x` variables are `1` or `true` + - [#5392](https://github.com/wasmerio/wasmer/pull/5392) fix(ci): Use `${{}}` notation for env variables passed from matrix + - [#5390](https://github.com/wasmerio/wasmer/pull/5390) chore: Fix doc comments in the api crate + - [#5389](https://github.com/wasmerio/wasmer/pull/5389) fix(c_api): Feature gate compiler-related types and functions behind … + - [#5385](https://github.com/wasmerio/wasmer/pull/5385) Fix documentation comments in examples + - [#5363](https://github.com/wasmerio/wasmer/pull/5363) chore: fix all warnings + - [#5354](https://github.com/wasmerio/wasmer/pull/5354) Fix non-consistent hashing of webc's + + + +## 5.0.5-rc1 - 03/01/2025 +Fixed an error in `wasmer create-exe` that prevented the correct execution and various improvements to the FS in WASIX. + +## Added + + - [#5315](https://github.com/wasmerio/wasmer/pull/5315) Implement cross-FS file rename + +## Changed + + - [#5321](https://github.com/wasmerio/wasmer/pull/5321) Flush before closing files to avoid missed writes + +## Fixed + + - [#5320](https://github.com/wasmerio/wasmer/pull/5320) Fix "error: GitHub API: more that one release selected" in `create-exe` + + + +## 5.0.4 - 17/12/2024 + +This release fixes minor bugs and adds spurious improvements. + +## Added + + +## Changed + + - [#5305](https://github.com/wasmerio/wasmer/pull/5305) make `AppConfig.name` optional in wasmer-config + - [#5292](https://github.com/wasmerio/wasmer/pull/5292) Pass readme content instead of readme file name + - [#5300](https://github.com/wasmerio/wasmer/pull/5300) Refactor path_create_directory and path_remove_directory to… + - [#5277](https://github.com/wasmerio/wasmer/pull/5277) Rephrase the description for `--no-persist-id` + - [#5291](https://github.com/wasmerio/wasmer/pull/5291) chore(wasix): make Capabilities hashable + - [#5293](https://github.com/wasmerio/wasmer/pull/5293) LoongArch: Switch to the medium code model + +## Fixed + + - [#5306](https://github.com/wasmerio/wasmer/pull/5306) Fix build for 32bit targets (usize == u32) + - [#5307](https://github.com/wasmerio/wasmer/pull/5307) A few WASIX FS-related fixes + - [#5285](https://github.com/wasmerio/wasmer/pull/5285) Fix handling of the root path in WasiFS resulting in a bad inode structure + - [#5294](https://github.com/wasmerio/wasmer/pull/5294) Fix typo in readme file + + + +## 5.0.3 - 07/12/2024 + +This release adds support for a more fine-grained and flexible control over the network sandbox. Also, some bug fixes +and improvements are included. + +## Added + + - [#5274](https://github.com/wasmerio/wasmer/pull/5274) feat(config): Add (Named)PackageIdent::matches_id helpers + +## Changed + + - [#5288](https://github.com/wasmerio/wasmer/pull/5288) Bump up macos runner versions + - [#5283](https://github.com/wasmerio/wasmer/pull/5283) Better network sandbox + - [#5243](https://github.com/wasmerio/wasmer/pull/5243) Support multiple heterogeneous backends at the same time + - [#5275](https://github.com/wasmerio/wasmer/pull/5275) Protect preopened inodes from being closed + - [#5264](https://github.com/wasmerio/wasmer/pull/5264) update running wasmer-integration-tests in CI + +## Fixed + + + + +## 5.0.2 - 22/11/2024 + +This release mostly consists of bug fixes and clean ups. + +## Added + + - [#5259](https://github.com/wasmerio/wasmer/pull/5259) Fix alignment and padding of the WASIX snapshot type to align with wasix-libc + - [#5236](https://github.com/wasmerio/wasmer/pull/5236) feat(benches): Add compilation benches, use remote artifacts + - [#5230](https://github.com/wasmerio/wasmer/pull/5230) fix(llvm): Fix `ADD_ABS_LO12_NC` relocation + - [#5226](https://github.com/wasmerio/wasmer/pull/5226) Add make target for building `wasmer-api` with `js` feature as `cdylib` + +## Changed + + - [#4997](https://github.com/wasmerio/wasmer/pull/4997) Rework WasiFs to use a "holey" FdList instead of hashmap + seed + fre… + - [#5257](https://github.com/wasmerio/wasmer/pull/5257) ci: update `CONTRIBUTING.md` reference + - [#5250](https://github.com/wasmerio/wasmer/pull/5250) deps: Remove usage of unmaintained derivative crate + - [#5256](https://github.com/wasmerio/wasmer/pull/5256) deps: Upgrade wcgi crates to 0.3.0 + - [#5253](https://github.com/wasmerio/wasmer/pull/5253) chore(wasix): Downgrade debug logs to trace + - [#5245](https://github.com/wasmerio/wasmer/pull/5245) Relax `wat` version requirement + - [#5244](https://github.com/wasmerio/wasmer/pull/5244) Alias `.` to cwd in wasi env + - [#5225](https://github.com/wasmerio/wasmer/pull/5225) Move compilation types inside of wasmer compiler + +## Fixed + + - [#5268](https://github.com/wasmerio/wasmer/pull/5268) Fix musl builds + - [#5231](https://github.com/wasmerio/wasmer/pull/5231) Fix LLVM detection + - [#5235](https://github.com/wasmerio/wasmer/pull/5235) c-api/README.md: Fix double include in usage section + - [#5238](https://github.com/wasmerio/wasmer/pull/5238) Revert "Fix handling of the root dir in `path_create_directory` and `get_inode_at_path_inner`" + - [#5237](https://github.com/wasmerio/wasmer/pull/5237) Fix handling of the root dir in `path_create_directory` and `get_inode_at_path_inner` + + + +## 5.0.1 - 06/11/2024 + +This release adds LLVM support to MacOS ARM64 binaries and contains minor fixes and improvements. + +## Added + + - [#5220](https://github.com/wasmerio/wasmer/pull/5220) fix(ci): Move addition of `brew` libs to other step + - [#5218](https://github.com/wasmerio/wasmer/pull/5218) fix(ci): Add `brew` libs to `RUSTFLAGS` in aarch64 + - [#5129](https://github.com/wasmerio/wasmer/pull/5129) Experimental: Add support for WASMI + - [#5205](https://github.com/wasmerio/wasmer/pull/5205) Add LLVM to docs CI + +## Changed + + - [#5216](https://github.com/wasmerio/wasmer/pull/5216) Bump up webc version + - [#5215](https://github.com/wasmerio/wasmer/pull/5215) Re-enable RISC-V + - [#5194](https://github.com/wasmerio/wasmer/pull/5194) build: Update nix flake devshell for LLVM 18 + - [#5202](https://github.com/wasmerio/wasmer/pull/5202) chore: Remove `isle-in-source-tree` feature from `cranelift-codegen` + +## Fixed + + - [#5210](https://github.com/wasmerio/wasmer/pull/5210) Fix(LLVM): Implement the missing relocations on aarch64, fix SIMD operations + - [#5209](https://github.com/wasmerio/wasmer/pull/5209) Revert "Fix(LLVM): Implement the missing relocations on aarch64, fix SIMD operations" + - [#5207](https://github.com/wasmerio/wasmer/pull/5207) Fix(LLVM): Implement the missing relocations on aarch64, fix SIMD operations + - [#5203](https://github.com/wasmerio/wasmer/pull/5203) Fix the wasmer-swift crate build + + + +## 5.0.0 - 29/10/2024 + +The main star of this release is the experimental support for three new backends: v8, wamr and wasmi. Also, many dependencies, namely LLVM, Cranelift, and rkyv are updated +which bring significant enhancements. + +## Added + + - [#5185](https://github.com/wasmerio/wasmer/pull/5185) Add execution benchmarks + - [#5174](https://github.com/wasmerio/wasmer/pull/5174) chore(wasix): Additional logging in wasix HTTP client + - [#5152](https://github.com/wasmerio/wasmer/pull/5152) Experimental: add support for loongarch64 on LLVM + +## Changed + + - [#5188](https://github.com/wasmerio/wasmer/pull/5188) feat: Rename `wasmer-api` to `wasmer-backend-api` + - [#5186](https://github.com/wasmerio/wasmer/pull/5186) Remove support for emscripten + - [#5181](https://github.com/wasmerio/wasmer/pull/5181) Sunset `wasmer-registry`, `wasmer-interface` and update misc dependencies + - [#5165](https://github.com/wasmerio/wasmer/pull/5165) 5.0.0-rc.1 post release + - [#5151](https://github.com/wasmerio/wasmer/pull/5151) Remove negative variant of exit code + - [#5153](https://github.com/wasmerio/wasmer/pull/5153) Terminate entire wasix process when a worker thread fails or calls exit + - [#5172](https://github.com/wasmerio/wasmer/pull/5172) chore(backend-api): Update GraphQL schema + - [#5176](https://github.com/wasmerio/wasmer/pull/5176) Remove unused edge-util dependency + - [#5171](https://github.com/wasmerio/wasmer/pull/5171) Refactor webc usage + - [#5144](https://github.com/wasmerio/wasmer/pull/5144) Implement app-deployment related CLI commands + - [#5163](https://github.com/wasmerio/wasmer/pull/5163) Correct the example of the README in the WASIX crate + +## Fixed + + - [#5184](https://github.com/wasmerio/wasmer/pull/5184) fix(api/wamr): Build `wamr` on `iOS` + - [#5179](https://github.com/wasmerio/wasmer/pull/5179) Fix build CI + - [#5178](https://github.com/wasmerio/wasmer/pull/5178) Fix usage of exit code + - [#5162](https://github.com/wasmerio/wasmer/pull/5162) Fix append-ness of new fd affecting old fds + - [#5160](https://github.com/wasmerio/wasmer/pull/5160) Fix fd with append flag can't seek correctly + + + +## 5.0.0-rc.1 - 21/10/2024 + +This is a release candidate as we are preparing for the final release of 5.0 + +## Added + + - [#5154](https://github.com/wasmerio/wasmer/pull/5154) Add build steps for interpreter backends + - [#5138](https://github.com/wasmerio/wasmer/pull/5138) Experimental: Add support for v8 + - [#5129](https://github.com/wasmerio/wasmer/pull/5129) Experimental: Add support for WASMI + - [#4515](https://github.com/wasmerio/wasmer/pull/4515) Experimental: Add interpreter support for Wasmer + +## Changed + + - [#5158](https://github.com/wasmerio/wasmer/pull/5158) path_create_directory shouldn't behave recursively + - [#5156](https://github.com/wasmerio/wasmer/pull/5156) Resolve double-free error in c-api + - [#5149](https://github.com/wasmerio/wasmer/pull/5149) Merge 5.0 release candidate into main + - [#5148](https://github.com/wasmerio/wasmer/pull/5148) Remove deprecated methods and types + - [#5147](https://github.com/wasmerio/wasmer/pull/5147) Feat(compiler/llvm): Replace runtime assertions (in debug mode) with errors + - [#5146](https://github.com/wasmerio/wasmer/pull/5146) feat(api/build/v8): Use blob to build v8 + - [#5142](https://github.com/wasmerio/wasmer/pull/5142) Upgrade `rkyv` + - [#5098](https://github.com/wasmerio/wasmer/pull/5098) `js::module`: leave warning comment on the `Send` impl + - [#5139](https://github.com/wasmerio/wasmer/pull/5139) deps: Update corosensei + - [#5136](https://github.com/wasmerio/wasmer/pull/5136) Replace v3 usage of download-artifact + - [#5135](https://github.com/wasmerio/wasmer/pull/5135) Use upload/download artifact v4 + +## Fixed + + - [#4834](https://github.com/wasmerio/wasmer/pull/4834) Fix `path_open` trailing slash edge case + - [#4821](https://github.com/wasmerio/wasmer/pull/4821) Fix `path_open` sometimes ignoring trailing slash + - [#5137](https://github.com/wasmerio/wasmer/pull/5137) Trying to fix js build + + + +## 4.4.0 - 04/10/2024 + +This release adds support for object size estimation, adds better proxy support, improves executable spawning, and contains various bug fixes. + +## Added + + - [#5079](https://github.com/wasmerio/wasmer/pull/5079) Add feature for objects' sizes estimation + - [#5125](https://github.com/wasmerio/wasmer/pull/5125) oss-fuzz: add cifuzz + - [#5110](https://github.com/wasmerio/wasmer/pull/5110) Add new --invoke arg for choosing entry function for single WASM modules + fix --invoke not working for WASI(X) modules + - [#5090](https://github.com/wasmerio/wasmer/pull/5090) Add the right to fetch stats on pipes + - [#5088](https://github.com/wasmerio/wasmer/pull/5088) Various cleanup chores + add a new test + +## Changed + + - [#5127](https://github.com/wasmerio/wasmer/pull/5127) Implement proper executable spawn + - [#5098](https://github.com/wasmerio/wasmer/pull/5098) `js::module`: leave warning comment on the `Send` impl + - [#5120](https://github.com/wasmerio/wasmer/pull/5120) Improve QueryError + - [#5118](https://github.com/wasmerio/wasmer/pull/5118) InMemory/MultiSource Improvements + - [#5104](https://github.com/wasmerio/wasmer/pull/5104) Transfer the file size when renamed + - [#5102](https://github.com/wasmerio/wasmer/pull/5102) chore(wasix): Reduce syscall instrumentation levels + - [#5096](https://github.com/wasmerio/wasmer/pull/5096) Update cargo-deny config + - [#4983](https://github.com/wasmerio/wasmer/pull/4983) deps: Upgrade some dependencies + lift to workspace root + - [#5092](https://github.com/wasmerio/wasmer/pull/5092) Replace `WASM_ANYREF` with `WASM_EXTERNREF` + - [#5091](https://github.com/wasmerio/wasmer/pull/5091) Apply the proxy setting in wasmer config + - [#5089](https://github.com/wasmerio/wasmer/pull/5089) feat(cli): Restore packages from webcs + +## Fixed + + - [#5124](https://github.com/wasmerio/wasmer/pull/5124) Various fixes to get wasmer-js compiling + - [#5108](https://github.com/wasmerio/wasmer/pull/5108) Fix error in metering middleware -## **Unreleased** ## 4.3.7 - 06/09/2024 @@ -1130,7 +1986,7 @@ Lots of new things in the release! - [#3665](https://github.com/wasmerio/wasmer/pull/3665) Fix doc, threads are enabled by default now - [#3662](https://github.com/wasmerio/wasmer/pull/3662) Why is it so difficult to type LLVM_SYS_140_PREFIX - [#3661](https://github.com/wasmerio/wasmer/pull/3661) [CI] New attempt at fixing the Windows build on the CI - - [#3659](https://github.com/wasmerio/wasmer/pull/3659) Fixed building with with just the sys feature + - [#3659](https://github.com/wasmerio/wasmer/pull/3659) Fixed building with just the sys feature - [#3648](https://github.com/wasmerio/wasmer/pull/3648) Fix CI and llvm detection - [#3643](https://github.com/wasmerio/wasmer/pull/3643) fix(wasi): Memory leak due to cyclical WasiControlPlane references - [#3639](https://github.com/wasmerio/wasmer/pull/3639) wasi: Thread Lifecycle Fix diff --git a/Cargo.lock b/Cargo.lock index 3849b3ec7b..bd58f01b9d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,51 +1,27 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli 0.29.0", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.7.8" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ - "getrandom", - "once_cell", - "version_check", + "gimli", ] [[package]] -name = "ahash" -version = "0.8.11" +name = "adler2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if 1.0.0", - "getrandom", - "once_cell", - "version_check", - "zerocopy", -] +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -57,16 +33,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] -name = "allocator-api2" -version = "0.2.18" +name = "alloca" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] [[package]] -name = "android-tzdata" -version = "0.1.1" +name = "allocator-api2" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "android_system_properties" @@ -85,9 +64,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -100,36 +79,37 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] @@ -140,24 +120,24 @@ checksum = "70033777eb8b5124a81a1889416543dddef2de240019b674c81285a2635a7e1e" [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" dependencies = [ "derive_arbitrary", ] [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -167,15 +147,57 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "askama" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4744ed2eef2645831b441d8f5459689ade2ab27c854488fbab1fbe94fce1a7" +dependencies = [ + "askama_derive", + "itoa", + "percent-encoding", + "serde", + "serde_json", +] + +[[package]] +name = "askama_derive" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d661e0f57be36a5c14c48f78d09011e67e0cb618f269cca9f2fd8d15b68c46ac" +dependencies = [ + "askama_parser", + "basic-toml", + "memchr", + "proc-macro2", + "quote", + "rustc-hash", + "serde", + "serde_derive", + "syn 2.0.114", +] + +[[package]] +name = "askama_parser" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "cf315ce6524c857bb129ff794935cf6d42c82a6cff60526fe2a63593de4d0d4f" +dependencies = [ + "memchr", + "serde", + "serde_derive", + "winnow", +] [[package]] -name = "ascii" -version = "0.9.3" +name = "assert-panic" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" +checksum = "763b2b82aee23fe46c14c792470080c26538396e9ea589f548298f26b22d7f41" [[package]] name = "assert_cmd" @@ -193,96 +215,144 @@ dependencies = [ [[package]] name = "assert_cmd" -version = "2.0.14" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8" +checksum = "9c5bcfa8749ac45dd12cb11055aeeb6b27a3895560d60d71e3c23bf979e60514" dependencies = [ "anstyle", - "bstr 1.9.1", - "doc-comment", - "predicates 3.1.0", + "bstr 1.12.1", + "libc", + "predicates 3.1.3", "predicates-core", "predicates-tree", "wait-timeout", ] [[package]] -name = "async-compression" -version = "0.4.12" +name = "async-channel" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ - "flate2", + "concurrent-queue", + "event-listener-strategy", "futures-core", - "memchr", "pin-project-lite", - "tokio 1.38.1", +] + +[[package]] +name = "async-compression" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d10e4f991a553474232bc0a31799f6d24b034a84c0971d80d2e2f78b2e576e40" +dependencies = [ + "compression-codecs", + "compression-core", + "pin-project-lite", + "tokio", ] [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "async-tungstenite" -version = "0.25.1" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cca750b12e02c389c1694d35c16539f88b8bbaa5945934fdc1b41a776688589" +checksum = "8acc405d38be14342132609f06f02acaf825ddccfe76c4824a69281e0458ebd4" dependencies = [ + "atomic-waker", + "futures-core", "futures-io", + "futures-task", "futures-util", - "log 0.4.22", + "log", "pin-project-lite", "rustls-native-certs", "rustls-pki-types", - "tokio 1.38.1", - "tokio-rustls 0.25.0", + "tokio", + "tokio-rustls", "tungstenite", ] [[package]] -name = "atomic-polyfill" -version = "1.0.3" +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "axum" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ - "critical-section", + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "serde_core", + "sync_wrapper", + "tower", + "tower-layer", + "tower-service", ] [[package]] -name = "autocfg" -version = "1.3.0" +name = "axum-core" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", +] [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", - "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", - "object 0.36.1", + "object 0.37.3", "rustc-demangle", + "windows-link", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" @@ -295,6 +365,15 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "basic-toml" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba62675e8242a4c4e806d12f11d136e626e6c8361d6b829310732241652a178a" +dependencies = [ + "serde", +] + [[package]] name = "beef" version = "0.5.2" @@ -311,40 +390,69 @@ dependencies = [ ] [[package]] -name = "bitflags" -version = "1.3.2" +name = "bincode" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +dependencies = [ + "bincode_derive", + "serde", + "unty", +] [[package]] -name = "bitflags" -version = "2.6.0" +name = "bincode_derive" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09" +dependencies = [ + "virtue", +] [[package]] -name = "bitvec" -version = "1.0.1" +name = "bindgen" +version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "funty", - "radium", - "tap", - "wyz", + "bitflags 2.10.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.114", ] +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + [[package]] name = "blake3" -version = "1.5.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" dependencies = [ "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "cc", - "cfg-if 1.0.0", + "cfg-if", "constant_time_eq", + "cpufeatures", ] [[package]] @@ -356,6 +464,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96eb4cdd6cf1b31d671e9efe75c5d1ec614776856cefbe109ca373554a6d514f" +dependencies = [ + "hybrid-array", +] + [[package]] name = "bstr" version = "0.2.17" @@ -369,12 +486,12 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", - "regex-automata 0.4.7", + "regex-automata 0.4.13", "serde", ] @@ -388,37 +505,46 @@ dependencies = [ ] [[package]] -name = "build_const" -version = "0.2.2" +name = "bumpalo" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +dependencies = [ + "allocator-api2", +] [[package]] -name = "bumpalo" -version = "3.16.0" +name = "bus" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "4b7118d0221d84fada881b657c2ddb7cd55108db79c8764c9ee212c0c259b783" +dependencies = [ + "crossbeam-channel", + "num_cpus", + "parking_lot_core", +] [[package]] name = "bytecheck" -version = "0.6.12" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +checksum = "0caa33a2c0edca0419d15ac723dff03f1956f7978329b1e3b5fdaaaed9d3ca8b" dependencies = [ "bytecheck_derive", "ptr_meta", + "rancor", "simdutf8", ] [[package]] name = "bytecheck_derive" -version = "0.6.12" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] @@ -429,62 +555,76 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "0.4.12" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" dependencies = [ - "byteorder", - "iovec", + "serde", ] [[package]] -name = "bytes" -version = "1.6.1" +name = "bytesize" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" dependencies = [ - "serde", + "serde_core", ] [[package]] -name = "bytesize" -version = "1.3.0" +name = "camino" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ - "serde", + "serde_core", ] [[package]] -name = "camino" -version = "1.1.7" +name = "cargo-platform" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +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.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" dependencies = [ + "camino", + "cargo-platform 0.1.9", + "semver 1.0.27", "serde", + "serde_json", + "thiserror 2.0.18", ] [[package]] name = "cargo_metadata" -version = "0.15.4" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" +checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" dependencies = [ "camino", - "cargo-platform", - "semver 1.0.23", + "cargo-platform 0.3.2", + "semver 1.0.27", "serde", "serde_json", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -495,62 +635,66 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cbindgen" -version = "0.24.5" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d" +checksum = "befbfd072a8e81c02f8c507aefce431fe5e7d051f83d48a23ffc9b9fe5a11799" dependencies = [ - "heck 0.4.1", - "indexmap 1.9.3", - "log 0.4.22", + "heck 0.5.0", + "indexmap", + "log", "proc-macro2", "quote", "serde", "serde_json", - "syn 1.0.109", + "syn 2.0.114", "tempfile", - "toml 0.5.11", + "toml", ] [[package]] name = "cc" -version = "1.1.6" +version = "1.2.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" dependencies = [ + "find-msvc-tools", "jobserver", "libc", + "shlex", ] [[package]] -name = "cfg-if" -version = "0.1.10" +name = "cexpr" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom 7.1.3", +] [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -577,24 +721,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", - "half 2.4.1", + "half 2.7.1", ] [[package]] -name = "cipher" -version = "0.4.4" +name = "clang-sys" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ - "crypto-common", - "inout", + "glob", + "libc", + "libloading", ] [[package]] name = "clap" -version = "4.4.11" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" +checksum = "3e34525d5bbbd55da2bb745d34b36121baac88d07619a9a09cfcf4a6c0832785" dependencies = [ "clap_builder", "clap_derive", @@ -602,181 +747,234 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.11" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" +checksum = "59a20016a20a3da95bef50ec7238dbd09baeef4311dcdd38ec15aba69812fb61" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.10.0", + "strsim 0.11.1", ] [[package]] name = "clap_complete" -version = "4.5.3" +version = "4.5.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a2d6eec27fce550d708b2be5d798797e5a55b246b323ef36924a0001996352" +checksum = "430b4dc2b5e3861848de79627b2bedc9f3342c7da5173a14eaa5d0f8dc18ae5d" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" [[package]] name = "clap_mangen" -version = "0.2.22" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50dde5bc0c853d6248de457e5eb6e5a674a54b93810a34ded88d882ca1fe2de" +checksum = "439ea63a92086df93893164221ad4f24142086d535b3a0957b9b9bea2dc86301" dependencies = [ "clap", "roff", ] [[package]] -name = "cloudabi" -version = "0.0.3" +name = "cmake" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" dependencies = [ - "bitflags 1.3.2", + "cc", ] [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "colored" -version = "1.9.4" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" +checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "is-terminal", - "lazy_static", - "winapi 0.3.9", + "windows-sys 0.61.2", ] [[package]] -name = "colored" -version = "2.1.0" +name = "comfy-table" +version = "7.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" +checksum = "958c5d6ecf1f214b4c2bbbbf6ab9523a864bd136dcf71a7e8904799acfe1ad47" dependencies = [ - "lazy_static", - "windows-sys 0.48.0", + "crossterm", + "unicode-segmentation", + "unicode-width", ] [[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", -] - -[[package]] -name = "comfy-table" -version = "7.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" -dependencies = [ - "crossterm", - "strum", - "strum_macros", - "unicode-width", -] - -[[package]] -name = "compiler-test-derive" -version = "0.0.1" +name = "compiler-test-derive" +version = "0.0.1" dependencies = [ "pretty_assertions", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", "trybuild", ] [[package]] name = "compiletest_rs" -version = "0.6.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0086d6ad78cf409c3061618cd98e2789d5c9ce598fc9651611cf62eae0a599cb" +checksum = "f150fe9105fcd2a57cad53f0c079a24de65195903ef670990f5909f695eac04c" dependencies = [ "diff", "filetime", "getopts", "lazy_static", "libc", - "log 0.4.22", - "miow 0.3.7", + "log", + "miow", "regex", "rustfix", "serde", "serde_derive", "serde_json", "tester", - "winapi 0.3.9", + "windows-sys 0.59.0", +] + +[[package]] +name = "compression-codecs" +version = "0.4.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00828ba6fd27b45a448e57dbfe84f1029d4c9f26b368157e9a448a5f49a2ec2a" +dependencies = [ + "compression-core", + "flate2", + "memchr", + "zstd", + "zstd-safe", +] + +[[package]] +name = "compression-core" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d" + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", ] [[package]] name = "console" -version = "0.15.8" +version = "0.15.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "windows-sys 0.59.0", +] + +[[package]] +name = "console" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" dependencies = [ "encode_unicode", - "lazy_static", "libc", + "once_cell", "unicode-width", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] -name = "console_error_panic_hook" -version = "0.1.7" +name = "console-api" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +checksum = "e8599749b6667e2f0c910c1d0dff6901163ff698a52d5a39720f61b5be4b20d3" dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen", + "futures-core", + "prost", + "prost-types", + "tonic", + "tonic-prost", + "tracing-core", +] + +[[package]] +name = "console-subscriber" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb4915b7d8dd960457a1b6c380114c2944f728e7c65294ab247ae6b6f1f37592" +dependencies = [ + "console-api", + "crossbeam-channel", + "crossbeam-utils", + "futures-task", + "hdrhistogram", + "humantime", + "hyper-util", + "prost", + "prost-types", + "serde", + "serde_json", + "thread_local", + "tokio", + "tokio-stream", + "tonic", + "tracing", + "tracing-core", + "tracing-subscriber", ] +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] name = "convert_case" -version = "0.4.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "cooked-waker" @@ -794,165 +992,209 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "corosensei" -version = "0.1.4" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80128832c58ea9cbd041d2a759ec449224487b2c1e400453d99d244eead87a8e" +checksum = "2b2b4c7e3e97730e6b0b8c5ff5ca82c663d1a645e4f630f4fa4c24e80626787e" dependencies = [ "autocfg", - "cfg-if 1.0.0", + "cfg-if", "libc", "scopeguard", - "windows-sys 0.33.0", + "windows-sys 0.59.0", ] [[package]] -name = "counter" -version = "0.5.7" +name = "cpufeatures" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d458e66999348f56fd3ffcfbb7f7951542075ca8359687c703de6500c1ddccd" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ - "num-traits", + "libc", ] [[package]] -name = "cpufeatures" -version = "0.2.12" +name = "cranelift-assembler-x64" +version = "0.128.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "d32b9105ce689b3e79ae288f62e9c2d0de66e4869176a11829e5c696da0f018f" dependencies = [ - "libc", + "cranelift-assembler-x64-meta", +] + +[[package]] +name = "cranelift-assembler-x64-meta" +version = "0.128.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e950e8dd96c1760f1c3a2b06d3d35584a3617239d034e73593ec096a1f3ea69" +dependencies = [ + "cranelift-srcgen", ] [[package]] name = "cranelift-bforest" -version = "0.91.1" +version = "0.128.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2ab4512dfd3a6f4be184403a195f76e81a8a9f9e6c898e19d2dc3ce20e0115" +checksum = "aea7351476d0eb196e89150e7a6235ecd37c97848243faea7746c29676abeeac" dependencies = [ "cranelift-entity", ] +[[package]] +name = "cranelift-bitset" +version = "0.128.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d37c4589e52def48bd745c3b28b523d66ade8b074644ed3a366144c225f212" + [[package]] name = "cranelift-codegen" -version = "0.91.1" +version = "0.128.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b022ed2a5913a38839dfbafe6cf135342661293b08049843362df4301261dc" +checksum = "fa9e80ceb5153bb9dd0d048e685ec4df6fa20ce92d4ffffcb5d691623e1d8693" dependencies = [ - "arrayvec 0.7.4", "bumpalo", + "cranelift-assembler-x64", "cranelift-bforest", + "cranelift-bitset", "cranelift-codegen-meta", "cranelift-codegen-shared", - "cranelift-egraph", + "cranelift-control", "cranelift-entity", "cranelift-isle", - "gimli 0.26.2", - "hashbrown 0.12.3", - "log 0.4.22", + "gimli", + "hashbrown 0.15.5", + "log", + "pulley-interpreter", "regalloc2", - "smallvec 1.13.2", - "target-lexicon 0.12.15", + "rustc-hash", + "serde", + "smallvec", + "target-lexicon 0.13.4", + "wasmtime-internal-math", ] [[package]] name = "cranelift-codegen-meta" -version = "0.91.1" +version = "0.128.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639307b45434ad112a98f8300c0f0ab085cbefcd767efcdef9ef19d4c0756e74" +checksum = "9e5131015cf909d631a2afb1a3fd6bf6dbe08d896bc984a029dcbbe4a271f8dc" dependencies = [ + "cranelift-assembler-x64-meta", "cranelift-codegen-shared", + "cranelift-srcgen", + "heck 0.5.0", + "pulley-interpreter", ] [[package]] name = "cranelift-codegen-shared" -version = "0.91.1" +version = "0.128.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278e52e29c53fcf32431ef08406c295699a70306d05a0715c5b1bf50e33a9ab7" +checksum = "a068c67f04f37de835fda87a10491e266eea9f9283d0887d8bd0a2c0726588a9" [[package]] -name = "cranelift-egraph" -version = "0.91.1" +name = "cranelift-control" +version = "0.128.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624b54323b06e675293939311943ba82d323bb340468ce1889be5da7932c8d73" +checksum = "35ceb830549fcd7f05493a3b6d3d2bcfa4d43588b099e8c2393d2d140d6f7951" dependencies = [ - "cranelift-entity", - "fxhash", - "hashbrown 0.12.3", - "indexmap 1.9.3", - "log 0.4.22", - "smallvec 1.13.2", + "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.91.1" +version = "0.128.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a59bcbca89c3f1b70b93ab3cbba5e5e0cbf3e63dadb23c7525cb142e21a9d4c" +checksum = "3e57c6f29da407f6ee9956197d011aedf4fd39bd03781ab5b44b85d45a448a27" +dependencies = [ + "cranelift-bitset", +] [[package]] name = "cranelift-frontend" -version = "0.91.1" +version = "0.128.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d70abacb8cfef3dc8ff7e8836e9c1d70f7967dfdac824a4cd5e30223415aca6" +checksum = "add3991ccfeb20022443bae60b8adc56081f27caab0213b0ff26288954e44fe5" dependencies = [ "cranelift-codegen", - "hashbrown 0.12.3", - "log 0.4.22", - "smallvec 1.13.2", - "target-lexicon 0.12.15", + "hashbrown 0.15.5", + "log", + "smallvec", + "target-lexicon 0.13.4", ] [[package]] name = "cranelift-isle" -version = "0.91.1" +version = "0.128.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc02707039d43c0e132526f1d3ac319b45468331b823a1749625825010f644e4" + +[[package]] +name = "cranelift-srcgen" +version = "0.128.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393bc73c451830ff8dbb3a07f61843d6cb41a084f9996319917c0b291ed785bb" +checksum = "15a4849e90e778f2fcc9fd1b93bd074dbf6b8b6f420951f9617c4774fe71e7fc" [[package]] name = "crc" -version = "1.8.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ - "build_const", + "crc-catalog", ] +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +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 1.0.0", + "cfg-if", ] [[package]] name = "criterion" -version = "0.5.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +checksum = "4d883447757bb0ee46f233e9dc22eb84d93a9508c9b868687b274fc431d886bf" dependencies = [ + "alloca", "anes", "cast", "ciborium", "clap", "criterion-plot", - "is-terminal", - "itertools 0.10.5", + "csv", + "itertools 0.13.0", "num-traits", - "once_cell", "oorandom", + "page_size", "regex", "serde", - "serde_derive", "serde_json", "tinytemplate", "walkdir", @@ -960,63 +1202,31 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.5.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +checksum = "ed943f81ea2faa8dcecbbfa50164acf95d555afec96a27871663b300e387b2e4" dependencies = [ "cast", - "itertools 0.10.5", + "itertools 0.13.0", ] -[[package]] -name = "critical-section" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" - [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ - "crossbeam-utils 0.8.20", + "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" -dependencies = [ - "crossbeam-epoch 0.8.2", - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch 0.9.18", - "crossbeam-utils 0.8.20", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "lazy_static", - "maybe-uninit", - "memoffset 0.5.6", - "scopeguard", + "crossbeam-epoch", + "crossbeam-utils", ] [[package]] @@ -1025,57 +1235,36 @@ version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "crossbeam-utils 0.8.20", -] - -[[package]] -name = "crossbeam-queue" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" -dependencies = [ - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "maybe-uninit", + "crossbeam-utils", ] [[package]] name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils 0.8.20", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", + "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crossterm" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" +checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "crossterm_winapi", - "libc", - "parking_lot 0.12.3", - "winapi 0.3.9", + "document-features", + "parking_lot", + "rustix", + "winapi", ] [[package]] @@ -1084,40 +1273,60 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "typenum", ] [[package]] -name = "ctor" -version = "0.1.26" +name = "crypto-common" +version = "0.2.0-rc.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +checksum = "c7722afd27468475c9b6063dc03a57ef2ca833816981619f8ebe64d38d207eef" dependencies = [ - "quote", - "syn 1.0.109", + "hybrid-array", +] + +[[package]] +name = "csv" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde_core", +] + +[[package]] +name = "csv-core" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" +dependencies = [ + "memchr", ] [[package]] name = "cynic" -version = "3.7.3" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c02b53607e3f21c374f024c2cfc2154e554905bba478e8e09409f10ce3726" +checksum = "8b215a2d2bebcbbd3bd005b59f5b1b7dc5eb07343d64db80ec23aff9e7e1a2e2" dependencies = [ "cynic-proc-macros", "ref-cast", @@ -1125,239 +1334,262 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cynic-codegen" -version = "3.7.3" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c0ec86f960a00ce087e96ff6f073f6ff28b6876d69ce8caa06c03fb4143981c" +checksum = "9eeb2693bc9916fa694d2023bb1adc4356a8896b9b96478f23d51a263140811c" dependencies = [ - "counter", "cynic-parser", - "darling 0.20.10", + "darling 0.20.11", "once_cell", "ouroboros", "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.72", - "thiserror", + "syn 2.0.114", + "thiserror 1.0.69", ] [[package]] name = "cynic-parser" -version = "0.4.5" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718f6cd8c54ae5249fd42b0c86639df0100b8a86eea2e5f1b915cde2e1481453" +checksum = "3136ed6464e975162667c08092fcb54947ce08785fca301162fd614c4dfd974f" dependencies = [ - "indexmap 2.2.6", + "indexmap", "lalrpop-util", "logos", ] [[package]] name = "cynic-proc-macros" -version = "3.7.3" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a69ecdf4aa110fed1c0c8de290bc8ccb2835388733cf2f418f0abdf6ff3899" +checksum = "1c0b2eab13c954db96ae72db53b2d275c237f3197499212c4d55b5ae7418e5b2" dependencies = [ "cynic-codegen", - "darling 0.20.10", + "darling 0.20.11", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "darling" -version = "0.14.4" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] name = "darling" -version = "0.20.10" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.21.3", + "darling_macro 0.21.3", ] [[package]] name = "darling_core" -version = "0.14.4" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", - "syn 1.0.109", + "strsim 0.11.1", + "syn 2.0.114", ] [[package]] name = "darling_core" -version = "0.20.10" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "darling_macro" -version = "0.14.4" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.14.4", + "darling_core 0.20.11", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.21.3", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", + "crossbeam-utils", "hashbrown 0.14.5", - "lock_api 0.4.12", + "lock_api", "once_cell", - "parking_lot_core 0.9.10", + "parking_lot_core", ] [[package]] -name = "dashmap" -version = "6.0.1" +name = "data-encoding" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.20", - "hashbrown 0.14.5", - "lock_api 0.4.12", - "once_cell", - "parking_lot_core 0.9.10", -] +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" [[package]] -name = "data-encoding" -version = "2.6.0" +name = "defmt" +version = "0.3.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "f0963443817029b2024136fc4dd07a5107eb8f977eaf18fcd1fdeb11306b64ad" +dependencies = [ + "defmt 1.0.1", +] [[package]] -name = "deranged" -version = "0.3.11" +name = "defmt" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "548d977b6da32fa1d1fda2876453da1e7df63ad0304c8b3dae4dbe7b96f39b78" dependencies = [ - "powerfmt", - "serde", + "bitflags 1.3.2", + "defmt-macros", ] [[package]] -name = "derivative" -version = "2.2.0" +name = "defmt-macros" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +checksum = "3d4fc12a85bcf441cfe44344c4b72d58493178ce635338a3f3b78943aceb258e" dependencies = [ + "defmt-parser", + "proc-macro-error2", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", +] + +[[package]] +name = "defmt-parser" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +dependencies = [ + "thiserror 2.0.18", +] + +[[package]] +name = "deranged" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +dependencies = [ + "powerfmt", ] [[package]] name = "derive_arbitrary" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "derive_builder" -version = "0.12.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.12.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.14.4", + "darling 0.20.11", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "derive_builder_macro" -version = "0.12.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "derive_more" -version = "0.99.18" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.0", - "syn 2.0.72", + "rustc_version 0.4.1", + "syn 2.0.114", + "unicode-xid", ] [[package]] name = "dialoguer" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" +checksum = "25f104b501bf2364e78d0d3974cbc774f738f5865306ed128e1e0d7499c0ad96" dependencies = [ - "console", + "console 0.16.2", "shell-words", "tempfile", - "thiserror", "zeroize", ] @@ -1379,16 +1611,26 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "crypto-common", - "subtle", + "block-buffer 0.10.4", + "crypto-common 0.1.7", +] + +[[package]] +name = "digest" +version = "0.11.0-rc.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff8de092798697546237a3a701e4174fe021579faec9b854379af9bf1e31962" +dependencies = [ + "block-buffer 0.11.0", + "const-oid", + "crypto-common 0.2.0-rc.13", ] [[package]] name = "dirs" -version = "4.0.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ "dirs-sys", ] @@ -1399,19 +1641,20 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "dirs-sys-next", ] [[package]] name = "dirs-sys" -version = "0.3.7" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", - "redox_users", - "winapi 0.3.9", + "option-ext", + "redox_users 0.5.2", + "windows-sys 0.61.2", ] [[package]] @@ -1421,8 +1664,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users", - "winapi 0.3.9", + "redox_users 0.4.6", + "winapi", ] [[package]] @@ -1433,26 +1676,20 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] -[[package]] -name = "distance" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9d8664cf849d7d0f3114a3a387d2f5e4303176d746d5a951aaddc66dfe9240" - [[package]] name = "doc-comment" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +checksum = "780955b8b195a21ab8e4ac6b60dd1dbdcec1dc6c51c0617964b08c81785e12c9" [[package]] name = "document-features" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" dependencies = [ "litrs", ] @@ -1465,232 +1702,212 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "dynasm" -version = "1.2.3" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" +checksum = "d36219658beb39702975c707dee7895943ca281ca46eebbc5ea395171b9c182b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.10.0", "byteorder", "lazy_static", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "dynasmrt" -version = "1.2.3" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64fba5a42bd76a17cad4bfa00de168ee1cbfa06a5e8ce992ae880218c05641a9" +checksum = "2bc32ed2a02b82bc43a7631dd624e8c5731a8377e40a468da28e62fc2e028952" dependencies = [ "byteorder", "dynasm", - "memmap2 0.5.10", -] - -[[package]] -name = "edge-schema" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183ddfb52c2441be9d8c3c870632135980ba98e0c4f688da11bcbebb4e26f128" -dependencies = [ - "anyhow", - "bytesize", - "once_cell", - "parking_lot 0.12.3", - "rand_chacha", - "rand_core", - "schemars", - "serde", - "serde_json", - "serde_path_to_error", - "serde_yaml 0.8.26", - "sparx", - "time 0.3.36", - "url", - "uuid", - "wcgi-host 0.1.2", -] - -[[package]] -name = "edge-schema" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0966f1fd49610cc67a835124e6fb4d00a36104e1aa34383c5ef5a265ca00ea2a" -dependencies = [ - "anyhow", - "bytesize", - "once_cell", - "parking_lot 0.12.3", - "rand_chacha", - "rand_core", - "schemars", - "serde", - "serde_json", - "serde_path_to_error", - "serde_yaml 0.8.26", - "sparx", - "time 0.3.36", - "url", - "uuid", - "wcgi-host 0.1.2", -] - -[[package]] -name = "edge-util" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60d06780ae676369e0a9ac2c75f7d1a6d22e157ef5b10cfeda0ee6a465cf7337" -dependencies = [ - "edge-schema 0.0.3", - "http 0.2.12", - "serde", - "wasmparser 0.121.2", + "fnv", + "memmap2 0.9.9", ] [[package]] name = "educe" -version = "0.4.23" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" +checksum = "e4bd92664bf78c4d3dba9b7cdafce6fa15b13ed3ed16175218196942e99168a8" dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "enum-iterator" -version = "0.7.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" +checksum = "a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "0.7.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" +checksum = "685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "enum-ordinalize" -version = "3.1.15" +version = "4.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" +checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ - "num-bigint", - "num-traits", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "enumset" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" +checksum = "25b07a8dfbbbfc0064c0a6bdf9edcf966de6b1c33ce344bdeca3b41615452634" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.10.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" +checksum = "f43e744e4ea338060faee68ed933e46e722fb7f3617e722a5772d7e856d8b3ce" dependencies = [ - "darling 0.20.10", + "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", +] + +[[package]] +name = "env_filter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" +dependencies = [ + "log", +] + +[[package]] +name = "env_home" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" + +[[package]] +name = "env_logger" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +dependencies = [ + "env_filter", + "log", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.3.31" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" dependencies = [ "serde", + "serde_core", + "typeid", ] [[package]] name = "errno" -version = "0.3.9" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] -name = "fallible-iterator" -version = "0.2.0" +name = "event-listener" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] [[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" +name = "event-listener-strategy" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] [[package]] -name = "fastrand" -version = "2.1.0" +name = "fallible-iterator" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] -name = "fern" -version = "0.6.2" +name = "fastrand" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" -dependencies = [ - "colored 1.9.4", - "log 0.4.22", -] +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "field-offset" @@ -1699,35 +1916,47 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" dependencies = [ "memoffset 0.9.1", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" + [[package]] name = "fixedbitset" -version = "0.4.2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + +[[package]] +name = "flagset" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" [[package]] name = "flate2" -version = "1.0.30" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" dependencies = [ "crc32fast", "miniz_oxide", + "zlib-rs", ] [[package]] @@ -1739,12 +1968,33 @@ dependencies = [ "num-traits", ] +[[package]] +name = "float-cmp" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" +dependencies = [ + "num-traits", +] + [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +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 = "foreign-types" version = "0.3.2" @@ -1762,65 +2012,33 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 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 = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags 1.3.2", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "fuse" -version = "0.3.1" +name = "fs-err" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e57070510966bfef93662a81cb8aa2b1c7db0964354fa9921434f04b9e8660" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" dependencies = [ - "libc", - "log 0.3.9", - "pkg-config", - "thread-scoped", - "time 0.1.45", + "autocfg", ] [[package]] -name = "futures" -version = "0.1.31" +name = "fs_extra" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -1833,9 +2051,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1843,15 +2061,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -1860,38 +2078,57 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-timer" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -1905,15 +2142,6 @@ dependencies = [ "slab", ] -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -1926,166 +2154,157 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.21" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" dependencies = [ "unicode-width", ] [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] -name = "ghost" -version = "0.1.17" +name = "getrandom" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e085ded9f1267c32176b40921b9754c474f7dd96f7e808d4a982e48aa1e854" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasip2", + "wasm-bindgen", ] [[package]] name = "gimli" -version = "0.26.2" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" dependencies = [ "fallible-iterator", - "indexmap 1.9.3", + "indexmap", "stable_deref_trait", ] [[package]] -name = "gimli" -version = "0.29.0" +name = "git-version" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "1ad568aa3db0fcbc81f2f116137f263d7304f512a1209b35b85150d3ef88ad19" +dependencies = [ + "git-version-macro", +] [[package]] -name = "glob" -version = "0.3.1" +name = "git-version-macro" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] [[package]] -name = "globset" -version = "0.4.14" +name = "glob" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -dependencies = [ - "aho-corasick", - "bstr 1.9.1", - "log 0.4.22", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", -] +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] -name = "graphql-introspection-query" -version = "0.2.0" +name = "globset" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2a4732cf5140bd6c082434494f785a19cfb566ab07d1382c3671f5812fed6d" +checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" dependencies = [ - "serde", + "aho-corasick", + "bstr 1.12.1", + "log", + "regex-automata 0.4.13", + "regex-syntax", ] [[package]] -name = "graphql-parser" -version = "0.4.0" +name = "goblin" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" +checksum = "1b363a30c165f666402fe6a3024d3bec7ebc898f96a4a23bd1c99f8dbf3f4f47" dependencies = [ - "combine", - "thiserror", + "log", + "plain", + "scroll", ] [[package]] name = "graphql-ws-client" -version = "0.8.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7802310624d21a55797a3bc442dbe405424e9b2c967f86fb415634976f9a97" +checksum = "a7c12b734aef65c081d988163f5a3b8991f4193c837aa5bfdcad96630e4f2385" dependencies = [ - "async-trait", - "futures 0.3.30", - "graphql_client", - "log 0.4.22", + "async-channel", + "cynic", + "futures-lite", + "futures-sink", + "futures-timer", + "log", "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 2.0.18", "tungstenite", ] [[package]] -name = "graphql_client" -version = "0.13.0" +name = "gumdrop" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cdf7b487d864c2939b23902291a5041bc4a84418268f25fda1c8d4e15ad8fa" +checksum = "5bc700f989d2f6f0248546222d9b4258f5b02a171a431f8285a81c08142629e3" dependencies = [ - "graphql_query_derive", - "serde", - "serde_json", + "gumdrop_derive", ] [[package]] -name = "graphql_client_codegen" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a40f793251171991c4eb75bd84bc640afa8b68ff6907bc89d3b712a22f700506" -dependencies = [ - "graphql-introspection-query", - "graphql-parser", - "heck 0.4.1", - "lazy_static", - "proc-macro2", - "quote", - "serde", - "serde_json", - "syn 1.0.109", -] - -[[package]] -name = "graphql_query_derive" -version = "0.13.0" +name = "gumdrop_derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00bda454f3d313f909298f626115092d348bc231025699f557b27e248475f48c" +checksum = "729f9bd3449d77e7831a18abfb7ba2f99ee813dfd15b8c2167c9a54ba20aa99d" dependencies = [ - "graphql_client_codegen", "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] -name = "gumdrop" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc700f989d2f6f0248546222d9b4258f5b02a171a431f8285a81c08142629e3" -dependencies = [ - "gumdrop_derive", -] - -[[package]] -name = "gumdrop_derive" -version = "0.8.1" +name = "h2" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729f9bd3449d77e7831a18abfb7ba2f99ee813dfd15b8c2167c9a54ba20aa99d" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", ] [[package]] @@ -2096,12 +2315,13 @@ checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" [[package]] name = "half" -version = "2.4.1" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crunchy", + "zerocopy", ] [[package]] @@ -2110,7 +2330,7 @@ version = "3.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" dependencies = [ - "log 0.4.22", + "log", "pest", "pest_derive", "quick-error", @@ -2126,60 +2346,69 @@ checksum = "a6fce2283849822530a18d7d8eeb1719ac65a27cfb6649c0dc8dfd2d2cc5edfb" [[package]] name = "hash32" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" dependencies = [ "byteorder", ] [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.8", -] +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "ahash 0.7.8", + "foldhash 0.1.5", ] [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ - "ahash 0.8.11", "allocator-api2", + "equivalent", + "foldhash 0.2.0", ] [[package]] -name = "hashlink" -version = "0.8.4" +name = "hdrhistogram" +version = "7.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" dependencies = [ - "hashbrown 0.14.5", + "base64 0.21.7", + "byteorder", + "flate2", + "nom 7.1.3", + "num-traits", ] [[package]] name = "heapless" -version = "0.7.17" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", +] + +[[package]] +name = "heapless" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af2455f757db2b292a9b1768c4b70186d443bcb3b316252d6b540aec1cd89ed" dependencies = [ - "atomic-polyfill", "hash32", - "rustc_version 0.4.0", - "spin", "stable_deref_trait", ] @@ -2206,9 +2435,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -2217,33 +2446,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "http" -version = "0.2.12" +name = "hexdump" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "cf31ab66ed8145a1c7427bd8e9b42a6131bd74ccf444f69b9e620c2e73ded832" dependencies = [ - "bytes 1.6.1", - "fnv", - "itoa", + "arrayvec 0.5.2", ] [[package]] name = "http" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ - "bytes 1.6.1", - "fnv", + "bytes", "itoa", ] @@ -2253,48 +2470,38 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ - "bytes 1.6.1", - "http 1.1.0", + "bytes", + "http", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ - "bytes 1.6.1", - "futures-util", - "http 1.1.0", + "bytes", + "futures-core", + "http", "http-body", "pin-project-lite", ] -[[package]] -name = "http-serde" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f560b665ad9f1572cfcaf034f7fb84338a7ce945216d64a90fd81f046a3caee" -dependencies = [ - "http 0.2.12", - "serde", -] - [[package]] name = "http-serde" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f056c8559e3757392c8d091e796416e4649d8e49e88b8d76df6c002f05027fd" dependencies = [ - "http 1.1.0", + "http", "serde", ] [[package]] name = "httparse" -version = "1.9.4" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -2304,46 +2511,70 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + +[[package]] +name = "hybrid-array" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "b41fb3dc24fe72c2e3a4685eed55917c2fb228851257f4a8f2d985da9443c3e5" +dependencies = [ + "typenum", +] [[package]] name = "hyper" -version = "1.4.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ - "bytes 1.6.1", + "atomic-waker", + "bytes", "futures-channel", - "futures-util", - "http 1.1.0", + "futures-core", + "h2", + "http", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", - "smallvec 1.13.2", - "tokio 1.38.1", + "pin-utils", + "smallvec", + "tokio", "want", ] [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", - "http 1.1.0", + "http", "hyper", "hyper-util", - "rustls 0.23.11", + "rustls", "rustls-pki-types", - "tokio 1.38.1", - "tokio-rustls 0.26.0", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots 1.0.5", +] + +[[package]] +name = "hyper-timeout" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" +dependencies = [ + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", "tower-service", - "webpki-roots", ] [[package]] @@ -2352,61 +2583,66 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ - "bytes 1.6.1", + "bytes", "http-body-util", "hyper", "hyper-util", "native-tls", - "tokio 1.38.1", + "tokio", "tokio-native-tls", "tower-service", ] [[package]] name = "hyper-tungstenite" -version = "0.13.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a343d17fe7885302ed7252767dc7bb83609a874b6ff581142241ec4b73957ad" +checksum = "bc778da281a749ed28d2be73a9f2cd13030680a1574bc729debd1195e44f00e9" dependencies = [ "http-body-util", "hyper", "hyper-util", "pin-project-lite", - "tokio 1.38.1", + "tokio", "tokio-tungstenite", "tungstenite", ] [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ - "bytes 1.6.1", + "base64 0.22.1", + "bytes", "futures-channel", + "futures-core", "futures-util", - "http 1.1.0", + "http", "http-body", "hyper", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", - "socket2 0.5.7", - "tokio 1.38.1", - "tower", + "socket2", + "tokio", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -2420,11 +2656,92 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + [[package]] name = "id-arena" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "ident_case" @@ -2434,36 +2751,36 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.2.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", ] [[package]] -name = "idna" -version = "0.5.0" +name = "idna_adapter" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] name = "ignore" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a" dependencies = [ - "crossbeam-deque 0.8.5", + "crossbeam-deque", "globset", - "log 0.4.22", + "log", "memchr", - "regex-automata 0.4.7", + "regex-automata 0.4.13", "same-file", "walkdir", "winapi-util", @@ -2471,69 +2788,58 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.2.6" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.16.1", "serde", + "serde_core", ] [[package]] name = "indicatif" -version = "0.17.8" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" dependencies = [ - "console", - "instant", - "number_prefix", + "console 0.16.2", "portable-atomic", "unicode-width", + "unit-prefix", + "web-time", ] [[package]] name = "inkwell" -version = "0.1.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbac11e485159a525867fb7e6aa61981453e6a72f625fde6a4ab3047b0c6dec9" +checksum = "1def4112dfb2ce2993db7027f7acdb43c1f4ee1c70a082a2eef306ed5d0df365" dependencies = [ - "either", "inkwell_internals", "libc", "llvm-sys", "once_cell", - "parking_lot 0.12.3", + "thiserror 2.0.18", ] [[package]] name = "inkwell_internals" -version = "0.7.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87d00c17e264ce02be5bc23d7bff959188ec7137beddd06b8b6b05a7c680ea85" +checksum = "63736175c9a30ea123f7018de9f26163e0b39cd6978990ae486b510c4f3bad69" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "inline-c" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "340dd3d6102fa919bd20987024a6d84954c36ec691ac1efea37742ee983c8dd5" +checksum = "ced39871c8d450695c9ddf7999e06da4c05ba3135aba2407837b3e20a3bb6aa0" dependencies = [ "assert_cmd 1.0.8", "cc", @@ -2548,44 +2854,27 @@ dependencies = [ [[package]] name = "inline-c-macro" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f5621ec7adacda881d7c2826c064f5c29c72fd44333f97df61b458a583ae15" +checksum = "d9b2cedf6123f450eadb06a82fdcafc6d492af3ac9256afcb954ca307d6339da" dependencies = [ "proc-macro2", "quote", "rustc_version 0.3.3", ] -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array", -] - [[package]] name = "insta" -version = "1.39.0" +version = "1.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5" +checksum = "248b42847813a1550dafd15296fd9748c651d0c32194559dbc05d804d54b21e8" dependencies = [ - "console", - "lazy_static", - "linked-hash-map", + "console 0.15.11", + "once_cell", + "regex", "serde", "similar", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if 1.0.0", + "tempfile", ] [[package]] @@ -2594,7 +2883,7 @@ version = "0.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb6250a98af259a26fd5a4a6081fccea9ac116e4c3178acf4aeb86d32d2b7715" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "cc", "handlebars", "lazy_static", @@ -2606,45 +2895,43 @@ dependencies = [ [[package]] name = "inventory" -version = "0.2.3" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84344c6e0b90a9e2b6f3f9abe5cc74402684e348df7b32adca28747e0cef091a" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" dependencies = [ - "ctor", - "ghost", + "rustversion", ] [[package]] -name = "iovec" -version = "0.1.4" +name = "ipnet" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] -name = "ipnet" -version = "2.9.0" +name = "iprange" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "37209be0ad225457e63814401415e748e2453a5297f9b637338f5fb8afa4ec00" +dependencies = [ + "ipnet", +] [[package]] -name = "is-terminal" -version = "0.4.12" +name = "iri-string" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.52.0", + "memchr", + "serde", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -2657,54 +2944,55 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.1" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" dependencies = [ + "once_cell", "wasm-bindgen", ] -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "lalrpop-util" -version = "0.20.2" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +checksum = "b5baa5e9ff84f1aefd264e6869907646538a52147a755d494517a8007fb48733" dependencies = [ - "regex-automata 0.4.7", + "rustversion", ] [[package]] @@ -2720,17 +3008,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] -name = "lexical-core" -version = "0.7.6" +name = "leb128fmt" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" -dependencies = [ - "arrayvec 0.5.2", - "bitflags 1.3.2", - "cfg-if 1.0.0", - "ryu", - "static_assertions", -] +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "lexical-sort" @@ -2743,42 +3024,53 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.155" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libfuzzer-sys" -version = "0.4.7" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7" +checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" dependencies = [ "arbitrary", "cc", - "once_cell", ] [[package]] -name = "libredox" -version = "0.1.3" +name = "libloading" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ - "bitflags 2.6.0", - "libc", + "cfg-if", + "windows-link", ] [[package]] -name = "libsqlite3-sys" -version = "0.25.2" +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ - "cc", - "pkg-config", - "vcpkg", + "bitflags 2.10.0", + "libc", + "redox_syscall 0.7.0", ] +[[package]] +name = "libunwind" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6639b70a7ce854b79c70d7e83f16b5dc0137cc914f3d7d03803b513ecc67ac" + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2787,157 +3079,193 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linked_hash_set" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +checksum = "984fb35d06508d1e69fc91050cceba9c0b748f983e6739fa2c7a9237154c52c8" dependencies = [ "linked-hash-map", ] [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litemap" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "litrs" -version = "0.4.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "llvm-sys" -version = "150.2.0" +version = "211.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6891afbe90a8be244f769dfe1db0b3c4880b8c44b12a6d0f7ab848d89b26d" +checksum = "108b3ad2b2eaf2a561fc74196273b20e3436e4a688b8b44e250d83974dc1b2e2" dependencies = [ + "anyhow", "cc", "lazy_static", "libc", - "regex", - "semver 1.0.23", -] - -[[package]] -name = "lock_api" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" -dependencies = [ - "scopeguard", + "regex-lite", + "semver 1.0.27", ] [[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", ] -[[package]] -name = "lockfree-object-pool" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" - -[[package]] -name = "log" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -dependencies = [ - "log 0.4.22", -] - [[package]] name = "log" -version = "0.4.22" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "logos" -version = "0.14.0" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161971eb88a0da7ae0c333e1063467c5b5727e7fb6b710b8db4814eade3a42e8" +checksum = "7251356ef8cb7aec833ddf598c6cb24d17b689d20b993f9d11a3d764e34e6458" dependencies = [ "logos-derive", ] [[package]] name = "logos-codegen" -version = "0.14.0" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e31badd9de5131fdf4921f6473d457e3dd85b11b7f091ceb50e4df7c3eeb12a" +checksum = "59f80069600c0d66734f5ff52cc42f2dabd6b29d205f333d61fd7832e9e9963f" dependencies = [ "beef", "fnv", "lazy_static", "proc-macro2", "quote", - "regex-syntax 0.8.4", - "syn 2.0.72", + "regex-syntax", + "syn 2.0.114", ] [[package]] name = "logos-derive" -version = "0.14.0" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2a69b3eb68d5bd595107c9ee58d7e07fe2bb5e360cc85b0f084dedac80de0a" +checksum = "24fb722b06a9dc12adb0963ed585f19fc61dc5413e6a9be9422ef92c091e731d" dependencies = [ "logos-codegen", ] +[[package]] +name = "loupe" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4de4e09ccbef442225e81339e930ed93dc339d4f1b2eaf479f89590ebeb9bf13" +dependencies = [ + "indexmap", + "loupe-derive", + "rustversion", +] + +[[package]] +name = "loupe-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8362a975c18ea799abfcb1902140370acd73d239f8c2f74d6e2c5f6a30929f" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "lz4_flex" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +checksum = "ab6473172471198271ff72e9379150e9dfd70d8e533e0752a27e515b48dd375e" dependencies = [ "twox-hash", ] [[package]] name = "lzma-rs" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aba8ecb0450dfabce4ad72085eed0a75dffe8f21f7ada05638564ea9db2d7fb1" +checksum = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" dependencies = [ "byteorder", "crc", ] +[[package]] +name = "lzma-sys" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "mac_address" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" +checksum = "c0aeb26bf5e836cc1c341c8106051b573f1766dfa05aa87f0b98be5e51b02303" dependencies = [ - "nix 0.28.0", - "winapi 0.3.9", + "nix 0.29.0", + "winapi", ] [[package]] name = "mach2" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" dependencies = [ "libc", ] +[[package]] +name = "mach2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" + +[[package]] +name = "macho-unwind-info" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb4bdc8b0ce69932332cf76d24af69c3a155242af95c226b2ab6c2e371ed1149" +dependencies = [ + "thiserror 2.0.18", + "zerocopy", + "zerocopy-derive", +] + [[package]] name = "macro-wasmer-universal-test" -version = "4.3.7" +version = "7.0.0" dependencies = [ "proc-macro2", - "proc-quote", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] @@ -2948,45 +3276,30 @@ checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d" [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata 0.4.13", ] [[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "maybe-uninit" -version = "2.0.0" +name = "matchit" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "md5" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" +checksum = "ae960838283323069879657ca3de837e9f7bbb4c7bf6ea7f1b290d5e9476d2e0" [[package]] name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.5.10" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "memmap2" @@ -2998,12 +3311,12 @@ dependencies = [ ] [[package]] -name = "memoffset" -version = "0.5.6" +name = "memmap2" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" dependencies = [ - "autocfg", + "libc", ] [[package]] @@ -3051,122 +3364,95 @@ dependencies = [ ] [[package]] -name = "minisign" -version = "0.7.6" +name = "minicov" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4225fad231f4cfb67990de1750bb53f10ff1d5b42b91beb2a49e6ebd36c9ab4a" +checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d" dependencies = [ - "getrandom", - "rpassword", - "scrypt", + "cc", + "walkdir", ] [[package]] -name = "miniz_oxide" -version = "0.7.4" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] -name = "mio" -version = "0.6.23" +name = "miniz_oxide" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", - "libc", - "log 0.4.22", - "miow 0.2.2", - "net2", - "slab", - "winapi 0.2.8", + "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "0.8.11" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", - "log 0.4.22", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "log", + "wasi", + "windows-sys 0.61.2", ] [[package]] -name = "mio-uds" -version = "0.6.8" +name = "miow" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" +checksum = "536bfad37a309d62069485248eeaba1e8d9853aaf951caaeaed0585a95346f08" dependencies = [ - "iovec", - "libc", - "mio 0.6.23", + "windows-sys 0.61.2", ] [[package]] -name = "miow" -version = "0.2.2" +name = "more-asserts" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] +checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" [[package]] -name = "miow" -version = "0.3.7" +name = "munge" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +checksum = "5e17401f259eba956ca16491461b6e8f72913a0a114e39736ce404410f915a0c" dependencies = [ - "winapi 0.3.9", + "munge_macro", ] [[package]] -name = "more-asserts" -version = "0.2.2" +name = "munge_macro" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" +checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ "libc", - "log 0.4.22", + "log", "openssl", - "openssl-probe", + "openssl-probe 0.1.6", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] -[[package]] -name = "net2" -version = "0.2.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - [[package]] name = "nix" version = "0.26.4" @@ -3174,7 +3460,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", - "cfg-if 1.0.0", + "cfg-if", "libc", "memoffset 0.7.1", "pin-utils", @@ -3182,12 +3468,12 @@ dependencies = [ [[package]] name = "nix" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.6.0", - "cfg-if 1.0.0", + "bitflags 2.10.0", + "cfg-if", "cfg_aliases", "libc", "memoffset 0.9.1", @@ -3199,11 +3485,20 @@ version = "5.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" dependencies = [ - "lexical-core", "memchr", "version_check", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -3212,47 +3507,27 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "normpath" -version = "1.1.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" +checksum = "bf23ab2b905654b4cb177e30b629937b3868311d4e1cba859f899c041046e69b" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi 0.3.9", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "num-integer", - "num-traits", + "windows-sys 0.61.2", ] [[package]] name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-traits" @@ -3261,13 +3536,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ "hermit-abi", "libc", @@ -3275,113 +3551,86 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "object" -version = "0.28.4" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] [[package]] name = "object" -version = "0.29.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" dependencies = [ "crc32fast", - "hashbrown 0.12.3", - "indexmap 1.9.3", - "memchr", -] - -[[package]] -name = "object" -version = "0.30.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" -dependencies = [ - "flate2", - "memchr", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ "flate2", + "hashbrown 0.16.1", + "indexmap", "memchr", "ruzstd", ] [[package]] -name = "object" -version = "0.36.1" +name = "once_cell" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" -dependencies = [ - "memchr", -] +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] -name = "once_cell" -version = "1.19.0" +name = "once_cell_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "oorandom" -version = "11.1.4" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "opener" -version = "0.6.1" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788" +checksum = "a2fa337e0cf13357c13ef1dc108df1333eb192f75fc170bea03fcf1fd404c2ee" dependencies = [ - "bstr 1.9.1", + "bstr 1.12.1", "normpath", - "winapi 0.3.9", + "windows-sys 0.61.2", ] [[package]] name = "openssl" -version = "0.10.66" +version = "0.10.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ - "bitflags 2.6.0", - "cfg-if 1.0.0", + "bitflags 2.10.0", + "cfg-if", "foreign-types", "libc", "once_cell", @@ -3397,20 +3646,26 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "openssl-probe" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", @@ -3418,11 +3673,17 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "ouroboros" -version = "0.18.4" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "944fa20996a25aded6b4795c6d63f10014a7a83f8be9828a11860b08c5fc4a67" +checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59" dependencies = [ "aliasable", "ouroboros_macro", @@ -3431,71 +3692,54 @@ dependencies = [ [[package]] name = "ouroboros_macro" -version = "0.18.4" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39b0deead1528fd0e5947a8546a9642a9777c25f6e1e26f34c97b204bbb465bd" +checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" dependencies = [ "heck 0.4.1", - "itertools 0.12.1", "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] -name = "overload" -version = "0.1.1" +name = "page_size" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] [[package]] -name = "parking_lot" -version = "0.9.0" +name = "parking" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.6.3", - "rustc_version 0.2.3", -] +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api 0.4.12", - "parking_lot_core 0.9.10", -] - -[[package]] -name = "parking_lot_core" -version = "0.6.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "rustc_version 0.2.3", - "smallvec 0.6.14", - "winapi 0.3.9", + "lock_api", + "parking_lot_core", ] [[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 1.0.0", + "cfg-if", "libc", - "redox_syscall 0.5.3", - "smallvec 1.13.2", - "windows-targets 0.52.6", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", ] [[package]] @@ -3512,42 +3756,31 @@ checksum = "17359afc20d7ab31fdb42bb844c8b3bb1dabd7dcf7e68428492da7f16966fcef" [[package]] name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "pbkdf2" -version = "0.12.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest", - "hmac", -] +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.7.11" +version = "2.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7" dependencies = [ "memchr", - "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed" dependencies = [ "pest", "pest_generator", @@ -3555,63 +3788,107 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365" dependencies = [ - "once_cell", "pest", - "sha2", + "sha2 0.10.9", ] [[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.2.6", + "hashbrown 0.15.5", + "indexmap", + "serde", +] + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros", + "phf_shared", + "serde", +] + +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher 1.0.2", ] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -3621,15 +3898,30 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plain" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "portable-atomic" -version = "1.7.0" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + +[[package]] +name = "potential_utf" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] [[package]] name = "powerfmt" @@ -3639,9 +3931,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" @@ -3650,7 +3945,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", - "float-cmp", + "float-cmp 0.9.0", "itertools 0.10.5", "normalize-line-endings", "predicates-core", @@ -3659,13 +3954,13 @@ dependencies = [ [[package]] name = "predicates" -version = "3.1.0" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ "anstyle", "difflib", - "float-cmp", + "float-cmp 0.10.0", "normalize-line-endings", "predicates-core", "regex", @@ -3673,15 +3968,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" dependencies = [ "predicates-core", "termtree", @@ -3689,59 +3984,60 @@ dependencies = [ [[package]] name = "pretty_assertions" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ "diff", - "yansi 0.5.1", + "yansi", ] [[package]] -name = "proc-macro-crate" -version = "1.3.1" +name = "prettyplease" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "proc-macro2", + "syn 2.0.114", ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "proc-macro-crate" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", + "toml_edit", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ "proc-macro2", "quote", - "version_check", ] [[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.114", +] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -3754,53 +4050,61 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", "version_check", - "yansi 1.0.1", + "yansi", ] [[package]] -name = "proc-quote" -version = "0.4.0" +name = "prost" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e84ab161de78c915302ca325a19bee6df272800e2ae1a43fe3ef430bab2a100" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ - "proc-macro-hack", - "proc-macro2", - "proc-quote-impl", - "quote", - "syn 1.0.109", + "bytes", + "prost-derive", ] [[package]] -name = "proc-quote-impl" -version = "0.3.2" +name = "prost-derive" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb3ec628b063cdbcf316e06a8b8c1a541d28fa6c0a8eacd2bfb2b7f49e88aa0" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ - "proc-macro-hack", + "anyhow", + "itertools 0.14.0", "proc-macro2", "quote", + "syn 2.0.114", +] + +[[package]] +name = "prost-types" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" +dependencies = [ + "prost", ] [[package]] name = "ptr_meta" -version = "0.1.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +checksum = "0b9a0cf95a1196af61d4f1cbdab967179516d9a4a4312af1f31948f8f6224a79" dependencies = [ "ptr_meta_derive", ] [[package]] name = "ptr_meta_derive" -version = "0.1.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] @@ -3814,6 +4118,28 @@ dependencies = [ "unicase", ] +[[package]] +name = "pulley-interpreter" +version = "41.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5893776f2df13ad218c2055c8e1ec299f4d2d2270f73d2c67fc047da81feff12" +dependencies = [ + "cranelift-bitset", + "log", + "pulley-macros", +] + +[[package]] +name = "pulley-macros" +version = "41.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af6fe011ea26b0b2c308918c6a1d11d44f688eb89d2ac0420b91340c495b4a90" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + [[package]] name = "quick-error" version = "2.0.1" @@ -3822,64 +4148,82 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quinn" -version = "0.11.2" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ - "bytes 1.6.1", + "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.11", - "thiserror", - "tokio 1.38.1", + "rustls", + "socket2", + "thiserror 2.0.18", + "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.3" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ - "bytes 1.6.1", - "rand", + "bytes", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.2", "ring", "rustc-hash", - "rustls 0.23.11", + "rustls", + "rustls-pki-types", "slab", - "thiserror", + "thiserror 2.0.18", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.4" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ + "cfg_aliases", "libc", "once_cell", - "socket2 0.5.7", - "windows-sys 0.52.0", + "socket2", + "tracing", + "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] [[package]] -name = "radium" -version = "0.7.0" +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rancor" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "a063ea72381527c2a0561da9c80000ef822bdd7c3241b1cc1b12100e3df081ee" +dependencies = [ + "ptr_meta", +] [[package]] name = "rand" @@ -3888,8 +4232,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", ] [[package]] @@ -3899,7 +4253,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", ] [[package]] @@ -3908,14 +4272,29 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", ] +[[package]] +name = "rangemap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68" + [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -3923,91 +4302,98 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ - "crossbeam-deque 0.8.5", - "crossbeam-utils 0.8.20", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] name = "redox_syscall" -version = "0.1.57" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.10.0", +] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.10.0", ] [[package]] -name = "redox_syscall" -version = "0.5.3" +name = "redox_users" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "bitflags 2.6.0", + "getrandom 0.2.17", + "libredox", + "thiserror 1.0.69", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom", + "getrandom 0.2.17", "libredox", - "thiserror", + "thiserror 2.0.18", ] [[package]] name = "ref-cast" -version = "1.0.23" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.23" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "regalloc2" -version = "0.5.1" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300d4fbfb40c1c66a78ba3ddd41c1110247cf52f97b87d0f2fc9209bd49b030c" +checksum = "08effbc1fa53aaebff69521a5c05640523fab037b34a4a2c109506bc938246fa" dependencies = [ - "fxhash", - "log 0.4.22", - "slice-group-by", - "smallvec 1.13.2", + "allocator-api2", + "bumpalo", + "hashbrown 0.15.5", + "log", + "rustc-hash", + "smallvec", ] [[package]] name = "regex" -version = "1.10.5" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.13", + "regex-syntax", ] [[package]] @@ -4015,32 +4401,29 @@ name = "regex-automata" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax", ] [[package]] -name = "regex-syntax" -version = "0.6.29" +name = "regex-lite" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +checksum = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "region" @@ -4050,204 +4433,151 @@ checksum = "e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7" dependencies = [ "bitflags 1.3.2", "libc", - "mach2", + "mach2 0.4.3", "windows-sys 0.52.0", ] [[package]] name = "rend" -version = "0.4.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +checksum = "cadadef317c2f20755a64d7fdc48f9e7178ee6b0e1f7fce33fa60f1d68a276e6" dependencies = [ "bytecheck", ] [[package]] name = "replace_with" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a8614ee435691de62bcffcf4a66d91b3594bf1428a5722e79103249a095690" +checksum = "51743d3e274e2b18df81c4dc6caf8a5b8e15dbe799e0dca05c7617380094e884" [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "async-compression", "base64 0.22.1", - "bytes 1.6.1", + "bytes", "futures-channel", "futures-core", "futures-util", - "http 1.1.0", + "http", "http-body", "http-body-util", "hyper", "hyper-rustls", "hyper-tls", "hyper-util", - "ipnet", "js-sys", - "log 0.4.22", - "mime", + "log", "mime_guess", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.11", - "rustls-pemfile", + "rustls", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "tokio 1.38.1", + "tokio", "tokio-native-tls", - "tokio-rustls 0.26.0", - "tokio-socks", + "tokio-rustls", "tokio-util", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots", - "winreg", + "webpki-roots 1.0.5", ] [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", - "cfg-if 1.0.0", - "getrandom", + "cfg-if", + "getrandom 0.2.17", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] [[package]] name = "rkyv" -version = "0.7.44" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" +checksum = "360b333c61ae24e5af3ae7c8660bd6b21ccd8200dbbc5d33c2454421e85b9c69" dependencies = [ - "bitvec", "bytecheck", - "bytes 1.6.1", - "hashbrown 0.12.3", - "indexmap 1.9.3", + "bytes", + "hashbrown 0.16.1", + "indexmap", + "munge", "ptr_meta", + "rancor", "rend", "rkyv_derive", - "seahash", "tinyvec", "uuid", ] [[package]] name = "rkyv_derive" -version = "0.7.44" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" +checksum = "7c02f8cdd12b307ab69fe0acf4cd2249c7460eb89dce64a0febadf934ebb6a9e" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "rmp" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" dependencies = [ - "byteorder", "num-traits", - "paste", ] [[package]] name = "rmp-serde" -version = "0.15.5" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723ecff9ad04f4ad92fe1c8ca6c20d2196d9286e9c60727c4cb5511629260e9d" +checksum = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155" dependencies = [ - "byteorder", "rmp", "serde", ] [[package]] name = "roff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316" - -[[package]] -name = "rpassword" -version = "7.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.48.0", -] - -[[package]] -name = "rtoolbox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "rusqlite" -version = "0.28.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a" -dependencies = [ - "bitflags 1.3.2", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "smallvec 1.13.2", -] +checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc_version" -version = "0.2.3" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -4260,45 +4590,46 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.27", ] [[package]] name = "rustfix" -version = "0.5.1" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c50b74badcddeb8f7652fa8323ce440b95286f8e4b64ebfd871c609672704e" +checksum = "82fa69b198d894d84e23afde8e9ab2af4400b2cba20d6bf2b428a8b01c222c5a" dependencies = [ - "anyhow", - "log 0.4.22", "serde", "serde_json", + "thiserror 1.0.69", + "tracing", ] [[package]] name = "rustix" -version = "0.38.34" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.22.4" +version = "0.23.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" dependencies = [ - "log 0.4.22", + "log", + "once_cell", "ring", "rustls-pki-types", "rustls-webpki", @@ -4307,54 +4638,32 @@ dependencies = [ ] [[package]] -name = "rustls" -version = "0.23.11" +name = "rustls-native-certs" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4828ea528154ae444e5a642dbb7d5623354030dc9822b83fd9bb79683c7399d0" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ - "log 0.4.22", - "once_cell", - "ring", + "openssl-probe 0.2.1", "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", + "schannel", + "security-framework 3.5.1", ] [[package]] -name = "rustls-native-certs" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "rustls-pki-types", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "2.1.2" +name = "rustls-pki-types" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ - "base64 0.22.1", - "rustls-pki-types", + "web-time", + "zeroize", ] -[[package]] -name = "rustls-pki-types" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" - [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.103.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" dependencies = [ "ring", "rustls-pki-types", @@ -4363,9 +4672,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty_jsc" @@ -4404,7 +4713,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ed36cdb20de66d89a17ea04b8883fc7a386f2cf877aaedca5005583ce4876ff" dependencies = [ "crossbeam-channel", - "futures 0.3.30", + "futures", "futures-channel", "futures-executor", "num_cpus", @@ -4412,28 +4721,27 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.5.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" +checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" dependencies = [ - "byteorder", - "derive_more", "twox-hash", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" [[package]] -name = "salsa20" -version = "0.10.2" +name = "saffron" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +checksum = "03fb9a628596fc7590eb7edbf7b0613287be78df107f5f97b118aad59fb2eea9" dependencies = [ - "cipher", + "chrono", + "nom 5.1.3", ] [[package]] @@ -4445,53 +4753,51 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scc" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" +dependencies = [ + "sdd", +] + [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "schemars" -version = "0.8.21" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" dependencies = [ "dyn-clone", + "indexmap", + "ref-cast", "schemars_derive", "serde", "serde_json", "url", - "uuid", ] [[package]] name = "schemars_derive" -version = "0.8.21" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +checksum = "4908ad288c5035a8eb12cfdf0d49270def0a268ee162b75eeee0f85d155a7c45" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.72", + "syn 2.0.114", ] -[[package]] -name = "scoped-tls" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - [[package]] name = "scopeguard" version = "1.2.0" @@ -4499,21 +4805,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "scrypt" -version = "0.11.0" +name = "scroll" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" +checksum = "6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6" dependencies = [ - "pbkdf2", - "salsa20", - "sha2", + "scroll_derive", ] [[package]] -name = "seahash" -version = "4.1.0" +name = "scroll_derive" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1783eabc414609e28a5ba76aee5ddd52199f7107a0b24c2e9746a1ecc34a683d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "sdd" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" [[package]] name = "security-framework" @@ -4521,37 +4836,41 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", - "core-foundation", + "bitflags 2.10.0", + "core-foundation 0.9.4", "core-foundation-sys", "libc", "security-framework-sys", ] [[package]] -name = "security-framework-sys" -version = "2.11.1" +name = "security-framework" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ + "bitflags 2.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "libc", + "security-framework-sys", ] [[package]] -name = "self_cell" -version = "1.0.4" +name = "security-framework-sys" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] -name = "semver" -version = "0.9.0" +name = "self_cell" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] +checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" [[package]] name = "semver" @@ -4559,47 +4878,43 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ - "semver-parser 0.10.2", + "semver-parser", ] [[package]] name = "semver" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] [[package]] name = "serde" -version = "1.0.204" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] [[package]] name = "serde-wasm-bindgen" -version = "0.4.5" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" dependencies = [ "js-sys", "serde", @@ -4608,11 +4923,12 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.15" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -4625,15 +4941,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.204" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] @@ -4644,37 +4969,40 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", - "ryu", + "memchr", "serde", + "serde_core", + "zmij", ] [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -4689,25 +5017,13 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_yaml" -version = "0.8.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" -dependencies = [ - "indexmap 1.9.3", - "ryu", - "serde", - "yaml-rust", -] - [[package]] name = "serde_yaml" version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.6", + "indexmap", "itoa", "ryu", "serde", @@ -4716,27 +5032,25 @@ dependencies = [ [[package]] name = "serial_test" -version = "2.0.0" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" +checksum = "0d0b343e184fc3b7bb44dff0705fffcf4b3756ba6aff420dddd8b24ca145e555" dependencies = [ - "dashmap 5.5.3", - "futures 0.3.30", - "lazy_static", - "log 0.4.22", - "parking_lot 0.12.3", + "once_cell", + "parking_lot", + "scc", "serial_test_derive", ] [[package]] name = "serial_test_derive" -version = "2.0.0" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" +checksum = "6f50427f258fb77356e4cd4aa0e87e2bd2c66dbcee41dc405282cae2bfc26c83" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] @@ -4745,20 +5059,31 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", ] [[package]] name = "sha2" -version = "0.10.8" +version = "0.11.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "7535f94fa3339fe9e5e9be6260a909e62af97f6e14b32345ccf79b92b8b81233" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest", + "digest 0.11.0-rc.9", ] [[package]] @@ -4776,111 +5101,102 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6c99835bad52957e7aa241d3975ed17c1e5f8c92026377d117a606f36b84b16" dependencies = [ - "bytes 1.6.1", + "bytes", "memmap2 0.6.2", ] [[package]] name = "shell-words" -version = "1.1.0" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77" + +[[package]] +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simdutf8" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "similar" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" [[package]] -name = "slab" -version = "0.4.9" +name = "siphasher" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "slice-group-by" -version = "0.3.1" +name = "siphasher" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] -name = "smallvec" -version = "0.6.14" +name = "slab" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" -dependencies = [ - "maybe-uninit", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "smawk" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "smoltcp" -version = "0.8.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee34c1e1bfc7e9206cc0fb8030a90129b4e319ab53856249bb27642cab914fb3" +checksum = "dad095989c1533c1c266d9b1e8d70a1329dd3723c3edac6d03bbd67e7bf6f4bb" dependencies = [ "bitflags 1.3.2", "byteorder", + "cfg-if", + "defmt 0.3.100", + "heapless 0.8.0", "managed", ] [[package]] name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "socket2" -version = "0.5.7" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" dependencies = [ "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "sparx" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2257c28eacecfc38c658124ed239e7ecfc9b89082c0794b0672420b63b84c6" -dependencies = [ - "byteorder", + "windows-sys 0.60.2", ] [[package]] @@ -4888,15 +5204,12 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api 0.4.12", -] [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -4916,25 +5229,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.72", -] - [[package]] name = "subtle" version = "2.6.1" @@ -4954,9 +5248,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" dependencies = [ "proc-macro2", "quote", @@ -4965,21 +5259,29 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] -name = "tap" -version = "1.0.1" +name = "synstructure" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] [[package]] name = "tar" -version = "0.4.41" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" dependencies = [ "filetime", "libc", @@ -4994,20 +5296,27 @@ checksum = "422045212ea98508ae3d28025bc5aaa2bd4a9cdaecd442a08da2ee620ee9ea95" [[package]] name = "target-lexicon" -version = "0.12.15" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" +checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba" + +[[package]] +name = "target-triple" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "591ef38edfb78ca4771ee32cf494cb8771944bee237a9b91fc9c1424ac4b777b" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" dependencies = [ - "cfg-if 1.0.0", "fastrand", + "getrandom 0.3.4", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -5018,7 +5327,7 @@ checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" dependencies = [ "dirs-next", "rustversion", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5032,12 +5341,12 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.3.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ "rustix", - "windows-sys 0.48.0", + "windows-sys 0.60.2", ] [[package]] @@ -5051,23 +5360,23 @@ dependencies = [ [[package]] name = "termtree" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "test-generator" version = "0.1.0" dependencies = [ "anyhow", - "target-lexicon 0.12.15", + "target-lexicon 0.13.4", ] [[package]] name = "test-log" -version = "0.2.16" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" +checksum = "37d53ac171c92a39e4769491c4b4dde7022c60042254b5fc044ae409d34a24d4" dependencies = [ "test-log-macros", "tracing-subscriber", @@ -5075,13 +5384,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "be35209fd0781c5401458ab66e4f98accf63553e8fae7425503e92fdd319783b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] @@ -5090,91 +5399,112 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89e8bf7e0eb2dd7b4228cc1b6821fc5114cd6841ae59f652a85488c016091e5f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "getopts", "libc", "num_cpus", "term", ] +[[package]] +name = "textwrap" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" +dependencies = [ + "smawk", +] + [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", ] [[package]] -name = "thiserror-impl" -version = "1.0.63" +name = "thiserror" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", + "thiserror-impl 2.0.18", ] [[package]] -name = "thread-scoped" -version = "1.0.2" +name = "thiserror-impl" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcbb6aa301e5d3b0b5ef639c9a9c7e2f1c944f177b460c04dc24c69b1fa2bd99" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] [[package]] -name = "thread_local" -version = "1.1.8" +name = "thiserror-impl" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ - "cfg-if 1.0.0", - "once_cell", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] -name = "time" -version = "0.1.45" +name = "thread_local" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", + "cfg-if", ] [[package]] name = "time" -version = "0.3.36" +version = "0.3.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" dependencies = [ "deranged", "itoa", "num-conv", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" dependencies = [ "num-conv", "time-core", ] +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinytemplate" version = "1.2.1" @@ -5187,9 +5517,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -5200,143 +5530,33 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" -[[package]] -name = "tldextract" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec03259a0567ad58eed30812bc3e5eda8030f154abc70317ab57b14f00699ca4" -dependencies = [ - "idna 0.2.3", - "log 0.4.22", - "regex", - "serde_json", - "thiserror", - "url", -] - -[[package]] -name = "tokio" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "mio 0.6.23", - "num_cpus", - "tokio-codec", - "tokio-current-thread", - "tokio-executor", - "tokio-fs", - "tokio-io", - "tokio-reactor", - "tokio-sync", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer", - "tokio-udp", - "tokio-uds", -] - [[package]] name = "tokio" -version = "1.38.1" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", - "bytes 1.6.1", + "bytes", "libc", - "mio 0.8.11", - "num_cpus", + "mio", + "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2", "tokio-macros", - "windows-sys 0.48.0", + "tracing", + "windows-sys 0.61.2", ] [[package]] -name = "tokio-codec" -version = "0.1.2" +name = "tokio-macros" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "tokio-io", -] - -[[package]] -name = "tokio-core" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87b1395334443abca552f63d4f61d0486f12377c2ba8b368e523f89e828cffd4" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "log 0.4.22", - "mio 0.6.23", - "scoped-tls 0.1.2", - "tokio 0.1.22", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-timer", -] - -[[package]] -name = "tokio-current-thread" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" -dependencies = [ - "futures 0.1.31", - "tokio-executor", -] - -[[package]] -name = "tokio-executor" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", -] - -[[package]] -name = "tokio-fs" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" -dependencies = [ - "futures 0.1.31", - "tokio-io", - "tokio-threadpool", -] - -[[package]] -name = "tokio-io" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "log 0.4.22", -] - -[[package]] -name = "tokio-macros" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] @@ -5346,58 +5566,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ "native-tls", - "tokio 1.38.1", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "lazy_static", - "log 0.4.22", - "mio 0.6.23", - "num_cpus", - "parking_lot 0.9.0", - "slab", - "tokio-executor", - "tokio-io", - "tokio-sync", + "tokio", ] [[package]] name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls 0.22.4", - "rustls-pki-types", - "tokio 1.38.1", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.0" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "rustls 0.23.11", - "rustls-pki-types", - "tokio 1.38.1", + "rustls", + "tokio", ] [[package]] name = "tokio-serde" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" +checksum = "caf600e7036b17782571dd44fa0a5cea3c82f60db5137f774a325a76a0d6852b" dependencies = [ - "bincode", - "bytes 1.6.1", + "bincode 1.3.3", + "bytes", "educe", "futures-core", "futures-sink", @@ -5408,212 +5597,153 @@ dependencies = [ "serde_json", ] -[[package]] -name = "tokio-socks" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0" -dependencies = [ - "either", - "futures-util", - "thiserror", - "tokio 1.38.1", -] - [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", - "tokio 1.38.1", + "tokio", "tokio-util", ] -[[package]] -name = "tokio-sync" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" -dependencies = [ - "fnv", - "futures 0.1.31", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "mio 0.6.23", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-threadpool" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" -dependencies = [ - "crossbeam-deque 0.7.4", - "crossbeam-queue 0.2.3", - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "lazy_static", - "log 0.4.22", - "num_cpus", - "slab", - "tokio-executor", -] - -[[package]] -name = "tokio-timer" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" -dependencies = [ - "crossbeam-utils 0.7.2", - "futures 0.1.31", - "slab", - "tokio-executor", -] - [[package]] name = "tokio-tungstenite" -version = "0.21.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" +checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" dependencies = [ "futures-util", - "log 0.4.22", - "rustls 0.22.4", + "log", + "rustls", "rustls-native-certs", "rustls-pki-types", - "tokio 1.38.1", - "tokio-rustls 0.25.0", + "tokio", + "tokio-rustls", "tungstenite", - "webpki-roots", + "webpki-roots 0.26.11", ] [[package]] -name = "tokio-udp" -version = "0.1.6" +name = "tokio-util" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "log 0.4.22", - "mio 0.6.23", - "tokio-codec", - "tokio-io", - "tokio-reactor", + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", ] [[package]] -name = "tokio-uds" -version = "0.2.7" +name = "toml" +version = "0.9.11+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" +checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "libc", - "log 0.4.22", - "mio 0.6.23", - "mio-uds", - "tokio-codec", - "tokio-io", - "tokio-reactor", + "indexmap", + "serde_core", + "serde_spanned", + "toml_datetime", + "toml_parser", + "toml_writer", + "winnow", ] [[package]] -name = "tokio-util" -version = "0.7.11" +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ - "bytes 1.6.1", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio 1.38.1", + "serde_core", ] [[package]] -name = "toml" -version = "0.5.11" +name = "toml_edit" +version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ - "indexmap 1.9.3", - "serde", + "indexmap", + "toml_datetime", + "toml_parser", + "winnow", ] [[package]] -name = "toml" -version = "0.8.15" +name = "toml_parser" +version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" +checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.16", + "winnow", ] [[package]] -name = "toml_datetime" -version = "0.6.6" +name = "toml_writer" +version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" -dependencies = [ - "serde", -] +checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" [[package]] -name = "toml_edit" -version = "0.19.15" +name = "tonic" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", + "async-trait", + "axum", + "base64 0.22.1", + "bytes", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "socket2", + "sync_wrapper", + "tokio", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", ] [[package]] -name = "toml_edit" -version = "0.22.16" +name = "tonic-prost" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" +checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" dependencies = [ - "indexmap 2.2.6", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.15", + "bytes", + "prost", + "tonic", ] [[package]] name = "tower" -version = "0.4.13" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "pin-project", + "indexmap", "pin-project-lite", - "tokio 1.38.1", + "slab", + "sync_wrapper", + "tokio", + "tokio-util", "tower-layer", "tower-service", "tracing", @@ -5621,17 +5751,22 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.5.2" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "bitflags 2.6.0", - "bytes 1.6.1", + "async-compression", + "bitflags 2.10.0", + "bytes", + "futures-core", "futures-util", - "http 1.1.0", + "http", "http-body", "http-body-util", + "iri-string", "pin-project-lite", + "tokio", + "tokio-util", "tower", "tower-layer", "tower-service", @@ -5640,23 +5775,23 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ - "log 0.4.22", + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -5664,20 +5799,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -5689,16 +5824,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "log 0.4.22", + "log", "once_cell", "tracing-core", ] [[package]] name = "tracing-serde" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" dependencies = [ "serde", "tracing-core", @@ -5706,18 +5841,18 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata 0.4.13", "serde", "serde_json", "sharded-slab", - "smallvec 1.13.2", + "smallvec", "thread_local", "tracing", "tracing-core", @@ -5743,7 +5878,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.72", + "syn 2.0.114", ] [[package]] @@ -5765,73 +5900,67 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.97" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b1e5645f2ee8025c2f1d75e1138f2dd034d74e6ba54620f3c569ba2a2a1ea06" +checksum = "3e17e807bff86d2a06b52bca4276746584a78375055b6e45843925ce2802b335" dependencies = [ "glob", "serde", "serde_derive", "serde_json", + "target-triple", "termcolor", - "toml 0.8.15", -] - -[[package]] -name = "tun-tap" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a477a4e9367c72ac875d23cd07ac99ffa932497d8428767fed0cfa27bbabe50" -dependencies = [ - "cc", - "futures 0.1.31", - "libc", - "mio 0.6.23", - "tokio-core", + "toml", ] [[package]] name = "tungstenite" -version = "0.21.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ - "byteorder", - "bytes 1.6.1", + "bytes", "data-encoding", - "http 1.1.0", + "http", "httparse", - "log 0.4.22", - "rand", - "rustls 0.22.4", + "log", + "rand 0.9.2", + "rustls", "rustls-pki-types", "sha1", - "thiserror", - "url", + "thiserror 2.0.18", "utf-8", ] [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if 1.0.0", - "static_assertions", -] +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" + +[[package]] +name = "typed-path" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3015e6ce46d5ad8751e4a772543a30c7511468070e98e64e20165f8f81155b64" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "typetag" -version = "0.1.8" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4080564c5b2241b5bff53ab610082234e0c57b0417f4bd10596f183001505b8a" +checksum = "be2212c8a9b9bcfca32024de14998494cf9a5dfa59ea1b829de98bac374b86bf" dependencies = [ "erased-serde", "inventory", @@ -5842,84 +5971,203 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.1.8" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e60147782cc30833c05fba3bab1d9b5771b2685a2557672ac96fa5d154099c0e" +checksum = "27a7a9b72ba121f6f1f6c3632b85604cac41aedb5ddc70accbebb6cac83de846" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.114", ] [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] -name = "unix_mode" -version = "0.1.4" +name = "uniffi" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55eedc365f81a3c32aea49baf23fa965e3cd85bcc28fb8045708c7388d124ef" +checksum = "c866f627c3f04c3df068b68bb2d725492caaa539dd313e2a9d26bb85b1a32f4e" +dependencies = [ + "anyhow", + "cargo_metadata 0.19.2", + "uniffi_bindgen", + "uniffi_build", + "uniffi_core", + "uniffi_macros", + "uniffi_pipeline", +] [[package]] -name = "unreachable" -version = "1.0.0" +name = "uniffi_bindgen" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c8ca600167641ebe7c8ba9254af40492dda3397c528cc3b2f511bd23e8541a5" +dependencies = [ + "anyhow", + "askama", + "camino", + "cargo_metadata 0.19.2", + "fs-err", + "glob", + "goblin", + "heck 0.5.0", + "indexmap", + "once_cell", + "serde", + "tempfile", + "textwrap", + "toml", + "uniffi_internal_macros", + "uniffi_meta", + "uniffi_pipeline", + "uniffi_udl", +] + +[[package]] +name = "uniffi_build" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e55c05228f4858bb258f651d21d743fcc1fe5a2ec20d3c0f9daefddb105ee4d" +dependencies = [ + "anyhow", + "camino", + "uniffi_bindgen", +] + +[[package]] +name = "uniffi_core" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e7a5a038ebffe8f4cf91416b154ef3c2468b18e828b7009e01b1b99938089f9" +dependencies = [ + "anyhow", + "bytes", + "once_cell", + "static_assertions", +] + +[[package]] +name = "uniffi_internal_macros" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c2a6f93e7b73726e2015696ece25ca0ac5a5f1cf8d6a7ab5214dd0a01d2edf" +dependencies = [ + "anyhow", + "indexmap", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "uniffi_macros" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c6309fc36c7992afc03bc0c5b059c656bccbef3f2a4bc362980017f8936141" +dependencies = [ + "camino", + "fs-err", + "once_cell", + "proc-macro2", + "quote", + "serde", + "syn 2.0.114", + "toml", + "uniffi_meta", +] + +[[package]] +name = "uniffi_meta" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +checksum = "0a138823392dba19b0aa494872689f97d0ee157de5852e2bec157ce6de9cdc22" dependencies = [ - "void", + "anyhow", + "siphasher 0.3.11", + "uniffi_internal_macros", + "uniffi_pipeline", +] + +[[package]] +name = "uniffi_pipeline" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c27c4b515d25f8e53cc918e238c39a79c3144a40eaf2e51c4a7958973422c29" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap", + "tempfile", + "uniffi_internal_macros", ] +[[package]] +name = "uniffi_udl" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0adacdd848aeed7af4f5af7d2f621d5e82531325d405e29463482becfdeafca" +dependencies = [ + "anyhow", + "textwrap", + "uniffi_meta", + "weedle2", +] + +[[package]] +name = "unit-prefix" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" + +[[package]] +name = "unix_mode" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55eedc365f81a3c32aea49baf23fa965e3cd85bcc28fb8045708c7388d124ef" + [[package]] name = "unsafe-libyaml" version = "0.2.11" @@ -5932,32 +6180,52 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +[[package]] +name = "unty" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" + [[package]] name = "ureq" -version = "2.10.0" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72139d247e5f97a3eff96229a7ae85ead5328a39efe76f8bf5a06313d505b6ea" +checksum = "d39cb1dbab692d82a977c0392ffac19e188bd9186a9f32806f0aaa859d75585a" dependencies = [ "base64 0.22.1", "flate2", - "log 0.4.22", - "once_cell", - "rustls 0.23.11", + "log", + "percent-encoding", + "rustls", "rustls-pki-types", - "url", - "webpki-roots", + "ureq-proto", + "utf-8", + "webpki-roots 1.0.5", +] + +[[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.2" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -5972,6 +6240,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -5980,19 +6254,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" dependencies = [ - "getrandom", - "serde", + "getrandom 0.3.4", + "js-sys", + "wasm-bindgen", ] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -6002,26 +6277,25 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "virtual-fs" -version = "0.16.0" +version = "0.700.0" dependencies = [ "anyhow", "async-trait", - "bytes 1.6.1", - "dashmap 6.0.1", - "derivative", + "bytes", + "dashmap", + "derive_more", "dunce", "filetime", "fs_extra", - "futures 0.3.30", - "getrandom", - "indexmap 1.9.3", - "lazy_static", + "futures", + "getrandom 0.2.17", + "indexmap", "libc", "pin-project-lite", "pretty_assertions", @@ -6030,54 +6304,59 @@ dependencies = [ "shared-buffer", "slab", "tempfile", - "thiserror", - "tokio 1.38.1", + "thiserror 2.0.18", + "tokio", "tracing", "tracing-test", "typetag", + "virtual-mio", + "wasmer-package", + "web-time", "webc", ] [[package]] name = "virtual-mio" -version = "0.3.1" +version = "0.700.0" dependencies = [ "async-trait", - "bytes 1.6.1", - "derivative", - "futures 0.3.30", - "mio 0.8.11", + "bytes", + "futures", + "mio", + "parking", "serde", - "socket2 0.4.10", - "thiserror", + "socket2", + "thiserror 2.0.18", "tracing", ] [[package]] name = "virtual-net" -version = "0.8.0" +version = "0.700.0" dependencies = [ "anyhow", "async-trait", - "base64 0.21.7", - "bincode", + "base64 0.22.1", + "bincode 2.0.1", "bytecheck", - "bytes 1.6.1", - "derivative", + "bytes", + "derive_more", "futures-util", "hyper", "hyper-tungstenite", "hyper-util", + "ipnet", + "iprange", "libc", - "mio 0.8.11", + "mio", "pin-project-lite", "rkyv", "serde", "serial_test", "smoltcp", - "socket2 0.4.10", - "thiserror", - "tokio 1.38.1", + "socket2", + "thiserror 2.0.18", + "tokio", "tokio-serde", "tokio-tungstenite", "tokio-util", @@ -6087,10 +6366,10 @@ dependencies = [ ] [[package]] -name = "void" -version = "1.0.2" +name = "virtue" +version = "0.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1" [[package]] name = "wai-bindgen-gen-core" @@ -6158,13 +6437,13 @@ dependencies = [ [[package]] name = "wai-bindgen-wasmer" -version = "0.27.0" +version = "0.700.0" dependencies = [ "anyhow", "async-trait", - "bitflags 1.3.2", + "bitflags 2.10.0", "once_cell", - "thiserror", + "thiserror 2.0.18", "tracing", "wai-bindgen-wasmer-impl", "wasmer", @@ -6197,9 +6476,9 @@ dependencies = [ [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -6231,76 +6510,63 @@ dependencies = [ [[package]] name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi-test-generator" -version = "4.3.7" +version = "7.0.0" dependencies = [ "glob", "gumdrop", "serde", "serde_json", "tempfile", - "wast 24.0.0", + "wast", ] [[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen-macro", + "wit-bindgen", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" +name = "wasm-bindgen" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" dependencies = [ - "bumpalo", - "log 0.4.22", + "cfg-if", "once_cell", - "proc-macro2", - "quote", - "syn 2.0.72", + "rustversion", + "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", + "futures-util", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6308,53 +6574,70 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.72", - "wasm-bindgen-backend", + "syn 2.0.114", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-bindgen-test" -version = "0.3.42" +version = "0.3.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bf62a58e0780af3e852044583deee40983e5886da43a271dd772379987667b" +checksum = "45649196a53b0b7a15101d845d44d2dda7374fc1b5b5e2bbf58b7577ff4b346d" dependencies = [ - "console_error_panic_hook", + "async-trait", + "cast", "js-sys", - "scoped-tls 1.0.1", + "libm", + "minicov", + "nu-ansi-term", + "num-traits", + "oorandom", + "serde", + "serde_json", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test-macro", + "wasm-bindgen-test-shared", ] [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.42" +version = "0.3.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f89739351a2e03cb94beb799d47fb2cac01759b40ec441f7de39b00cbf7ef0" +checksum = "f579cdd0123ac74b94e1a4a72bd963cf30ebac343f2df347da0b8df24cdebed2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", ] +[[package]] +name = "wasm-bindgen-test-shared" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8145dd1593bf0fb137dbfa85b8be79ec560a447298955877804640e40c2d6ea" + [[package]] name = "wasm-coredump-builder" -version = "0.1.22" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ca262b320e4530a60946ba16a1cbf987d3f7d4aa6a953bfcc96e179e3e7458" +checksum = "f1ece55555d4aab72d06f5ea7c871d46ac13b5fe6bcce0b4be8eec16728ddab0" dependencies = [ "wasm-coredump-encoder", "wasm-coredump-types", @@ -6363,9 +6646,9 @@ dependencies = [ [[package]] name = "wasm-coredump-encoder" -version = "0.1.22" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f36ccfe604720ce093fce7d7b0d609c086c646ec4bb9bba58cb9f4dc2c5623" +checksum = "03b53a32667c9a1384e4046c005dc8f3ea93f3319ca558fca85b00ce7d43d871" dependencies = [ "leb128", "wasm-coredump-types", @@ -6373,18 +6656,9 @@ dependencies = [ [[package]] name = "wasm-coredump-types" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2763d9807903c461b41275a13489396d04695d7bc365743b8ea430cfd72f336" - -[[package]] -name = "wasm-encoder" -version = "0.4.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b4949d4f2b25a4b208317dcf86aacef9e7a5884e48dfc45d4aeb91808d6f86" -dependencies = [ - "leb128", -] +checksum = "67579a25309b5b9a805ec24fd6a8f5414293ae4adcda16970fa20b2f7c81fb79" [[package]] name = "wasm-encoder" @@ -6397,30 +6671,31 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.32.0" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba64e81215916eaeb48fee292f29401d69235d62d8b8fd92a7b2844ec5ae5f7" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" dependencies = [ - "leb128", + "leb128fmt", + "wasmparser 0.244.0", ] [[package]] name = "wasm-smith" -version = "0.4.5" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e95fdeed16adeffed44efdc7ccf27d4f57ff2e99de417c75bcee7dee09049b" +checksum = "c8f72462e1ee97c48da6f599c7e47064dbab12bfee7b4fad278de4973ba72fd8" dependencies = [ + "anyhow", "arbitrary", - "indexmap 1.9.3", - "leb128", - "wasm-encoder 0.4.1", + "flagset", + "wasm-encoder 0.244.0", ] [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -6431,26 +6706,35 @@ dependencies = [ [[package]] name = "wasmer" -version = "4.3.7" +version = "7.0.0" dependencies = [ "anyhow", - "bytes 1.6.1", - "cfg-if 1.0.0", - "derivative", - "hashbrown 0.11.2", - "indexmap 1.9.3", + "bindgen", + "bytes", + "cfg-if", + "cmake", + "corosensei", + "derive_more", + "futures", + "hashbrown 0.16.1", + "indexmap", "js-sys", + "loupe", "macro-wasmer-universal-test", "more-asserts", + "paste", "rustc-demangle", "rusty_jsc", "serde", "serde-wasm-bindgen", "shared-buffer", - "target-lexicon 0.12.15", + "tar", + "target-lexicon 0.13.4", "tempfile", - "thiserror", + "thiserror 2.0.18", + "tokio", "tracing", + "ureq", "wasm-bindgen", "wasm-bindgen-test", "wasmer-compiler", @@ -6460,59 +6744,66 @@ dependencies = [ "wasmer-derive", "wasmer-types", "wasmer-vm", - "wasmparser 0.121.2", + "wasmi_c_api_impl", + "wasmparser 0.244.0", "wat", - "windows-sys 0.59.0", + "which", + "windows-sys 0.61.2", + "xz", + "zip", ] [[package]] -name = "wasmer-api" -version = "0.0.34" +name = "wasmer-argus" +version = "7.0.0" dependencies = [ "anyhow", - "base64 0.13.1", + "async-trait", + "clap", "cynic", - "edge-schema 0.1.0", - "futures 0.3.30", - "getrandom", - "harsh", - "merge-streams", - "pin-project-lite", + "derive_more", + "futures", + "indicatif", + "log", "reqwest", "serde", "serde_json", - "serde_path_to_error", - "time 0.3.36", - "tokio 1.38.1", + "shared-buffer", + "tokio", "tracing", + "tracing-subscriber", "url", - "uuid", - "wasmer-config 0.8.0", + "wasmer", + "wasmer-backend-api", "webc", ] [[package]] -name = "wasmer-argus" -version = "4.3.7" +name = "wasmer-backend-api" +version = "0.700.0" dependencies = [ "anyhow", - "async-trait", - "clap", + "async-tungstenite", + "base64 0.22.1", "cynic", - "derive_more", - "futures 0.3.30", - "indicatif", - "log 0.4.22", + "futures", + "getrandom 0.2.17", + "graphql-ws-client", + "harsh", + "merge-streams", + "pin-project-lite", "reqwest", "serde", "serde_json", - "shared-buffer", - "tokio 1.38.1", + "serde_path_to_error", + "time", + "tokio", + "tokio-tungstenite", "tracing", - "tracing-subscriber", "url", - "wasmer", - "wasmer-api", + "uuid", + "wasmer-config", + "wasmer-package", "webc", ] @@ -6534,18 +6825,17 @@ dependencies = [ [[package]] name = "wasmer-c-api" -version = "4.3.7" +version = "7.0.0" dependencies = [ "cbindgen", - "cfg-if 1.0.0", + "cfg-if", "enumset", "field-offset", "inline-c", - "lazy_static", "libc", "paste", - "thiserror", - "tokio 1.38.1", + "thiserror 2.0.18", + "tokio", "tracing", "tracing-subscriber", "typetag", @@ -6555,7 +6845,6 @@ dependencies = [ "wasmer-compiler-cranelift", "wasmer-compiler-llvm", "wasmer-compiler-singlepass", - "wasmer-emscripten", "wasmer-inline-c", "wasmer-middlewares", "wasmer-types", @@ -6565,17 +6854,17 @@ dependencies = [ [[package]] name = "wasmer-c-api-test-runner" -version = "4.3.7" +version = "7.0.0" dependencies = [ "cc", "regex", - "target-lexicon 0.11.2", + "target-lexicon 0.13.4", "walkdir", ] [[package]] name = "wasmer-cache" -version = "4.3.7" +version = "7.0.0" dependencies = [ "blake3", "clap", @@ -6584,95 +6873,93 @@ dependencies = [ "clap_lex", "criterion", "hex", - "rand", + "rand 0.9.2", "tempfile", - "thiserror", + "thiserror 2.0.18", "wasmer", "wasmer-compiler-singlepass", ] [[package]] name = "wasmer-capi-examples-runner" -version = "4.3.7" +version = "7.0.0" dependencies = [ "cc", "regex", - "target-lexicon 0.11.2", + "target-lexicon 0.13.4", "walkdir", ] [[package]] name = "wasmer-cli" -version = "4.3.7" +version = "7.0.0" dependencies = [ "anyhow", - "assert_cmd 2.0.14", + "assert_cmd 2.1.2", "async-trait", - "bytes 1.6.1", + "base64 0.22.1", + "bytes", "bytesize", - "cargo_metadata", - "cfg-if 1.0.0", + "cargo_metadata 0.23.1", + "cfg-if", "chrono", "clap", "clap_complete", "clap_mangen", - "colored 2.1.0", + "colored", "comfy-table", - "console", + "console 0.16.2", + "console-subscriber", "dialoguer", "dirs", "dotenvy", - "edge-schema 0.1.0", - "edge-util", "flate2", - "fuse", - "futures 0.3.30", + "futures", "futures-util", + "git-version", "hex", - "http 1.1.0", + "http", "http-body-util", "humantime", "hyper", "hyper-util", - "indexmap 1.9.3", + "indexmap", "indicatif", "interfaces", - "is-terminal", - "lazy_static", + "itertools 0.14.0", "libc", - "log 0.4.22", + "log", + "lzma-rs", "mac_address", - "mio 0.8.11", + "mio", "normpath", - "object 0.32.2", + "object 0.38.1", "once_cell", "opener", - "parking_lot 0.12.3", + "parking_lot", + "path-clean", "pathdiff", - "predicates 3.1.0", + "predicates 3.1.3", "pretty_assertions", "regex", "reqwest", "rkyv", - "semver 1.0.23", + "semver 1.0.27", "serde", "serde_json", - "serde_yaml 0.9.34+deprecated", - "sha2", + "serde_yaml", + "sha2 0.11.0-rc.4", "shared-buffer", "tar", - "target-lexicon 0.12.15", + "target-lexicon 0.13.4", "tempfile", - "thiserror", - "time 0.1.45", - "time 0.3.36", - "tldextract", - "tokio 1.38.1", + "thiserror 2.0.18", + "time", + "tokio", "tokio-tungstenite", - "toml 0.5.11", + "toml", "tracing", "tracing-subscriber", - "tun-tap", "unix_mode", "url", "uuid", @@ -6682,15 +6969,14 @@ dependencies = [ "walkdir", "wasm-coredump-builder", "wasmer", - "wasmer-api", + "wasmer-backend-api", "wasmer-compiler", "wasmer-compiler-cranelift", "wasmer-compiler-llvm", "wasmer-compiler-singlepass", - "wasmer-config 0.8.0", - "wasmer-emscripten", - "wasmer-object", - "wasmer-registry", + "wasmer-config", + "wasmer-package", + "wasmer-sdk", "wasmer-types", "wasmer-vm", "wasmer-wasix", @@ -6701,70 +6987,56 @@ dependencies = [ [[package]] name = "wasmer-compiler" -version = "4.3.7" +version = "7.0.0" dependencies = [ "backtrace", - "bytes 1.6.1", - "cfg-if 1.0.0", + "bytes", + "cfg-if", "enum-iterator", "enumset", - "hashbrown 0.11.2", - "lazy_static", + "hashbrown 0.16.1", + "itertools 0.14.0", "leb128", "libc", - "memmap2 0.5.10", + "loupe", + "macho-unwind-info", + "memmap2 0.9.9", "more-asserts", + "object 0.38.1", + "rangemap", "region", "rkyv", "self_cell", "serde", "serde_bytes", "shared-buffer", - "smallvec 1.13.2", - "thiserror", - "wasmer-object", + "smallvec", + "target-lexicon 0.13.4", + "tempfile", + "thiserror 2.0.18", "wasmer-types", "wasmer-vm", - "wasmparser 0.121.2", - "windows-sys 0.59.0", - "xxhash-rust", -] - -[[package]] -name = "wasmer-compiler-cli" -version = "4.3.7" -dependencies = [ - "anyhow", - "bytesize", - "cfg-if 1.0.0", - "clap", - "colored 2.1.0", - "distance", - "fern", - "is-terminal", - "log 0.4.22", - "target-lexicon 0.12.15", - "unix_mode", - "wasmer-compiler", - "wasmer-compiler-cranelift", - "wasmer-compiler-singlepass", - "wasmer-types", + "wasmparser 0.244.0", + "which", + "windows-sys 0.61.2", ] [[package]] name = "wasmer-compiler-cranelift" -version = "4.3.7" +version = "7.0.0" dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "gimli 0.26.2", - "hashbrown 0.11.2", - "lazy_static", + "gimli", + "hashbrown 0.16.1", + "indexmap", + "itertools 0.14.0", + "leb128", "more-asserts", "rayon", - "smallvec 1.13.2", - "target-lexicon 0.12.15", + "smallvec", + "target-lexicon 0.13.4", "tracing", "wasmer-compiler", "wasmer-types", @@ -6772,21 +7044,22 @@ dependencies = [ [[package]] name = "wasmer-compiler-llvm" -version = "4.3.7" +version = "7.0.0" dependencies = [ "byteorder", "cc", "inkwell", - "itertools 0.10.5", - "lazy_static", + "itertools 0.14.0", "libc", - "object 0.28.4", + "object 0.38.1", + "phf", "rayon", "regex", - "rustc_version 0.4.0", - "semver 1.0.23", - "smallvec 1.13.2", - "target-lexicon 0.12.15", + "rustc_version 0.4.1", + "semver 1.0.27", + "smallvec", + "target-lexicon 0.13.4", + "tracing", "wasmer-compiler", "wasmer-types", "wasmer-vm", @@ -6794,90 +7067,56 @@ dependencies = [ [[package]] name = "wasmer-compiler-singlepass" -version = "4.3.7" +version = "7.0.0" dependencies = [ "byteorder", "dynasm", "dynasmrt", "enumset", - "gimli 0.26.2", - "hashbrown 0.11.2", - "lazy_static", + "gimli", + "hashbrown 0.16.1", + "itertools 0.14.0", "more-asserts", "rayon", - "smallvec 1.13.2", - "target-lexicon 0.12.15", + "smallvec", + "target-lexicon 0.13.4", + "tempfile", "wasmer-compiler", "wasmer-types", ] [[package]] name = "wasmer-config" -version = "0.8.0" +version = "0.700.0" dependencies = [ "anyhow", "bytesize", "ciborium", "derive_builder", "hex", - "indexmap 2.2.6", + "indexmap", "pretty_assertions", + "saffron", "schemars", - "semver 1.0.23", + "semver 1.0.27", "serde", "serde_json", - "serde_yaml 0.9.34+deprecated", + "serde_yaml", "tempfile", - "thiserror", - "toml 0.8.15", - "url", -] - -[[package]] -name = "wasmer-config" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644b7e3547bd7e796d92220f60bf57734914254c6cee56607e80177a3e8a28da" -dependencies = [ - "anyhow", - "bytesize", - "ciborium", - "derive_builder", - "hex", - "indexmap 2.2.6", - "schemars", - "semver 1.0.23", - "serde", - "serde_json", - "serde_yaml 0.9.34+deprecated", - "thiserror", - "toml 0.8.15", + "thiserror 2.0.18", + "toml", "url", ] [[package]] name = "wasmer-derive" -version = "4.3.7" +version = "7.0.0" dependencies = [ "compiletest_rs", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 1.0.109", - "wasmer-types", -] - -[[package]] -name = "wasmer-emscripten" -version = "4.3.7" -dependencies = [ - "byteorder", - "getrandom", - "lazy_static", - "libc", - "log 0.4.22", - "time 0.3.36", - "wasmer", + "syn 2.0.114", "wasmer-types", ] @@ -6911,48 +7150,46 @@ dependencies = [ [[package]] name = "wasmer-integration-tests-cli" -version = "4.3.7" +version = "7.0.0" dependencies = [ "anyhow", - "assert_cmd 2.0.14", - "derivative", + "assert_cmd 2.1.2", "dirs", "flate2", - "futures 0.3.30", + "futures", "hex", "insta", "libc", "md5", - "object 0.30.4", + "object 0.38.1", "once_cell", - "predicates 2.1.5", + "predicates 3.1.3", "pretty_assertions", - "rand", + "rand 0.9.2", "regex", "reqwest", "serde", "tar", - "target-lexicon 0.12.15", + "target-lexicon 0.13.4", "tempfile", - "tokio 1.38.1", - "wasmer-registry", + "tokio", ] [[package]] name = "wasmer-integration-tests-ios" -version = "4.3.7" +version = "7.0.0" [[package]] name = "wasmer-journal" -version = "0.9.0" +version = "0.700.0" dependencies = [ "anyhow", "async-trait", - "base64 0.21.7", - "bincode", + "base64 0.22.1", + "bincode 2.0.1", "bytecheck", - "bytes 1.6.1", - "derivative", + "bytes", + "derive_more", "lz4_flex", "num_enum", "rkyv", @@ -6960,18 +7197,19 @@ dependencies = [ "serde_json", "shared-buffer", "tempfile", - "thiserror", + "thiserror 2.0.18", "tracing", "tracing-test", "virtual-fs", "virtual-net", "wasmer", + "wasmer-config", "wasmer-wasix-types", ] [[package]] name = "wasmer-middlewares" -version = "4.3.7" +version = "7.0.0" dependencies = [ "wasmer", "wasmer-types", @@ -6979,66 +7217,81 @@ dependencies = [ ] [[package]] -name = "wasmer-object" -version = "4.3.7" +name = "wasmer-package" +version = "0.700.0" dependencies = [ - "object 0.29.0", - "thiserror", + "anyhow", + "bytes", + "cfg-if", + "ciborium", + "flate2", + "hexdump", + "ignore", + "insta", + "libc", + "pretty_assertions", + "regex", + "semver 1.0.27", + "serde", + "serde_json", + "sha2 0.11.0-rc.4", + "shared-buffer", + "tar", + "tempfile", + "thiserror 2.0.18", + "toml", + "ureq", + "url", + "wasmer-config", "wasmer-types", + "webc", ] [[package]] -name = "wasmer-registry" -version = "5.19.0" +name = "wasmer-sdk" +version = "7.0.0" dependencies = [ "anyhow", - "async-tungstenite", - "clap", - "console", - "dialoguer", - "dirs", - "filetime", - "flate2", - "futures 0.3.30", + "bytes", + "bytesize", "futures-util", - "graphql-ws-client", - "graphql_client", - "hex", - "indexmap 1.9.3", - "indicatif", - "lazy_static", - "log 0.4.22", - "lzma-rs", - "minisign", - "pretty_assertions", - "rand", - "regex", + "ignore", + "rand 0.9.2", "reqwest", - "rpassword", - "rusqlite", - "semver 1.0.23", + "semver 1.0.27", "serde", - "serde_json", - "tar", + "serde_yaml", + "sha2 0.11.0-rc.4", "tempfile", - "thiserror", - "time 0.3.36", - "tldextract", - "tokio 1.38.1", - "tokio-tungstenite", - "toml 0.5.11", + "thiserror 2.0.18", + "tokio", + "toml", "tracing", "url", - "wasmer-config 0.8.0", - "wasmer-wasm-interface", - "wasmparser 0.121.2", + "walkdir", + "wasmer-backend-api", + "wasmer-config", + "wasmer-package", + "zip", +] + +[[package]] +name = "wasmer-swift" +version = "0.700.0" +dependencies = [ + "thiserror 2.0.18", + "tokio", + "uniffi", + "virtual-fs", + "wasmer", + "wasmer-package", + "wasmer-wasix", "webc", - "whoami", ] [[package]] name = "wasmer-sys-utils" -version = "0.27.0" +version = "0.700.0" dependencies = [ "libc", "region", @@ -7052,82 +7305,91 @@ dependencies = [ [[package]] name = "wasmer-types" -version = "4.3.7" +version = "7.0.0" dependencies = [ "bytecheck", "enum-iterator", "enumset", - "getrandom", + "getrandom 0.2.17", "hex", - "indexmap 1.9.3", + "indexmap", + "loupe", "memoffset 0.9.1", "more-asserts", "rkyv", "serde", "serde_bytes", - "sha2", - "target-lexicon 0.12.15", - "thiserror", - "xxhash-rust", + "sha2 0.11.0-rc.4", + "target-lexicon 0.13.4", + "thiserror 2.0.18", + "wasmparser 0.244.0", ] [[package]] name = "wasmer-vm" -version = "4.3.7" +version = "7.0.0" dependencies = [ "backtrace", "cc", - "cfg-if 1.0.0", + "cfg-if", "corosensei", - "crossbeam-queue 0.3.11", - "dashmap 6.0.1", - "derivative", + "crossbeam-queue", + "dashmap", "enum-iterator", "fnv", - "indexmap 1.9.3", - "lazy_static", + "gimli", + "indexmap", "libc", - "mach2", + "libunwind", + "loupe", + "mach2 0.6.0", "memoffset 0.9.1", "more-asserts", + "parking_lot", "region", + "rustversion", "scopeguard", "serde", - "thiserror", + "thiserror 2.0.18", "tracing", "wasmer-types", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "wasmer-wasix" -version = "0.27.0" +version = "0.700.0" dependencies = [ - "ahash 0.8.11", "anyhow", + "assert-panic", "async-trait", - "base64 0.21.7", - "bincode", + "base64 0.22.1", + "bincode 2.0.1", "blake3", + "bus", "bytecheck", - "bytes 1.6.1", - "cfg-if 1.0.0", + "bytes", + "cfg-if", "chrono", + "ciborium", "cooked-waker", - "dashmap 6.0.1", - "derivative", - "futures 0.3.30", - "getrandom", - "heapless", + "crossbeam-channel", + "dashmap", + "derive_more", + "env_logger", + "flate2", + "futures", + "getrandom 0.2.17", + "heapless 0.9.2", "hex", - "http 1.1.0", + "http", "http-body-util", "hyper", "hyper-util", "js-sys", - "lazy_static", "libc", "linked_hash_set", + "log", "lz4_flex", "num_enum", "once_cell", @@ -7135,25 +7397,25 @@ dependencies = [ "pin-project", "pin-utils", "pretty_assertions", - "rand", + "rand 0.8.5", "rayon", "reqwest", "rkyv", "rusty_pool", - "semver 1.0.23", + "semver 1.0.27", "serde", "serde_derive", "serde_json", - "serde_yaml 0.9.34+deprecated", - "sha2", + "serde_yaml", + "sha2 0.11.0-rc.4", "shared-buffer", "tempfile", "terminal_size", "termios", - "thiserror", - "tokio 1.38.1", + "thiserror 2.0.18", + "tokio", "tokio-stream", - "toml 0.8.15", + "toml", "tower", "tower-http", "tracing", @@ -7170,33 +7432,36 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test", + "wasm-encoder 0.244.0", "wasmer", - "wasmer-config 0.8.0", - "wasmer-emscripten", + "wasmer-config", "wasmer-journal", + "wasmer-package", "wasmer-types", "wasmer-wasix-types", - "wcgi 0.2.0", - "wcgi-host 0.2.0", + "wasmparser 0.244.0", + "wcgi", + "wcgi-host", "web-sys", "webc", "weezl", - "windows-sys 0.59.0", + "windows-sys 0.61.2", "xxhash-rust", + "zstd", ] [[package]] name = "wasmer-wasix-types" -version = "0.27.0" +version = "0.700.0" dependencies = [ "anyhow", - "bitflags 1.3.2", + "bitflags 2.10.0", "byteorder", - "cfg-if 1.0.0", + "cfg-if", "num_enum", "pretty_assertions", "serde", - "time 0.3.36", + "time", "tracing", "wai-bindgen-gen-core", "wai-bindgen-gen-rust", @@ -7208,68 +7473,56 @@ dependencies = [ "wasmer-types", ] -[[package]] -name = "wasmer-wasm-interface" -version = "4.3.7" -dependencies = [ - "bincode", - "either", - "nom", - "serde", - "wasmparser 0.121.2", - "wat", -] - [[package]] name = "wasmer-wast" -version = "4.3.7" +version = "7.0.0" dependencies = [ "anyhow", - "futures 0.3.30", + "fs_extra", + "futures", "serde", "tempfile", - "thiserror", - "tokio 1.38.1", + "thiserror 2.0.18", + "tokio", "virtual-fs", "wasmer", "wasmer-types", "wasmer-wasix", - "wast 38.0.1", + "wast", ] [[package]] name = "wasmer-workspace" -version = "4.3.7" +version = "7.0.0" dependencies = [ "anyhow", "build-deps", - "cfg-if 1.0.0", + "cfg-if", "clap", "clap_builder", "clap_derive", "clap_lex", "compiler-test-derive", "criterion", - "crossbeam-queue 0.3.11", + "crossbeam-queue", "glob", - "lazy_static", - "rustc_version 0.4.0", + "itertools 0.14.0", + "reqwest", + "rustc_version 0.4.1", "serial_test", "tempfile", "test-generator", "test-log", - "tokio 1.38.1", + "tokio", "tracing", "tracing-subscriber", "ureq", - "wasi-test-generator", "wasmer", "wasmer-cache", "wasmer-compiler", "wasmer-compiler-cranelift", "wasmer-compiler-llvm", "wasmer-compiler-singlepass", - "wasmer-emscripten", "wasmer-middlewares", "wasmer-types", "wasmer-wasix", @@ -7277,96 +7530,132 @@ dependencies = [ ] [[package]] -name = "wasmparser" -version = "0.95.0" +name = "wasmi" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75c97bf74a48796b57fdfe35c00a9fe05410f0f1f8ccfe38591e382a0060a6fd" +dependencies = [ + "spin", + "wasmi_collections", + "wasmi_core", + "wasmi_ir", + "wasmparser 0.228.0", +] + +[[package]] +name = "wasmi_c_api_impl" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "141e4352c2c33345cdb7b8f40dbe6d1812c8075e1da6be878aa712cf9c22ca86" +dependencies = [ + "wasmi", + "wasmi_c_api_macros", +] + +[[package]] +name = "wasmi_c_api_macros" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0179887d55ff19d7ff67e4394da08365b3726cabe397e64004614ef4b8e58b20" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "wasmi_collections" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc03d171a00367f89bfb376fe952bb67e337a4992911948c22e1093730a4e718" + +[[package]] +name = "wasmi_core" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ea896273ea99b15132414be1da01ab0d8836415083298ecaffbe308eaac87a" +checksum = "9f2f829ada3e3fc5d723cd80feb7bbb1ba358ce3a9b069477b3c58c85f892c71" dependencies = [ - "indexmap 1.9.3", - "url", + "libm", ] [[package]] -name = "wasmparser" -version = "0.121.2" +name = "wasmi_ir" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" +checksum = "a28c3e221277780790bd0abd5c5da440dd39989cd8fa98330a4820d398a7af66" dependencies = [ - "bitflags 2.6.0", - "indexmap 2.2.6", - "semver 1.0.23", + "wasmi_core", ] [[package]] -name = "wasmprinter" -version = "0.2.80" +name = "wasmparser" +version = "0.228.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e73986a6b7fdfedb7c5bf9e7eb71135486507c8fbc4c0c42cffcb6532988b7" +checksum = "4abf1132c1fdf747d56bbc1bb52152400c70f336870f968b85e89ea422198ae3" dependencies = [ - "anyhow", - "wasmparser 0.121.2", + "bitflags 2.10.0", ] [[package]] -name = "wast" -version = "24.0.0" +name = "wasmparser" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff1e3bd3ad0b2ee7784add89c30dc96b89a54b43e5d6d95d774eda1863b3500" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "leb128", + "bitflags 2.10.0", + "indexmap", + "semver 1.0.27", ] [[package]] -name = "wast" -version = "38.0.1" +name = "wasmprinter" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0d7b256bef26c898fa7344a2d627e8499f5a749432ce0a05eae1a64ff0c271" +checksum = "09390d7b2bd7b938e563e4bff10aa345ef2e27a3bc99135697514ef54495e68f" dependencies = [ - "leb128", + "anyhow", + "termcolor", + "wasmparser 0.244.0", ] [[package]] -name = "wast" -version = "64.0.0" +name = "wasmtime-internal-math" +version = "41.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a259b226fd6910225aa7baeba82f9d9933b6d00f2ce1b49b80fa4214328237cc" +checksum = "d61fe7cfca53d0ce01dc480ce1db93ad48b6fa1f354d8ff0680ac6a76ef354a3" dependencies = [ - "leb128", - "memchr", - "unicode-width", - "wasm-encoder 0.32.0", + "libm", ] [[package]] -name = "wat" -version = "1.0.71" +name = "wast" +version = "244.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53253d920ab413fca1c7dc2161d601c79b4fdf631d0ba51dd4343bf9b556c3f6" +checksum = "b2e7b9f9e23311275920e3d6b56d64137c160cf8af4f84a7283b36cfecbf4acb" dependencies = [ - "wast 64.0.0", + "bumpalo", + "leb128fmt", + "memchr", + "unicode-width", + "wasm-encoder 0.244.0", ] [[package]] -name = "wcgi" -version = "0.1.2" +name = "wat" +version = "1.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ca8f334eec3a8197bd25a612c74f415b8691d219ee11f1acd20f15a3e2bf77" +checksum = "bbf35b87ed352f9ab6cd0732abde5a67dd6153dfd02c493e61459218b19456fa" dependencies = [ - "http 0.2.12", - "http-serde 1.1.3", - "serde", - "serde_json", - "url", + "wast", ] [[package]] name = "wcgi" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b51540185fb0764ba68176a955c9530f8f7501b418b034e30607f892fec261b2" +checksum = "3977728575e8a79833db34f835b810dd7e1affdec0fa18cf141f060421cade6a" dependencies = [ - "http 1.1.0", - "http-serde 2.1.1", + "http", + "http-serde", "serde", "serde_json", "url", @@ -7374,36 +7663,31 @@ dependencies = [ [[package]] name = "wcgi-host" -version = "0.1.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a762cf2b0ed389a2a2fb591d63a398c1a4c0f8bef938cfd040285a3c63b695cc" +checksum = "4d78a0358eebb970afcacc158f4172d2b7355d37572b350f1ed46dc44fe2e464" dependencies = [ - "http 0.2.12", - "schemars", + "http", "serde", - "tokio 1.38.1", - "wasmparser 0.95.0", - "wcgi 0.1.2", + "tokio", + "wcgi", ] [[package]] -name = "wcgi-host" -version = "0.2.0" +name = "web-sys" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfc134be64da186b33675e0154827ba8eb4eb30579c1142cebec88607cd2cf6" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" dependencies = [ - "http 1.1.0", - "serde", - "tokio 1.38.1", - "wasmparser 0.95.0", - "wcgi 0.2.0", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "web-sys" -version = "0.3.69" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -7411,69 +7695,75 @@ dependencies = [ [[package]] name = "webc" -version = "6.0.0" +version = "10.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6cf1915e27168c1ed82f7f0d03f60317648f257fecaf4256a1904428d8e4ccd" +checksum = "637506ca3c48eae3301e97f0167aa1b46cdfdd479d008b868a19715182e48ae3" dependencies = [ "anyhow", "base64 0.22.1", - "bytes 1.6.1", - "cfg-if 1.0.0", + "bytes", + "cfg-if", "ciborium", "document-features", - "flate2", "ignore", - "indexmap 1.9.3", + "indexmap", "leb128", "lexical-sort", "libc", "once_cell", "path-clean", - "rand", - "semver 1.0.23", + "rand 0.8.5", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "shared-buffer", - "tar", - "tempfile", - "thiserror", - "toml 0.8.15", + "thiserror 1.0.69", "url", - "wasmer-config 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "rustls-pki-types", + "webpki-roots 1.0.5", ] [[package]] -name = "weezl" -version = "0.1.8" +name = "webpki-roots" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" +checksum = "12bed680863276c63889429bfd6cab3b99943659923822de1c8a39c49e4d722c" +dependencies = [ + "rustls-pki-types", +] [[package]] -name = "whoami" -version = "1.5.1" +name = "weedle2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +checksum = "998d2c24ec099a87daf9467808859f9d82b61f1d9c9701251aea037f514eae0e" dependencies = [ - "redox_syscall 0.4.1", - "wasite", - "web-sys", + "nom 7.1.3", ] [[package]] -name = "winapi" -version = "0.2.8" +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + +[[package]] +name = "which" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +checksum = "d3fabb953106c3c8eea8306e4393700d7657561cb43122571b172bbfb7c7ba1d" +dependencies = [ + "env_home", + "rustix", + "winsafe", +] [[package]] name = "winapi" @@ -7485,12 +7775,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -7499,11 +7783,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -7514,33 +7798,61 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] -name = "windows-sys" -version = "0.33.0" +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43dbb096663629518eb1dfa72d80243ca5a6aca764cae62a2df70af760a9be75" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ - "windows_aarch64_msvc 0.33.0", - "windows_i686_gnu 0.33.0", - "windows_i686_msvc 0.33.0", - "windows_x86_64_gnu 0.33.0", - "windows_x86_64_msvc 0.33.0", + "proc-macro2", + "quote", + "syn 2.0.114", ] [[package]] -name = "windows-sys" -version = "0.48.0" +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-targets 0.48.5", + "windows-link", ] [[package]] @@ -7562,18 +7874,21 @@ dependencies = [ ] [[package]] -name = "windows-targets" -version = "0.48.5" +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-link", ] [[package]] @@ -7585,7 +7900,7 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", @@ -7593,10 +7908,21 @@ dependencies = [ ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" +name = "windows-targets" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] [[package]] name = "windows_aarch64_gnullvm" @@ -7605,16 +7931,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] -name = "windows_aarch64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" +name = "windows_aarch64_gnullvm" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -7623,22 +7943,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] -name = "windows_i686_gnu" -version = "0.33.0" +name = "windows_aarch64_msvc" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.52.6" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -7647,16 +7967,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] -name = "windows_i686_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" +name = "windows_i686_gnullvm" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -7665,16 +7979,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] -name = "windows_x86_64_gnu" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" +name = "windows_i686_msvc" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -7683,10 +7991,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" +name = "windows_x86_64_gnu" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -7695,16 +8003,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] -name = "windows_x86_64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" +name = "windows_x86_64_gnullvm" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -7713,83 +8015,71 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "winnow" -version = "0.5.40" +name = "windows_x86_64_msvc" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.6.15" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557404e450152cd6795bb558bca69e43c585055f4606e3bcae5894fc6dac9ba0" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] [[package]] -name = "winreg" -version = "0.52.0" +name = "winsafe" +version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if 1.0.0", - "windows-sys 0.48.0", -] +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" [[package]] -name = "ws2_32-sys" -version = "0.2.1" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" [[package]] -name = "wyz" -version = "0.5.1" +name = "writeable" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "xattr" -version = "1.3.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "linux-raw-sys", "rustix", ] [[package]] name = "xxhash-rust" -version = "0.8.11" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63658493314859b4dfdf3fb8c1defd61587839def09582db50b8a4e93afca6bb" +checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] -name = "yaml-rust" -version = "0.4.5" +name = "xz" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +checksum = "3c887690ff2a2e233e8e49633461521f98ec57fbff9d59a884c9a4f04ec1da34" dependencies = [ - "linked-hash-map", + "xz2", ] [[package]] -name = "yansi" -version = "0.5.1" +name = "xz2" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" +dependencies = [ + "lzma-sys", +] [[package]] name = "yansi" @@ -7797,59 +8087,171 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure", +] + [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "fdea86ddd5568519879b8187e1cf04e24fce28f7fe046ceecbce472ff19a2572" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "0c15e1b46eff7c6c91195752e0eeed8ef040e391cdece7c25376957d5f15df22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.114", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] [[package]] name = "zip" -version = "2.1.5" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b895748a3ebcb69b9d38dcfdf21760859a4b0d0b0015277640c2ef4c69640e6f" +checksum = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0" dependencies = [ - "arbitrary", "crc32fast", - "crossbeam-utils 0.8.20", - "displaydoc", "flate2", - "indexmap 2.2.6", + "indexmap", "memchr", - "thiserror", + "typed-path", "zopfli", ] +[[package]] +name = "zlib-rs" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40990edd51aae2c2b6907af74ffb635029d5788228222c4bb811e9351c0caad3" + +[[package]] +name = "zmij" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" + [[package]] name = "zopfli" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" dependencies = [ "bumpalo", "crc32fast", - "lockfree-object-pool", - "log 0.4.22", - "once_cell", + "log", "simd-adler32", ] + +[[package]] +name = "zstd" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.16+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml index bff17a4d1d..8291816be5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,151 +12,374 @@ rust-version.workspace = true version.workspace = true [dependencies] -wasmer = { version = "=4.3.7", path = "lib/api", default-features = false } -wasmer-compiler = { version = "=4.3.7", path = "lib/compiler", features = [ - "compiler", +wasmer = { version = "=7.0.0", path = "lib/api", default-features = false } +wasmer-cache = { version = "=7.0.0", path = "lib/cache", optional = true } +wasmer-compiler = { version = "=7.0.0", path = "lib/compiler", features = [ + "compiler", ], optional = true } -wasmer-compiler-cranelift = { version = "=4.3.7", path = "lib/compiler-cranelift", optional = true } -wasmer-compiler-singlepass = { version = "=4.3.7", path = "lib/compiler-singlepass", optional = true } -wasmer-compiler-llvm = { version = "=4.3.7", path = "lib/compiler-llvm", optional = true } -wasmer-emscripten = { version = "=4.3.7", path = "lib/emscripten", optional = true } +wasmer-compiler-cranelift = { version = "=7.0.0", path = "lib/compiler-cranelift", optional = true } +wasmer-compiler-llvm = { version = "=7.0.0", path = "lib/compiler-llvm", optional = true } +wasmer-compiler-singlepass = { version = "=7.0.0", path = "lib/compiler-singlepass", optional = true } +wasmer-middlewares = { version = "=7.0.0", path = "lib/middlewares", optional = true } +wasmer-types = { version = "=7.0.0", path = "lib/types" } +wasmer-wast = { version = "=7.0.0", path = "tests/lib/wast", optional = true } wasmer-wasix = { path = "lib/wasix", optional = true } -wasmer-wast = { version = "=4.3.7", path = "tests/lib/wast", optional = true } -wasi-test-generator = { version = "=4.3.7", path = "tests/wasi-wast", optional = true } -wasmer-cache = { version = "=4.3.7", path = "lib/cache", optional = true } -wasmer-types = { version = "=4.3.7", path = "lib/types" } -wasmer-middlewares = { version = "=4.3.7", path = "lib/middlewares", optional = true } # Third party dependencies -cfg-if = "1.0" -tokio = { version = "1", features = [ - "rt", - "rt-multi-thread", - "macros", +cfg-if.workspace = true +crossbeam-queue.workspace = true +tokio = { workspace = true, features = [ + "rt", + "rt-multi-thread", + "macros", ], optional = true } -crossbeam-queue = "0.3.8" [workspace] members = [ - "fuzz", - "lib/api", - "lib/api/macro-wasmer-universal-test", - "lib/backend-api", - "lib/c-api", - "lib/c-api/examples/wasmer-capi-examples-runner", - "lib/c-api/tests/wasmer-c-api-test-runner", - "lib/cache", - "lib/cli-compiler", - "lib/cli", - "lib/compiler-cranelift", - "lib/compiler-llvm", - "lib/compiler-singlepass", - "lib/compiler", - "lib/config", - "lib/derive", - "lib/emscripten", - "lib/object", - "lib/registry", - "lib/sys-utils", - "lib/types", - "lib/virtual-io", - "lib/virtual-fs", - "lib/virtual-net", - "lib/vm", - "lib/wai-bindgen-wasmer", - "lib/wasi-types", - "lib/wasix", - "lib/wasm-interface", - "lib/journal", - "tests/integration/cli", - "tests/integration/ios", - "tests/lib/compiler-test-derive", - "tests/lib/wast", - "tests/wasi-wast", - "tests/wasmer-argus", + "fuzz", + "lib/api", + "lib/api/macro-wasmer-universal-test", + "lib/backend-api", + "lib/c-api", + "lib/c-api/examples/wasmer-capi-examples-runner", + "lib/c-api/tests/wasmer-c-api-test-runner", + "lib/cache", + "lib/cli", + "lib/compiler-cranelift", + "lib/compiler-llvm", + "lib/compiler-singlepass", + "lib/compiler", + "lib/config", + "lib/derive", + "lib/sys-utils", + "lib/types", + "lib/sdk", + "lib/virtual-io", + "lib/virtual-fs", + "lib/virtual-net", + "lib/vm", + "lib/wai-bindgen-wasmer", + "lib/wasi-types", + "lib/wasix", + "lib/journal", + "lib/swift", + "lib/package", + "tests/integration/cli", + "tests/integration/ios", + "tests/lib/compiler-test-derive", + "tests/lib/wast", + "tests/wasi-wast", + "tests/wasmer-argus", ] +exclude = ["./lib/cli/tests/packages/axum"] resolver = "2" [workspace.package] authors = ["Wasmer Engineering Team "] -edition = "2021" +edition = "2024" homepage = "https://wasmer.io/" license = "MIT" repository = "https://github.com/wasmerio/wasmer" -rust-version = "1.74" -version = "4.3.7" +rust-version = "1.91" +version = "7.0.0" [workspace.dependencies] # Repo-local crates +wasmer-package = { version = "0.700.0", path = "lib/package" } wasmer-config = { path = "./lib/config" } wasmer-wasix = { path = "./lib/wasix" } +wasmer-sdk = { path = "./lib/sdk" } # Wasmer-owned crates -webc = { version = "6.0.0", default-features = false, features = ["package"] } -edge-schema = { version = "=0.1.0" } +webc = "=10.0.1" shared-buffer = "0.1.4" +loupe = "0.2.0" # Third-party crates -dashmap = "6.0.1" -http = "1.0.0" -hyper = "1" -reqwest = { version = "0.12.0", default-features = false } +anyhow = "1.0" +assert-panic = "1.0.1" +assert_cmd = "2.1.1" +async-trait = "0.1.68" +async-tungstenite = "0.32.1" +axum = { version = "=0.6.9", default-features = false } +backtrace = "0.3" +base64 = "0.22.1" +bincode = "2.0.1" +bindgen = { version = "0.72.1", default-features = false } +bitflags = "2.10.0" +blake3 = "1.0" +build-deps = "0.1.4" +bus = "2.4.1" +bytecheck = { version = "0.8.2" } +byteorder = "1.3" +bytes = "1" +bytesize = "2.3.1" +cargo_metadata = "0.23.1" +cbindgen = { version = "0.29", default-features = false } +cc = "1.2.47" +cfg-if = "1.0" +chrono = { version = "^0.4.38", default-features = false } +ciborium = "0.2.2" +clap = { version = "4.5.53", default-features = false } +clap_builder = { version = "4.5.53" } +clap_complete = "4.5.61" +clap_derive = { version = "4.5.49" } +clap_lex = { version = "0.7.6" } +clap_mangen = "0.2.31" +cmake = "0.1.50" +colored = "3.0.0" +comfy-table = "7.2.1" +compiletest_rs = "0.11.2" +console = "0.16.1" +console-subscriber = "0.5.0" +cooked-waker = "^5" +corosensei = "0.3.0" +cranelift-codegen = { version = "=0.128.0", default-features = false } +cranelift-entity = { version = "=0.128.0", default-features = false } +cranelift-frontend = { version = "=0.128.0", default-features = false } +criterion = { version = "0.8.1", default-features = false } +crossbeam-channel = "0.5.15" +crossbeam-queue = "0.3.8" +cynic = { version = "3.7.2", default-features = false } +dashmap = "6.1.0" +derive_builder = "0.20.2" +derive_more = { version = "2.0.1", features = ["debug", "display"] } +dialoguer = "0.12.0" +dirs = "6.0.0" +dotenvy = "0.15.7" +dunce = "1.0.4" +dynasm = "4.0.0" +dynasmrt = "4.0.0" +enum-iterator = "2.3.0" enumset = "1.1.0" -memoffset = "0.9.0" -wasmparser = { version = "0.121.0", default-features = false } -rkyv = { version = "0.7.40", features = ["indexmap", "validation", "strict"] } -memmap2 = { version = "0.6.2" } -toml = {version = "0.5.9", features = ["preserve_order"]} +env_logger = { version = "0.11.5", default-features = false } +field-offset = "0.3.3" +filetime = "0.2.18" +flate2 = "1.0.34" +zstd = "0.13.2" +fnv = "1.0.3" +fs_extra = { version = "1.3.0" } +futures = "0.3.30" +futures-util = { version = "0.3.31" } +getrandom = "0.2" +gimli = { version = "0.32.3" } +git-version = "0.3.9" +glob = "0.3" +graphql-ws-client = "0.12.0" +gumdrop = "0.8" +harsh = "0.2.2" +hashbrown = "0.16.1" +heapless = "0.9.2" +hex = "0.4" +hexdump = "0.1.2" +http = "1.4.0" +http-body-util = "0.1.1" +humantime = "2.1.0" +hyper = "1.8.1" +hyper-tungstenite = "0.19" +hyper-util = "0.1.5" +ignore = "0.4" +indicatif = "0.18.3" indexmap = "2" -serde_yaml = "0.9.34" -libc = { version = "^0.2", default-features = false } +inline-c = "0.1.7" +inkwell = { version = "0.8.0", default-features = false } +insta = "1.45.0" +interfaces = "0.0.9" +ipnet = "2.10.1" +iprange = "0.6.7" +itertools = "0.14" +js-sys = "0.3.77" +leb128 = "0.2" +libc = { version = "0.2.178", default-features = false } +libfuzzer-sys = "0.4.0" +libunwind = "1.3.3" +linked_hash_set = "0.1.6" +log = "0.4.22" +lz4_flex = "0.12.0" +lzma-rs = "0.3.0" +mac_address = "1.1.5" +mach2 = "0.6.0" +macho-unwind-info = "0.5.0" +md5 = "0.8.0" +memmap2 = { version = "0.9.9" } +memoffset = "0.9.1" +merge-streams = "0.1.2" +mio = "1" +more-asserts = "0.3.1" +normpath = "1.5.0" +num_enum = "0.7.3" +object = "0.38.0" +once_cell = "1.17.1" +opener = "0.8.3" +parking = "2.2" +parking_lot = "0.12.1" +paste = "1.0.15" +path-clean = "1.0.1" +pathdiff = "0.2.1" +petgraph = "0.8.3" +phf = "0.13.1" +pin-project = "1.0.12" +pin-project-lite = "0.2.10" +pin-utils = "0.1.0" +predicates = "3.1.3" +pretty_assertions = "1.4.0" +proc-macro-error2 = "2.0.1" +proc-macro2 = "1" +quote = "1.0.20" +rand = "0.9.2" +rangemap = "1.7.1" +rayon = "1.7.0" +regex = "1.11" +region = "3.0" +replace_with = "0.1.7" +reqwest = { version = "0.12.0", default-features = false } +rkyv = { version = "0.8.13", features = ["indexmap-2", "bytes-1"] } +rustc-demangle = "0.1" +rustc_version = "0.4" +rusty_jsc = "0.1.0" +rusty_pool = "0.7.0" +rustversion = "1.0" +saffron = "0.1.0" +schemars = "1.1.0" +scopeguard = "1.1.0" +self_cell = "1.0" +semver = "1.0" +serde = { version = "1", default-features = false } +serde-wasm-bindgen = "0.6.5" +serde_bytes = { version = "0.11" } +serde_derive = "^1" +serde_json = { version = "1" } +serde_path_to_error = "0.1.14" +serde_yaml = { version = "0.9.34" } +serial_test = { version = "3.2.0", default-features = false } +sha2 = "0.11.0-rc.3" +slab = "0.4" +smallvec = "1.6" +smoltcp = { version = "0.12.0", default-features = false } +socket2 = { version = "0.6.1", features = ["all"] } +syn = { version = "2", default-features = false } +tar = "0.4.40" +target-lexicon = { version = "0.13.3", default-features = false } +tempfile = "3.6.0" +terminal_size = "0.4.3" +termios = "0.3" +test-log = { version = "0.2", default-features = false } +thiserror = "2.0.17" +time = { version = "0.3.44", default-features = false } +# MIO 1.0 starts at tokio version 1.39, hence the minimum requirement. +tokio = { version = "1.39.0", default-features = false } +tokio-serde = "0.9" +tokio-stream = "0.1" +tokio-tungstenite = { version = "0.28.0" } +tokio-util = "0.7.8" +toml = { version = "0.9.8", features = ["preserve_order"] } +tower = "0.5.2" +tower-http = "0.6.7" +tracing = { version = "0.1", default-features = false } +tracing-subscriber = { version = "0.3", default-features = false } +tracing-test = { version = "0.2" } +tracing-wasm = "0.2" +trybuild = "1.0.11" +typetag = "0.2.21" +uniffi = "0.30.0" +unix_mode = "0.1.3" +ureq = "3.1.4" +url = "2.5" +urlencoding = "^2" +uuid = { version = "1", default-features = false } +wai-bindgen-gen-core = { version = "0.2.1", default-features = false } +wai-bindgen-gen-rust = { version = "0.2.1", default-features = false } +wai-bindgen-gen-rust-wasm = { version = "0.2.1", default-features = false } +wai-bindgen-rust = { version = "0.2.1", default-features = false } +wai-bindgen-wasmer-impl = "0.2.2" +wai-parser = "0.2.1" +waker-fn = "1.1" +walkdir = "2.3.2" +wasm-bindgen = "0.2.100" +wasm-bindgen-futures = "0.4.37" +wasm-bindgen-test = "0.3.0" +wasm-coredump-builder = "0.2.2" +wasm-encoder = { version = "0.244.0", default-features = false, features = [ + "std", +] } +wasm-smith = "0.244.0" +wasmi_c_api_impl = "1.0.4" +wasmparser = { version = "0.244.0", default-features = false, features = [ + "validate", + "features", + "simd", +] } +wasmprinter = "0.244.0" +wasmer-inline-c = "0.1.1" +wast = "244.0.0" +wat = "1.243.0" +wcgi = "0.3.0" +wcgi-host = "0.3.0" +web-sys = "0.3.64" +web-time = "1.1" +weezl = "^0.1" +which = "8.0.0" +windows-sys = { version = "0.61.2", default-features = false } +xxhash-rust = { version = "0.8.10", default-features = false } +xz = "0.1.0" +zip = { version = "7.2.0", default-features = false } [build-dependencies] test-generator = { path = "tests/lib/test-generator" } -build-deps = "0.1.4" -anyhow = "1.0" -glob = "0.3" -rustc_version = "0.4" +build-deps.workspace = true +anyhow.workspace = true +glob.workspace = true +rustc_version.workspace = true [dev-dependencies] -wasmer = { version = "=4.3.7", path = "lib/api", features = [ - "compiler", - "singlepass", - "sys", +wasmer = { version = "=7.0.0", path = "lib/api", features = [ + "compiler", + "singlepass", + "sys", ] } -anyhow = "1.0" -criterion = { version = "0.5", default-features = false } -clap = { version = "=4.4.11" } -clap_builder = { version = "=4.4.11" } -clap_derive = { version = "=4.4.7" } -clap_lex = { version = "=0.6.0" } -lazy_static = "1.4" -serial_test = { version = "2.0", default-features = false } +anyhow.workspace = true +clap.workspace = true +clap_builder.workspace = true +clap_derive.workspace = true +clap_lex.workspace = true +criterion = { workspace = true, features = ["csv_output"] } +serial_test = { workspace = true, default-features = false } compiler-test-derive = { path = "tests/lib/compiler-test-derive" } -tempfile = "3.6.0" -ureq = "2.6" +tempfile.workspace = true +ureq.workspace = true # For logging tests using the `RUST_LOG=debug` when testing -test-log = { version = "0.2", default-features = false, features = ["trace"] } -tracing = { version = "0.1", default-features = false, features = ["log"] } -tracing-subscriber = { version = "0.3", default-features = false, features = [ - "env-filter", - "fmt", +test-log = { workspace = true, default-features = false, features = ["trace"] } +tracing = { workspace = true, default-features = false, features = ["log"] } +tracing-subscriber = { workspace = true, default-features = false, features = [ + "env-filter", + "fmt", ] } +reqwest = { workspace = true, features = ["blocking", "rustls-tls"] } +itertools.workspace = true [features] # Don't add the compiler features in default, please add them on the Makefile # since we might want to autoconfigure them depending on the availability on the host. -default = ["wat", "wast", "cache", "wasi", "engine", "emscripten", "middlewares"] +default = ["wat", "wast", "cache", "wasi", "middlewares"] # backend means that the `wasmer` crate will be compiled with the `wasmer-compiler` or the `jsc`. # That means: that is able to execute modules backend = [] jsc = ["wasmer/jsc", "backend", "wat", "wasmer/std"] + +# Enable the WAMR backend (using it as default only if it is the only backend enabled) +wamr = ["wasmer/wamr"] + +# Enable the V8 backend (using it as default only if it is the only backend enabled) +v8 = ["wasmer/v8"] + +# Enable the wasmi backend (using it as default only if it is the only backend enabled) +wasmi = ["wasmer/wasmi"] + engine = ["universal"] universal = [] cache = ["wasmer-cache"] wast = ["wasmer-wast"] -wasi = ["wasmer-wasix"] -emscripten = ["wasmer-emscripten"] +wasi = ["wasmer-wasix", "tokio"] wat = ["wasmer/wat"] compiler = ["wasmer/compiler", "backend", "wasmer-compiler/translator"] singlepass = ["compiler", "wasmer-compiler-singlepass", "wasmer/singlepass"] @@ -167,6 +390,7 @@ wasmer-artifact-load = ["wasmer-compiler/wasmer-artifact-load"] wasmer-artifact-create = ["wasmer-compiler/wasmer-artifact-create"] static-artifact-load = ["wasmer-compiler/static-artifact-load"] static-artifact-create = ["wasmer-compiler/static-artifact-create"] +experimental-async = ["wasmer/experimental-async"] # Testing features test-singlepass = ["singlepass"] @@ -204,6 +428,18 @@ opt-level = 3 [profile.dev.package.digest] opt-level = 3 +[[bench]] +name = "run" +harness = false + +[[bench]] +name = "compile" +harness = false + +[[bench]] +name = "deserialize_modules" +harness = false + [[bench]] name = "static_and_dynamic_functions" harness = false @@ -267,6 +503,11 @@ name = "exported-memory" path = "examples/exports_memory.rs" required-features = ["backend"] +[[example]] +name = "funcref" +path = "examples/funcref.rs" +required-features = ["backend"] + [[example]] name = "imported-function" path = "examples/imports_function.rs" @@ -285,7 +526,7 @@ required-features = ["cranelift"] [[example]] name = "wasi" path = "examples/wasi.rs" -required-features = ["backend", "wasi"] +required-features = ["wasi"] [[example]] name = "wasi-manual-setup" @@ -307,6 +548,11 @@ name = "memory" path = "examples/memory.rs" required-features = ["backend"] +[[example]] +name = "memory-grow" +path = "examples/memory_grow.rs" +required-features = ["backend"] + [[example]] name = "instance" path = "examples/instance.rs" @@ -351,3 +597,8 @@ required-features = ["cranelift"] name = "http-dynamic-size" path = "examples/http_dynamic_size.rs" required-features = ["cranelift"] + +[[example]] +name = "throw-exception" +path = "examples/throw_exception.rs" +required-features = ["llvm"] diff --git a/Makefile b/Makefile index 97dc61d550..997b95aa97 100644 --- a/Makefile +++ b/Makefile @@ -18,15 +18,15 @@ SHELL=/usr/bin/env bash # # Here is what works and what doesn't: # -# * Cranelift works everywhere, +# * Cranelift works everywhere except */`loongarch64`, # # * LLVM works on Linux+Darwin/`amd64`, -# and linux+`aarch64`, linux+`riscv` +# and linux+`aarch64`, linux+`riscv`, linux+`loongarch64` # but it doesn't work on Darwin/`aarch64` or Windows/`aarch64`. # # * Singlepass works on Linux+Darwin+Windows/`amd64`, # and Linux+Darwin/`aarch64` -# it doesn't work on */`riscv`. +# it doesn't work on */`riscv` or */`loongarch64`. # # * Windows isn't tested on `aarch64`, that's why we consider it's not # working, but it might possibly be. @@ -48,6 +48,7 @@ IS_WINDOWS := 0 IS_AMD64 := 0 IS_AARCH64 := 0 IS_RISCV64 := 0 +IS_LOONGARCH64 := 0 # Test Windows apart because it doesn't support `uname -s`. ifeq ($(OS), Windows_NT) @@ -80,11 +81,13 @@ else IS_AARCH64 := 1 else ifneq (, $(filter $(uname), riscv64)) IS_RISCV64 := 1 + else ifneq (, $(filter $(uname), loongarch64)) + IS_LOONGARCH64 := 1 else # We use spaces instead of tabs to indent `$(error)` # otherwise it's considered as a command outside a # target and it will fail. - $(error Unrecognized architecture, expect `x86_64`, `aarch64`, `arm64`, 'riscv64') + $(error Unrecognized architecture, expect `x86_64`, `aarch64`, `arm64`, 'riscv64', 'loongarch64') endif # Libc @@ -111,10 +114,16 @@ endif ENABLE_CRANELIFT ?= ENABLE_LLVM ?= ENABLE_SINGLEPASS ?= +ENABLE_V8 ?= +ENABLE_WAMR ?= +ENABLE_WASMI ?= # Which compilers we build. These have dependencies that may not be on the system. compilers := +# Other backends to enable in the build phase (not while testing) +build_compilers := + ## # Cranelift ## @@ -142,32 +151,33 @@ endif ifeq ($(ENABLE_LLVM), 0) LLVM_VERSION := # … then maybe the user forced to enable the LLVM compiler. -else ifeq ($(ENABLE_LLVM), 1) +else ifneq ($(filter 1 true,$(ENABLE_LLVM)),) LLVM_VERSION := $(shell llvm-config --version) compilers += llvm # … or try to autodetect LLVM from `llvm-config-`. -else ifneq (, $(shell which llvm-config-15 2>/dev/null)) - LLVM_VERSION := $(shell llvm-config-15 --version) +else ifneq (, $(shell which llvm-config-21 2>/dev/null)) + LLVM_VERSION := $(shell llvm-config-21 --version) compilers += llvm - # need force LLVM_SYS_150_PREFIX, or llvm_sys will not build in the case - export LLVM_SYS_150_PREFIX = $(shell llvm-config-15 --prefix) + # need force LLVM_SYS_211_PREFIX, or llvm_sys will not build in the case + export LLVM_SYS_211_PREFIX = $(shell llvm-config-21 --prefix) else ifneq (, $(shell which llvm-config 2>/dev/null)) LLVM_VERSION := $(shell llvm-config --version) - ifneq (, $(findstring 15,$(LLVM_VERSION))) + ifneq (, $(findstring 21,$(LLVM_VERSION))) compilers += llvm - export LLVM_SYS_150_PREFIX = $(shell llvm-config --prefix) - else ifneq (, $(findstring 14,$(LLVM_VERSION))) + export LLVM_SYS_211_PREFIX = $(shell llvm-config --prefix) + else ifneq (, $(findstring 21,$(LLVM_VERSION))) compilers += llvm - export LLVM_SYS_150_PREFIX = $(shell llvm-config --prefix) + export LLVM_SYS_211_PREFIX = $(shell llvm-config --prefix) endif endif # If findstring is not empty, then it have found the value -exclude_tests := --exclude wasmer-c-api --exclude wasmer-cli --exclude wasmer-compiler-cli +exclude_tests := --exclude wasmer-c-api --exclude wasmer-cli # We run integration tests separately (it requires building the c-api) exclude_tests += --exclude wasmer-integration-tests-cli exclude_tests += --exclude wasmer-integration-tests-ios +exclude_tests += --exclude wasmer-swift ifneq (, $(findstring llvm,$(compilers))) ENABLE_LLVM := 1 @@ -202,11 +212,64 @@ ifneq (, $(findstring singlepass,$(compilers))) ENABLE_SINGLEPASS := 1 endif +## +# V8 +## + +# If the user didn't disable the V8 backend… +ifneq ($(ENABLE_V8), 0) + # … then maybe the user forced to enable the V8 compiler. + ifneq ($(filter 1 true,$(ENABLE_V8)),) + build_compilers += v8 + endif + # we don't check automatically for now +endif + +ifneq (, $(findstring v8,$(build_compilers))) + ENABLE_V8 := 1 +endif + +## +# WAMR +## + +# If the user didn't disable the WAMR backend… +ifneq ($(ENABLE_WAMR), 0) + # … then maybe the user forced to enable the WAMR compiler. + ifneq ($(filter 1 true,$(ENABLE_WAMR)),) + build_compilers += wamr + # we don't check automatically for now + endif +endif + +ifneq (, $(findstring wamr,$(build_compilers))) + ENABLE_WAMR := 1 +endif + +## +# wasmi +## + +# If the user didn't disable the wasmi backend… +ifneq ($(ENABLE_WASMI), 0) + # … then maybe the user forced to enable the wasmi compiler. + ifneq ($(filter 1 true,$(ENABLE_WASMI)),) + build_compilers += wasmi + # we don't check automatically for now + endif +endif + +ifneq (, $(findstring wasmi,$(build_compilers))) + ENABLE_WASMI := 1 +endif + + ## # Clean the `compilers` variable. ## compilers := $(strip $(compilers)) +build_compilers := $(strip $(build_compilers) $(compilers)) ##### @@ -240,6 +303,8 @@ ifeq ($(ENABLE_LLVM), 1) compilers_engines += llvm-universal else ifeq ($(IS_RISCV64), 1) compilers_engines += llvm-universal + else ifeq ($(IS_LOONGARCH64), 1) + compilers_engines += llvm-universal endif endif endif @@ -275,6 +340,7 @@ comma := , # Define the compiler Cargo features for all crates. compiler_features := --features $(subst $(space),$(comma),$(compilers)),wasmer-artifact-create,static-artifact-create,wasmer-artifact-load,static-artifact-load +build_compiler_features := --features $(subst $(space),$(comma),$(build_compilers)),wasmer-artifact-create,static-artifact-create,wasmer-artifact-load,static-artifact-load capi_compilers_engines_exclude := # Define the compiler Cargo features for the C API. It always excludes @@ -305,8 +371,8 @@ HOST_TARGET=$(shell rustc -Vv | grep 'host: ' | cut -d':' -f2 | tr -d ' ') TARGET_DIR ?= target/release -ifneq (, $(TARGET)) - TARGET_DIR ?= target/$(TARGET)/release +ifneq (, $(CARGO_TARGET)) + TARGET_DIR = target/$(CARGO_TARGET)/release endif $(info -----------) @@ -314,17 +380,17 @@ $(info $(bold)$(green)INFORMATION$(reset)) $(info -----------) $(info ) $(info Host Target: `$(bold)$(green)$(HOST_TARGET)$(reset)`.) -ifneq (, $(TARGET)) +ifneq (, $(CARGO_TARGET)) # We use spaces instead of tabs to indent `$(info)` # otherwise it's considered as a command outside a # target and it will fail. - $(info Build Target: $(bold)$(green)$(TARGET)$(reset) $(yellow)($(TARGET_DIR))$(reset)) + $(info Build Target: $(bold)$(green)$(CARGO_TARGET)$(reset) $(yellow)($(TARGET_DIR))$(reset)) endif ifneq (, $(LIBC)) # We use spaces instead of tabs to indent `$(info)` # otherwise it's considered as a command outside a # target and it will fail. - $(info C standard library: $(bold)$(green)$(LIBC)$(reset)) + $(info C standard library: $(bold)$(green)$(LIBC)$(reset)) endif $(info Enabled Compilers: $(bold)$(green)$(subst $(space),$(reset)$(comma)$(space)$(bold)$(green),$(compilers))$(reset).) $(info Testing the following compilers & engines:) @@ -335,7 +401,7 @@ $(info   * Compilers: `$(bold)$(green)${compiler_features}$(reset)`.) $(info Rust version: $(bold)$(green)$(shell rustc --version)$(reset).) $(info NodeJS version: $(bold)$(green)$(shell node --version)$(reset).) ifeq ($(ENABLE_LLVM), 1) - $(info LLVM version: $(bold)$(green)${LLVM_VERSION}$(reset).) + $(info LLVM version: $(bold)$(green)${LLVM_VERSION}$(reset).) endif $(info ) $(info ) @@ -371,33 +437,43 @@ endif # install will go through. all: build-wasmer build-capi build-capi-headless -check: check-wasmer check-wasmer-wasm check-capi +check: check-wasmer check-api-no-async check-capi check-wasmer: $(CARGO_BINARY) check $(CARGO_TARGET_FLAG) --manifest-path lib/cli/Cargo.toml $(compiler_features) --bin wasmer --locked -check-wasmer-wasm: - $(CARGO_BINARY) check --manifest-path lib/cli-compiler/Cargo.toml --target wasm32-wasi --features singlepass,cranelift --bin wasmer-compiler --locked +check-api-no-async: + $(CARGO_BINARY) check $(CARGO_TARGET_FLAG) --manifest-path lib/api/Cargo.toml $(compiler_features) --locked check-capi: RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) check $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml \ --no-default-features --features wat,compiler,wasi,middlewares $(capi_compiler_features) build-wasmer: - $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --release --manifest-path lib/cli/Cargo.toml $(compiler_features) --bin wasmer --locked + $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --release --manifest-path lib/cli/Cargo.toml $(build_compiler_features) --bin wasmer --locked + +build-wasmer-v8: + $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --release --manifest-path lib/cli/Cargo.toml --no-default-features --features="v8" --bin wasmer --locked + +build-wasmer-wamr: + $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --release --manifest-path lib/cli/Cargo.toml --no-default-features --features="wamr" --bin wasmer --locked + +build-wasmer-wasmi: + $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --release --manifest-path lib/cli/Cargo.toml --no-default-features --features="wasmi" --bin wasmer --locked build-wasmer-jsc: $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --release --manifest-path lib/cli/Cargo.toml --no-default-features --features="jsc,wat" --bin wasmer --locked +build-wasmer-api-js: + $(CARGO_BINARY) rustc --target wasm32-unknown-unknown --release --manifest-path lib/api/Cargo.toml --no-default-features --features "js, js-default, wasm-types-polyfill, enable-serde" --crate-type=cdylib --locked + build-wasmer-debug: - $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/cli/Cargo.toml $(compiler_features) --bin wasmer --locked + RUSTFLAGS="--cfg tokio_unstable" \ + $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --features tokio-subscriber --manifest-path lib/cli/Cargo.toml $(compiler_features) --bin wasmer --locked bench: $(CARGO_BINARY) bench $(CARGO_TARGET_FLAG) $(compiler_features) -build-wasmer-wasm: - $(CARGO_BINARY) build --release --manifest-path lib/cli-compiler/Cargo.toml --target wasm32-wasi --features singlepass,cranelift --bin wasmer-compiler --locked - # For best results ensure the release profile looks like the following # in Cargo.toml: # [profile.release] @@ -412,7 +488,7 @@ build-wasmer-wasm: # rpath = false build-wasmer-headless-minimal: RUSTFLAGS += -C panic=abort build-wasmer-headless-minimal: - RUSTFLAGS="${RUSTFLAGS}" xargo build --target $(HOST_TARGET) --release --manifest-path=lib/cli/Cargo.toml --no-default-features --features sys,headless-minimal --bin wasmer-headless + RUSTFLAGS="${RUSTFLAGS}" cargo build --target $(HOST_TARGET) --release --manifest-path=lib/cli/Cargo.toml --no-default-features --features sys,headless-minimal,singlepass --bin wasmer-headless ifeq ($(IS_DARWIN), 1) strip target/$(HOST_TARGET)/release/wasmer-headless else ifeq ($(IS_WINDOWS), 1) @@ -422,7 +498,7 @@ else endif build-docs: - $(CARGO_BINARY) doc $(CARGO_TARGET_FLAG) --release $(compiler_features) --document-private-items --no-deps --workspace --exclude wasmer-c-api --locked + $(CARGO_BINARY) doc $(CARGO_TARGET_FLAG) --release $(compiler_features) --features wasmer/experimental-async --document-private-items --no-deps --workspace --exclude wasmer-c-api --exclude wasmer-swift --locked # The tokio crate was excluded from the docs build because the code (which is not under our control) # does not currently compile its docs successfully @@ -454,20 +530,25 @@ test-build-docs-rs: done test-build-docs-rs-ci: - @manifest_docs_rs_features_path="package.metadata.docs.rs.features"; \ + # detect toml in the path + if ! command -v toml &> /dev/null; then \ + echo "toml-cli could not be found. Please install it with `cargo install toml-cli`"; \ + exit 1; \ + fi; \ for manifest_path in lib/*/Cargo.toml; do \ - toml get "$$manifest_path" "$$manifest_docs_rs_features_path" >/dev/null 2>&1; \ + toml get "$$manifest_path" "package.metadata.docs.rs.features" >/dev/null 2>&1; \ + printf "toml get \"$$manifest_path\" \"package.metadata.docs.rs.features\"\n"; \ if [ $$? -ne 0 ]; then \ features=""; \ else \ - features=$$(toml get "$$manifest_path" "$$manifest_docs_rs_features_path" | sed 's/\[//; s/\]//; s/"\([^"]*\)"/\1/g'); \ + features=$$(toml get "$$manifest_path" "package.metadata.docs.rs.features" | sed 's/\[//; s/\]//; s/"\([^"]*\)"/\1/g'); \ fi; \ - printf "*** Building doc for package with manifest $$manifest_path ***\n\n"; \ + printf "*** Building doc for package with manifest $$manifest_path and features $$features ***\n\n"; \ if [ -z "$$features" ]; then \ - RUSTDOCFLAGS="--cfg=docsrs" $(CARGO_BINARY) +nightly-2023-10-05 doc $(CARGO_TARGET_FLAG) --manifest-path "$$manifest_path" --no-deps --locked || exit 1; \ + RUSTDOCFLAGS="--cfg=docsrs" $(CARGO_BINARY) +nightly doc $(CARGO_TARGET_FLAG) --manifest-path "$$manifest_path" --no-deps --locked || exit 1; \ else \ printf "Following features are inferred from Cargo.toml: $$features\n\n\n"; \ - RUSTDOCFLAGS="--cfg=docsrs" $(CARGO_BINARY) +nightly-2023-10-05 doc $(CARGO_TARGET_FLAG) --manifest-path "$$manifest_path" --no-deps --features "$$features" --locked || exit 1; \ + RUSTDOCFLAGS="--cfg=docsrs" $(CARGO_BINARY) +nightly doc $(CARGO_TARGET_FLAG) --manifest-path "$$manifest_path" --no-deps --features "$$features" --locked || exit 1; \ fi; \ done @@ -481,7 +562,7 @@ build-docs-capi: build-capi: RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ - --no-default-features --features wat,compiler,wasi,middlewares,webc_runner $(capi_compiler_features) --locked + --no-default-features --features wat,sys-default,compiler,wasi,middlewares,webc_runner $(capi_compiler_features) --locked build-capi-singlepass: RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ @@ -507,24 +588,36 @@ build-capi-llvm-universal: RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ --no-default-features --features wat,compiler,llvm,wasi,middlewares,webc_runner --locked +build-capi-v8: + RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ + --no-default-features --features wat,v8-default,wasi --locked + +build-capi-wamr: + RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ + --no-default-features --features wat,wamr-default,wasi --locked + +build-capi-wasmi: + RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ + --no-default-features --features wat,wasmi-default,wasi --locked + build-capi-jsc: RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ - --no-default-features --features wat,jsc,wasi --locked + --no-default-features --features wat,jsc-default,wasi --locked # Headless (we include the minimal to be able to run) build-capi-headless: ifeq ($(CARGO_TARGET_FLAG),) - RUSTFLAGS="${RUSTFLAGS} -C panic=abort -C link-dead-code -C lto -O -C embed-bitcode=yes" $(CARGO_BINARY) build --target $(HOST_TARGET) --manifest-path lib/c-api/Cargo.toml --release \ - --no-default-features --features compiler-headless,wasi,webc_runner --target-dir target/headless --locked + CARGO_TARGET_DIR=target/headless RUSTFLAGS="${RUSTFLAGS} -C panic=abort -C link-dead-code -C lto -O -C embed-bitcode=yes" $(CARGO_BINARY) build --target $(HOST_TARGET) --manifest-path lib/c-api/Cargo.toml --release \ + --no-default-features --features compiler-headless,wasi,webc_runner,wasmer-api/cranelift --locked else - RUSTFLAGS="${RUSTFLAGS} -C panic=abort -C link-dead-code -C lto -O -C embed-bitcode=yes" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ - --no-default-features --features compiler-headless,wasi,webc_runner --target-dir target/headless --locked + CARGO_TARGET_DIR=target/headless RUSTFLAGS="${RUSTFLAGS} -C panic=abort -C link-dead-code -C lto -O -C embed-bitcode=yes" $(CARGO_BINARY) build $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ + --no-default-features --features compiler-headless,wasi,webc_runner,wasmer-api/cranelift --locked endif build-capi-headless-ios: - RUSTFLAGS="${RUSTFLAGS} -C panic=abort" cargo lipo --manifest-path lib/c-api/Cargo.toml --release \ - --no-default-features --features compiler-headless,wasi,webc_runner --target-dir target/$(CARGO_TARGET)/headless + CARGO_TARGET_DIR=target/$(CARGO_TARGET)/headless RUSTFLAGS="${RUSTFLAGS} -C panic=abort" cargo lipo --manifest-path lib/c-api/Cargo.toml --release \ + --no-default-features --features compiler-headless,wasi,webc_runner ##### # @@ -532,21 +625,21 @@ build-capi-headless-ios: # ##### -# test compilers +# test compilers (intentionally not using nextest as it runs tests in separate processes) test-stage-0-wast: - $(CARGO_BINARY) nextest run $(CARGO_TARGET_FLAG) --release $(compiler_features) --locked + $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --release $(compiler_features) --locked # test packages test-stage-1-test-all: - $(CARGO_BINARY) nextest run $(CARGO_TARGET_FLAG) --workspace --release $(exclude_tests) --exclude wasmer-c-api-test-runner --exclude wasmer-capi-examples-runner $(compiler_features) --locked - $(CARGO_BINARY) test --doc $(CARGO_TARGET_FLAG) --workspace --release $(exclude_tests) --exclude wasmer-c-api-test-runner --exclude wasmer-capi-examples-runner $(compiler_features) --locked + $(CARGO_BINARY) nextest run $(CARGO_TARGET_FLAG) --workspace --release $(exclude_tests) --exclude wasmer-c-api-test-runner --exclude wasmer-capi-examples-runner $(compiler_features) --features experimental-async --locked && \ + $(CARGO_BINARY) test --doc $(CARGO_TARGET_FLAG) --workspace --release $(exclude_tests) --exclude wasmer-c-api-test-runner --exclude wasmer-capi-examples-runner $(compiler_features) --features experimental-async --locked test-stage-2-test-compiler-cranelift-nostd: $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --manifest-path lib/compiler-cranelift/Cargo.toml --release --no-default-features --features=std --locked test-stage-3-test-compiler-singlepass-nostd: $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --manifest-path lib/compiler-singlepass/Cargo.toml --release --no-default-features --features=std --locked test-stage-4-wasmer-cli: - $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --manifest-path lib/virtual-fs/Cargo.toml --release --locked - $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --manifest-path lib/cli/Cargo.toml $(compiler_features) --release --locked + $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --manifest-path lib/virtual-fs/Cargo.toml --release --locked && \ +$(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --manifest-path lib/cli/Cargo.toml $(compiler_features) --release --locked # test examples test-stage-5-test-examples: @@ -555,8 +648,8 @@ test-stage-6-test-examples-release: $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --release $(compiler_features) --features wasi --examples --locked test-stage-7-capi-integration-tests: - $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --release --package wasmer-c-api-test-runner --locked - $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --release --package wasmer-capi-examples-runner --locked + $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --release --package wasmer-c-api-test-runner --locked && \ +$(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --release --package wasmer-capi-examples-runner --locked test: test-compilers test-packages test-examples @@ -566,6 +659,22 @@ test-packages: test-stage-1-test-all test-stage-2-test-compiler-cranelift-nostd test-examples: test-stage-5-test-examples test-stage-6-test-examples-release + +test-v8: test-v8-api + +test-v8-api: + cargo nextest run --package=wasmer --release --features="v8-default" --no-default-features + +test-wamr: test-wamr-api + +test-wamr-api: + cargo nextest run --package=wasmer --release --features="wamr-default" --no-default-features + +test-wasmi: test-wasmi-api + +test-wasmi-api: + cargo nextest run --package=wasmer --release --features="wasmi-default" --no-default-features + test-js: test-js-api test-js-wasi # TODO: disabled because the no-std / core feature doesn't actually work at the moment. @@ -576,6 +685,9 @@ test-js: test-js-api test-js-wasi test-js-api: cd lib/api && wasm-pack test --node -- --no-default-features --features js-default,wat +lint-js: + cargo clippy --target wasm32-unknown-unknown --manifest-path lib/api/Cargo.toml --no-default-features --features "js-default" --locked -- -D clippy::all + test-js-wasi: cd lib/wasix && wasm-pack test --node -- --no-default-features --features test-js,wasmer/js,wasmer/std @@ -605,16 +717,27 @@ test-llvm: $(foreach llvm_engine,$(filter llvm-%,$(compilers_engines)),test-$(ll # same as test-capi, but without the build-capi step first test-capi-ci: $(foreach compiler_engine,$(capi_compilers_engines),test-capi-crate-$(compiler_engine) test-capi-integration-$(compiler_engine)) +# Run clippy for the C API crate across the CI matrix. +lint-capi-ci: $(foreach compiler_engine,$(capi_compilers_engines),lint-capi-crate-$(compiler_engine)) + # This test requires building the capi with all the available # compilers first test-capi: build-capi package-capi test-capi-ci +test-capi-v8: build-capi-v8 package-capi test-capi-integration-v8 +test-capi-wasmi: build-capi-wasmi package-capi test-capi-integration-wasmi +test-capi-wamr: build-capi-wamr package-capi test-capi-integration-wamr + test-capi-jsc: build-capi-jsc package-capi test-capi-integration-jsc test-capi-crate-%: WASMER_CAPI_CONFIG=$(shell echo $@ | sed -e s/test-capi-crate-//) $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ --no-default-features --features wat,compiler,wasi,middlewares,webc_runner $(capi_compiler_features) --locked -- --nocapture +lint-capi-crate-%: + WASMER_CAPI_CONFIG=$(shell echo $@ | sed -e s/lint-capi-crate-//) RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) clippy $(CARGO_TARGET_FLAG) --manifest-path lib/c-api/Cargo.toml --release \ + --no-default-features --features wat,compiler,wasi,middlewares,webc_runner $(capi_compiler_features) --locked -- -D clippy::all + test-capi-integration-%: # note: you need to do make build-capi and make package-capi first! # Test the Wasmer C API tests for C @@ -638,14 +761,23 @@ test-wasix: build-wasmer test-integration-cli: build-wasmer build-capi package-capi-headless package distribution cp ./dist/wasmer.tar.gz ./link.tar.gz - rustup target add wasm32-wasi + rustup target add wasm32-wasip1 WASMER_DIR=`pwd`/package $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --features webc_runner --no-fail-fast -p wasmer-integration-tests-cli --locked # Before running this in the CI, we need to set up link.tar.gz and /cache/wasmer-[target].tar.gz test-integration-cli-ci: require-nextest - rustup target add wasm32-wasi + rustup target add wasm32-wasip1 $(CARGO_BINARY) nextest run $(CARGO_TARGET_FLAG) --features webc_runner -p wasmer-integration-tests-cli --locked +test-integration-cli-wamr-ci: require-nextest build-wasmer-wamr + rustup target add wasm32-wasip1 + $(CARGO_BINARY) nextest run $(CARGO_TARGET_FLAG) --features webc_runner,wamr -p wasmer-integration-tests-cli --locked --no-fail-fast -E "not (test(deploy) | test(snapshot) | test(login) | test(init) | test(gen_c_header) | test(up_to_date) | test(publish) | test(create) | test(whoami) | test(config) | test(c_flags))" + +test-integration-cli-wasmi-ci: require-nextest + rustup target add wasm32-wasip1 + $(CARGO_BINARY) nextest run $(CARGO_TARGET_FLAG) --features webc_runner,wamr -p wasmer-integration-tests-cli --locked --no-fail-fast -E "not (test(deploy) | test(snapshot) | test(login) | test(init) | test(gen_c_header) | test(up_to_date) | test(publish) | test(create) | test(whoami) | test(config) | test(c_flags))" + + test-integration-ios: $(CARGO_BINARY) test $(CARGO_TARGET_FLAG) --features webc_runner -p wasmer-integration-tests-ios --locked @@ -924,18 +1056,35 @@ install-wasmer-headless-minimal: update-testsuite: git subtree pull --prefix tests/wast/spec https://github.com/WebAssembly/testsuite.git master --squash -lint-packages: RUSTFLAGS += -D dead-code -D nonstandard-style -D unused-imports -D unused-mut -D unused-variables -D unused-unsafe -D unreachable-patterns -D bad-style -D improper-ctypes -D unused-allocation -D unused-comparisons -D while-true -D unconditional-recursion -D bare-trait-objects -D function_item_references # TODO: add `-D missing-docs` +lint-packages: RUSTFLAGS += -D dead-code -D nonstandard-style -D unused-imports -D unused-mut -D unused-variables -D unused-unsafe -D unreachable-patterns -D bad-style -D improper-ctypes -D unused-allocation -D unused-comparisons -D while-true -D unconditional-recursion -D bare-trait-objects -D function_item_references -D clippy::uninlined_format_args # TODO: add `-D missing-docs` lint-packages: - RUSTFLAGS="${RUSTFLAGS}" cargo clippy --all --exclude wasmer-cli --locked -- -D clippy::all + RUSTFLAGS="${RUSTFLAGS}" cargo clippy --all --examples --exclude wasmer-cli --exclude wasmer-swift --locked -- -D clippy::all RUSTFLAGS="${RUSTFLAGS}" cargo clippy --manifest-path lib/cli/Cargo.toml --locked $(compiler_features) -- -D clippy::all RUSTFLAGS="${RUSTFLAGS}" cargo clippy --manifest-path fuzz/Cargo.toml --locked $(compiler_features) -- -D clippy::all +lint-wasmi: + RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) clippy $(CARGO_TARGET_FLAG) --package=wasmer --no-default-features --features="wasmi-default" --locked -- -D clippy::all + +lint-wamr: + RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) clippy $(CARGO_TARGET_FLAG) --package=wasmer --no-default-features --features="wamr-default" --locked -- -D clippy::all + +lint-v8: + RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) clippy $(CARGO_TARGET_FLAG) --package=wasmer --no-default-features --features="v8-default" --locked -- -D clippy::all + +lint-jsc: + RUSTFLAGS="${RUSTFLAGS}" $(CARGO_BINARY) clippy $(CARGO_TARGET_FLAG) --package=wasmer --no-default-features --features="jsc-default,wat" --locked -- -D clippy::all + +lint-package-crate: + RUSTFLAGS="${RUSTFLAGS}" cargo clippy --manifest-path lib/package/Cargo.toml --locked -- -D clippy::all + lint-formatting: cargo fmt --all -- --check cargo fmt --manifest-path fuzz/Cargo.toml -- --check lint: lint-formatting lint-packages +lint-all: lint-formatting lint-packages lint-wasmi lint-wamr lint-v8 lint-jsc lint-capi-ci lint-package-crate + install-local: package tar -C ~/.wasmer -zxvf wasmer.tar.gz @@ -948,3 +1097,7 @@ update-graphql-schema: require-nextest: cargo nextest --version > /dev/null || cargo binstall cargo-nextest --secure || cargo install cargo-nextest + +# Check all the features compatible with the `sys` backend. +check-api-features: + cargo check --package wasmer --features=$(subst $(space),$(comma),$(compilers)),default,artifact-size,core,enable-serde,wasmer-artifact-load,wasmer-artifact-create,static-artifact-load,static-artifact-create diff --git a/README.md b/README.md index fe42233abe..e917572ebc 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@

- - Build Status + + Github release License @@ -17,8 +17,11 @@ Wasmer Docs - Wasmer on Discord + Wasmer on Discord + + Wasmer on X +

@@ -28,7 +31,7 @@ Wasmer is a _blazing fast_ and _secure_ [**WebAssembly**](https://webassembly.or _lightweight containers_ to run anywhere: from _Desktop_ to the _Cloud_, _Edge_ and your browser. - **Secure** by default. No file, network, or environment access, unless explicitly enabled. -- **Pluggable**. supports [**WASIX**](https://wasix.org/), [WASI](https://github.com/WebAssembly/WASI) and [Emscripten](https://emscripten.org/) out of the box. +- **Pluggable**. supports [**WASIX**](https://wasix.org/), [WASI](https://github.com/WebAssembly/WASI) out of the box. - **Incredibly Fast**. Run WebAssembly at near-native speeds. - **Embeddable** [anywhere via Wasmer SDKs](https://github.com/wasmerio/wasmer/#wasmer-sdk) @@ -89,9 +92,12 @@ curl https://get.wasmer.io -sSfL | sh > Note: You can also try Wasmer online in [wasmer.sh](https://wasmer.sh/) -> + ### Quickstart +> [!Tip] +> As part of our commitment to open source, we want to reward all GitHub users. In addition to the free tier, you can get up to $200 in [Wasmer Edge](https://wasmer.io/products/edge) credits for your open-source contributions - [Claim here](https://github.com/wasmerio/wasmer/discussions/5560). + You can start by running [Cowsay](https://wasmer.io/syrusakbary/cowsay): @@ -136,6 +142,7 @@ languages** with the Wasmer SDK: | ![Ruby logo] | [**Ruby**][Ruby integration] | [`wasmer` Ruby Gem] | [Learn][ruby docs] | | ![Java logo] | [**Java**][Java integration] | [`wasmer/wasmer-jni` Bintray package] | [Learn][java docs] | | ![R logo] | [**R**][R integration] | _no published package_ | [Learn][r docs] | +| ![R logo] | [**R**][R integration_1] | _no published package_ | [Learn][r docs_1] | | ![Postgres logo] | [**Postgres**][Postgres integration] | _no published package_ | [Learn][postgres docs] | | ![Swift logo] | [**Swift**][Swift integration] | _no published package_ | | | ![Dart logo] | [**Dart**][Dart integration] | [`wasm` pub package] | | @@ -180,7 +187,7 @@ languages** with the Wasmer SDK: [js logo]: https://raw.githubusercontent.com/wasmerio/wasmer/master/assets/languages/js.svg [js integration]: https://github.com/wasmerio/wasmer-js [`@wasmerio` npm packages]: https://www.npmjs.com/org/wasmer -[js docs]: https://docs.wasmer.io/integrations/js/reference-api +[js docs]: https://docs.wasmer.io/sdk/wasmer-js [ruby logo]: https://raw.githubusercontent.com/wasmerio/wasmer/master/assets/languages/ruby.svg [ruby integration]: https://github.com/wasmerio/wasmer-ruby [`wasmer` ruby gem]: https://rubygems.org/gems/wasmer @@ -196,6 +203,8 @@ languages** with the Wasmer SDK: [r logo]: https://raw.githubusercontent.com/wasmerio/wasmer/master/assets/languages/r.svg [r integration]: https://github.com/dirkschumacher/wasmr [r docs]: https://github.com/dirkschumacher/wasmr#example +[r integration_1]: https://sounkou-bioinfo.r-universe.dev/wasmer +[r docs_1]: https://sounkou-bioinfo.r-universe.dev/wasmer/doc/manual.html [postgres logo]: https://raw.githubusercontent.com/wasmerio/wasmer/master/assets/languages/postgres.svg [postgres integration]: https://github.com/wasmerio/wasmer-postgres [postgres docs]: https://github.com/wasmerio/wasmer-postgres#usage--documentation @@ -238,7 +247,7 @@ We recommend reading the following guide on how to contribute into a complex pro https://mitchellh.com/writing/contributing-to-complex-projects Check our docs on how to [build Wasmer from -source](https://docs.wasmer.io/developers/build-from-source) or [test your changes](https://docs.wasmer.io/developers/testing). +source](./docs/BUILD.md) or [test your changes](https://docs.wasmer.io/developers/testing).