Skip to content

Conversation

@bobbinth
Copy link
Contributor

This is a tracking PR for v0.21.0 release.

bobbinth and others added 5 commits December 28, 2025 17:24
…743)

refactor: use standard library and P3 utilities for slice operations

Replace custom unsafe implementations with idiomatic alternatives:
- Use slice::as_chunks() instead of manual pointer arithmetic in group_slice_elements
- Use p3-util::as_base_slice() for flatten_slice_elements
- Use p3-util::flatten_to_base() for flatten_vector_elements
* refactor: remove winter-compat and p3-compat feature modules

The winter-compat and p3-compat modules in miden-serde-utils were
temporary compatibility layers added during the Winterfell to Plonky3
migration. Now that the migration is complete (see miden-vm PR #2472
and miden-base PR #2213), these modules are no longer needed.

Changes:
- Removed winter-compat and p3-compat feature flags from miden-serde-utils
- Deleted miden-serde-utils/src/winter_compat.rs
- Deleted miden-serde-utils/src/p3_compat.rs
- Added Goldilocks serialization implementations directly in miden-serde-utils
- Removed compat feature dependencies from workspace and miden-crypto Cargo.toml
- Cleaned up cargo-machete configuration

The Serializable/Deserializable implementations for Goldilocks are now
always available in miden-serde-utils without requiring a feature flag,
simplifying the dependency structure.

* chore: Changelog
* feat: activate upstream p3 parallel features when concurrent is enabled

- Add p3-maybe-rayon as a direct dependency (no_std compatible)
- Enable p3-maybe-rayon/parallel when concurrent feature is active
- Enable p3-miden-prover/parallel for STARK prover parallelism
- Enable p3-util/parallel for utility parallelism

* refactor: use p3-maybe-rayon instead of custom iterator imports

Replace custom iterators module imports with p3_maybe_rayon::prelude
which provides the same IntoParallelRefMutIterator trait.

* refactor: remove custom iterator macros in favor of p3-maybe-rayon

Delete iter!, iter_mut!, and batch_iter_mut! macros. These are replaced
by p3-maybe-rayon which provides the same conditional parallel/serial
iteration via IntoParallelIterator and related traits.

* refactor(smt): use p3-maybe-rayon instead of rayon directly

Replace all direct rayon::prelude imports with p3_maybe_rayon::prelude
in SMT concurrent code. This provides the same parallel iteration traits
while ensuring consistency with upstream Plonky3 crates.

* chore: Changelog

* fix: typo in changelog (hoegrown -> homegrown)

* feat: re-export p3-maybe-rayon prelude as parallel module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants