Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4
id: filter
with:
filters: |
Expand All @@ -67,7 +67,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
components: rustfmt
Expand All @@ -91,7 +91,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
components: clippy
Expand Down Expand Up @@ -139,7 +139,7 @@ jobs:
# the build on warnings regardless of this step.
- name: Upload SARIF to code scanning
if: always() && hashFiles('rust-clippy-results.sarif') != '' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
sarif_file: rust-clippy-results.sarif
category: clippy
Expand All @@ -153,7 +153,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
Expand Down Expand Up @@ -216,11 +216,11 @@ jobs:
with:
fetch-depth: 1
submodules: recursive
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
- uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
- uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-nextest
# nextest runs the lib / bins / integration tests and writes the JUnit
Expand Down Expand Up @@ -270,7 +270,7 @@ jobs:
submodules: recursive
# llvm-tools-preview supplies llvm-profdata/llvm-cov for source-based
# coverage instrumentation.
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
components: llvm-tools-preview
Expand All @@ -280,7 +280,7 @@ jobs:
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
key: coverage
- uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
- uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-nextest,cargo-llvm-cov
# nextest is the same runner the `test` job uses, so instrumenting it
Expand Down Expand Up @@ -331,7 +331,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # 1.94
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # 1.94
with:
toolchain: "1.94"
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
Expand Down Expand Up @@ -374,7 +374,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
Expand Down Expand Up @@ -405,11 +405,11 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
- uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
- uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-about@0.8.4
# Fails if any dep in either binary crate's transitive closure
Expand Down Expand Up @@ -444,7 +444,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
components: clippy
Expand Down Expand Up @@ -472,7 +472,7 @@ jobs:
tar -xzf /tmp/rumdl.tgz -C /tmp rumdl
install -m 0755 /tmp/rumdl /usr/local/bin/rumdl
rumdl --version
- uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
- uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: taplo-cli@0.10.0,shellcheck@0.10.0,shfmt@3.12.0
# actionlint 1.7.12's prebuilt binary is not yet in
Expand Down Expand Up @@ -611,7 +611,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
Expand Down Expand Up @@ -701,7 +701,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
Expand Down Expand Up @@ -802,7 +802,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
Expand Down Expand Up @@ -862,7 +862,7 @@ jobs:
with:
fetch-depth: 1
submodules: false
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Initialize CodeQL
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
category: /language:${{ matrix.language }}
4 changes: 2 additions & 2 deletions .github/workflows/mutation-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ jobs:
submodules: recursive

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable

- name: Cache cargo build artifacts
uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1

- name: Install cargo-mutants
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-mutants

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ jobs:
# Swatinem/rust-cache below keeps the cold-build cost
# bounded — warm runs are dominated by incremental relink,
# not full recompile.
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable
# `shared-key` (vs `key`) lets Swatinem fall back to
Expand Down Expand Up @@ -349,7 +349,7 @@ jobs:
# distinct analysis from ci.yml's `category: clippy` upload.
- name: Upload self-scan SARIF to code scanning
if: always() && hashFiles('bca.sarif') != '' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
sarif_file: bca.sarif
category: bca
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-cli-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,13 @@ jobs:
# on the host; the `targets:` add lets cargo-about's
# `--filter-platform` resolve a cross target (e.g. x86_64 on the
# arm64 macOS runner) without a full target install.
- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
targets: ${{ matrix.target }}

- name: Install cargo-about
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-about@${{ env.CARGO_ABOUT_VERSION }}

Expand Down
30 changes: 15 additions & 15 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
persist-credentials: false
ref: ${{ steps.tag.outputs.tag }}

- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}

Expand Down Expand Up @@ -253,19 +253,19 @@ jobs:
persist-credentials: false
ref: ${{ needs.preflight.outputs.ref }}

- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
targets: ${{ matrix.target }}

- name: Install cross (Linux cross-compile)
if: matrix.cross
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cross@${{ env.CROSS_VERSION }}

- name: Install cargo-about
uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-about@${{ env.CARGO_ABOUT_VERSION }}

Expand Down Expand Up @@ -494,12 +494,12 @@ jobs:
persist-credentials: false
ref: ${{ needs.preflight.outputs.ref }}

- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
targets: ${{ matrix.target }}

- uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
- uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-deb@${{ env.CARGO_DEB_VERSION }}

Expand Down Expand Up @@ -579,12 +579,12 @@ jobs:
persist-credentials: false
ref: ${{ needs.preflight.outputs.ref }}

- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
targets: ${{ matrix.target }}

- uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
- uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-generate-rpm@${{ env.CARGO_GENERATE_RPM_VERSION }}

Expand Down Expand Up @@ -704,7 +704,7 @@ jobs:
# cross-arch builds (aarch64 on an x86_64 runner), run the Alpine
# container under qemu for the target architecture so abuild's
# CARCH matches.
- uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
if: matrix.apk_arch != 'x86_64'

- name: Build .apk inside alpine:3.20 container
Expand Down Expand Up @@ -800,7 +800,7 @@ jobs:
image: [ubuntu:22.04, ubuntu:24.04, debian:12]
arch: [amd64, arm64]
steps:
- uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
if: matrix.arch == 'arm64'
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
Expand Down Expand Up @@ -857,7 +857,7 @@ jobs:
image: [rockylinux:9, fedora:latest, amazonlinux:2023]
arch: [x86_64, aarch64]
steps:
- uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
if: matrix.arch == 'aarch64'
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
Expand Down Expand Up @@ -908,7 +908,7 @@ jobs:
matrix:
arch: [x86_64, aarch64]
steps:
- uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
if: matrix.arch == 'aarch64'
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
Expand Down Expand Up @@ -1121,10 +1121,10 @@ jobs:
fi
ls -la release/

- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
- uses: taiki-e/install-action@bffeee26d4db9be238a4ea78d8826604ebcb594d # v2.82.5
- uses: taiki-e/install-action@c93ccc03e00cd0e08e494f5fd058a6c55a6a1907 # v2.82.8
with:
tool: cargo-cyclonedx@${{ env.CARGO_CYCLONEDX_VERSION }}

Expand Down Expand Up @@ -1418,7 +1418,7 @@ jobs:
persist-credentials: false
ref: ${{ needs.preflight.outputs.ref }}

- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@ jobs:
retention-days: 5

- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
sarif_file: results.sarif
2 changes: 1 addition & 1 deletion .github/workflows/smoke-dryrun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
with:
submodules: false

- uses: dtolnay/rust-toolchain@67ef31d5b988238dd797d409d6f9574278e20537 # stable tip
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # stable tip
with:
toolchain: stable

Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,19 @@ for historical reference.
nightly (`--cfg docsrs`), so the published rendering can be verified
before a release rather than discovered broken after publish.

### Security

- Cleared three RUSTSEC advisories flagged by the `cargo-deny` gate.
`crossbeam-epoch` (a shipped transitive dependency via `crossbeam`)
moves `0.9.18` → `0.9.20` for the invalid-pointer-dereference in its
`fmt::Pointer` impl (RUSTSEC-2026-0204). The dev-only `quick-xml`
test dependency moves `0.39` → `0.41` for the quadratic
duplicate-attribute check (RUSTSEC-2026-0194) and the unbounded
namespace-declaration allocation in `NsReader` (RUSTSEC-2026-0195);
the XML-validation test helpers migrate from the now-deprecated
`Attribute::unescape_value()` to `normalized_value(XmlVersion::Implicit1_0)`,
which is its exact behavioral equivalent.

## [2.0.0] - 2026-06-29

The project's first major version bump since `1.0`, and the first
Expand Down
Loading
Loading