Pin a contract or pairing's generic arrays to your node's length with `refine`, and harden how servers decode goals.
Released on August 21, 2026
- Pin a contract or pairing document's generic arrays to a fixed length for your node with a
refineblock on an implements, consumes, or pairing entry. - A generated action server now rejects a goal whose request bytes do not fit its declared shape with the decode error and keeps serving, never reaching your decider.
- Python nodes now raise a
ValueErrorwhen a fixed-length array is encoded or decoded with any other number of elements, matching Rust's fixed-size arrays.