Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
af37cd0
chore: increment crate versions to v0.21.0
bobbinth Dec 29, 2025
9560764
refactor: use standard library and P3 utilities for slice operations …
huitseeker Dec 29, 2025
3d1f447
Merge branch 'main' into next
bobbinth Dec 29, 2025
b30552e
refactor: remove winter-compat and p3-compat feature modules (#745)
huitseeker Dec 31, 2025
06b270b
feat: thread concurrent feature to Plonky3's maybe_rayon (#749)
huitseeker Jan 6, 2026
2aee0f7
Merge branch 'main' into next
bobbinth Jan 8, 2026
dcdce06
refactor: reduce test dependencies on std feature (#752)
huitseeker Jan 8, 2026
5635e61
refactor: replace p3-miden-goldilocks with upstream p3-goldilocks
adr1anh Jan 5, 2026
8e88d77
chore: update plonky3
adr1anh Jan 5, 2026
9ae98ef
chore: update p3-miden to latest commit
adr1anh Jan 5, 2026
317e600
chore: allow 0xMiden git sources in cargo-deny
adr1anh Jan 5, 2026
c20e9b6
refactor: revert LEAVES to const now that P3 0.4.2 has const construc…
huitseeker Jan 8, 2026
4be02a0
feat(SmtForest) Skeleton out the new forest (#767)
iamrecursion Jan 13, 2026
26600d2
Merge branch 'next' into tracking-p3-0.4.2
adr1anh Jan 14, 2026
941404c
chore: switch to release p3-miden
adr1anh Jan 14, 2026
b3a7b53
fixup! chore: switch to release p3-miden
adr1anh Jan 14, 2026
c6a2060
Merge pull request #728 from 0xMiden/tracking-p3-0.4.2
adr1anh Jan 14, 2026
b2122b7
Sponge state remapping (#755)
Al-Kindi-0 Jan 14, 2026
6936e5c
feat: fuzz (de/)serialization, prevent unbounded deserialization (#757)
huitseeker Jan 14, 2026
336c985
feat: SmtLeaf::try_from_elements() (#773)
sergerad Jan 14, 2026
c15c6f0
chore: update changelog
bobbinth Jan 14, 2026
4410eb3
chore: refresh Cargo.lock file
bobbinth Jan 14, 2026
5c988b7
chore: copy WordWrapper macro from miden-base
bobbinth Jan 14, 2026
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
61 changes: 61 additions & 0 deletions .github/workflows/fuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Runs fuzz targets with short execution time for CI smoke testing.
# This is not a replacement for dedicated fuzzing runs, but catches obvious regressions.
# Runs on a schedule (daily) rather than every PR to save CI resources.

name: fuzz

concurrency:
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true

on:
schedule:
# Run daily at 2 AM UTC
- cron: '0 2 * * *'
workflow_dispatch: # Allow manual triggering

permissions:
contents: read

jobs:
fuzz-miden-serde-utils:
name: fuzz miden-serde-utils (${{ matrix.target }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target: [primitives, collections, string, vint64, goldilocks, budgeted]
timeout-minutes: 15
steps:
- uses: actions/checkout@main
- name: Cleanup large tools for build space
uses: ./.github/actions/cleanup-runner
- uses: Swatinem/rust-cache@v2
- name: Install cargo-fuzz
run: cargo install cargo-fuzz --locked
- name: Run fuzz target (smoke test)
working-directory: miden-serde-utils
run: |
cargo fuzz run ${{ matrix.target }} -- -max_total_time=60 -runs=10000

fuzz-miden-crypto:
name: fuzz miden-crypto (${{ matrix.target }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target: [word, merkle, smt_serde]
timeout-minutes: 15
steps:
- uses: actions/checkout@main
- name: Cleanup large tools for build space
uses: ./.github/actions/cleanup-runner
- uses: Swatinem/rust-cache@v2
- name: Install cargo-fuzz
run: cargo install cargo-fuzz --locked
- name: Run fuzz target (smoke test)
run: |
# Build the fuzz target first
cargo fuzz build --fuzz-dir miden-crypto-fuzz ${{ matrix.target }}
# Run directly to avoid cargo-fuzz wrapper SIGPIPE issue
miden-crypto-fuzz/target/x86_64-unknown-linux-gnu/release/${{ matrix.target }} -max_total_time=60 -runs=10000
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## 0.21.0 (2026-01-14)

- Use more idiomatic Plonky3 APIs ([#743](https://github.com/0xMiden/crypto/pull/743)).
- [BREAKING] Removed `p3-compat` and `winter-compat` features ([#745](https://github.com/0xMiden/crypto/pull/745)).
- Made concurrent feature interact with plonky3's parallel features, replace homegrown iterator macros with p3-maybe-rayon ([#749](https://github.com/0xMiden/crypto/pull/749)).
- Reduced dependency on std in tests, add test helpers to access Rngs in no-std contexts ([#752](https://github.com/0xMiden/crypto/pull/752)).
- [BREAKING] Changed sponge state layout from `[CAPACITY, RATE1, RATE0]` (BE) to `[RATE0, RATE1, CAPACITY]` (LE) ([#755](https://github.com/0xMiden/crypto/pull/755)).
- [BREAKING] Added length-prefixing to Serializable/Deserializable impls for collections, fuzz deserialization for panics ([#757](https://github.com/0xMiden/crypto/pull/757)).
- Added `SmtLeaf::try_from_elements()` ([#773](https://github.com/0xMiden/crypto/pull/773)).
- Copied `WordWrapper` macro from `miden-base` to `miden-crypto-derive`.

# 0.20.1 (2025-12-29)

- Added more re-exports from Plonky3 dependencies ([#741](https://github.com/0xMiden/crypto/pull/741)).
Expand Down
Loading