diff --git a/src/content/docs/updates/developer/2026-09-28-to-2026-10-05.md b/src/content/docs/updates/developer/2026-09-28-to-2026-10-05.md new file mode 100644 index 0000000..2f681ca --- /dev/null +++ b/src/content/docs/updates/developer/2026-09-28-to-2026-10-05.md @@ -0,0 +1,129 @@ +--- +title: "September 28–October 5, 2026" +description: "Verified Dusk engineering progress from the previous seven days, with disclosure-safe summaries and public source links." +sidebar: + hidden: true +--- + +[← Developer Updates](/updates/developer/) + +This update covers verified engineering progress during the previous seven days. Work in private repositories is summarized without private links or implementation identities; links to public changes appear directly beside the summaries they support. + +## Rusk + + +### Piecrust (Private Repositories) + +Expanded Piecrust state compatibility and execution controls while strengthening validation coverage. +- Added a legacy finalization mode for historical chain replay while retaining strict behavior for later state. Preserved compatibility with earlier state-finalization rules. +- Preserved contract memory lengths beyond the legacy 32-bit limit with versioned persisted-state encoding and checked promotion. Protected wide-memory state from truncation during persistence. +- Added protocol-policy control for retaining nested events from reverted calls while preserving legacy receipt behavior. +- Validated oversized inter-contract method names before text parsing across legacy and host-backed calls. Reduced unnecessary processing for inputs that exceeded the method-name limit. +- Preserved historical event receipts for pre-Boreas initializer failures while keeping rolled-back state unchanged. +- Added local and continuous-integration coverage reporting for Piecrust and Crumbles, including changed-line checks. + +## Rusk (continued) + + +### Node (Private Repo) + +Strengthened Rusk node recovery, transaction readmission, and chain-state accounting. +- Added operator-controlled circulating-supply validation with recoverable state updates and bounded height-index scans. Reduced repeated database work during chain synchronization while preserving atomic state transitions. +- Reworked reverted-transaction readmission around shared policy checks, atomic storage, and typed outcomes. Made rollback handling more consistent under capacity and policy constraints. +- Improved full-pool retry guidance and coordinated smaller corrections across node and wallet paths. +- Centralized HTTP error classification for status codes, public messages, and telemetry categories. Kept service-unavailable responses consistent across HTTP paths. +- Simplified database and serialization paths by removing repeated conversion and abstraction layers. +### Protocol (Private Repo) + +Updated Rusk protocol schedules and rule selection across node execution and the virtual machine. +- Defined reward handling for successors of authenticated emergency blocks without changing block or wire formats. +- Replaced scattered feature gates with typed schedules selected consistently at each block height. Aligned feature activation across node, execution, and virtual-machine paths. +- Added chain-ID checks during transaction preverification and carried selected chain IDs into shielded deployments. Reduced cross-chain transaction handling mismatches. +- Cached per-key BLS aggregation coefficients with bounds while preserving aggregation results and error behavior. Reduced repeated consensus-key computation. + +## Coverage upload compatibility + +Updated Codecov upload steps for GitHub's Node.js 24 transition; wallet uploads still require repository token configuration. +- Moved the repository's coverage upload step from Codecov Action v4 to v7. ([PR #996](https://github.com/dusk-network/plonk/pull/996)) +- Pinned the wallet coverage workflow to Codecov Action v7.1.1 while retaining non-blocking uploads. ([PR #119](https://github.com/dusk-network/wallet/pull/119)) +- Pinned the reusable npm coverage workflow to Codecov Action v7.1.1 while preserving its existing inputs. ([PR #64](https://github.com/dusk-network/.github/pull/64)) + +## Wallet + +Refined the wallet README's description, layout, and badge markup, making its non-custodial and cross-browser scope easier to scan. ([PR #120](https://github.com/dusk-network/wallet/pull/120)) + +## Bls12\_381-bls + +Updated Base58 deserialization with fixed encoded-size bounds, rejecting oversized input before allocation while preserving the valid format. ([PR #49](https://github.com/dusk-network/bls12_381-bls/pull/49)) + +## Jubjub-elgamal + +Strengthened encryption gadgets with canonical 64-bit map constraints, rejecting alternate circuit representations while reducing gate counts. ([PR #36](https://github.com/dusk-network/jubjub-elgamal/pull/36)) + +## Jubjub-schnorr + +Strengthened Schnorr signing and multisignature validation across equivalent generator encodings and invalid participant keys. +- Rejected invalid or empty participant-key sets across multisignature signing, share verification, combination, and aggregation. ([PR #91](https://github.com/dusk-network/jubjub-schnorr/pull/91)) +- Normalized variable generators before deriving nonces, signature points, and challenge public keys. ([PR #90](https://github.com/dusk-network/jubjub-schnorr/pull/90)) + +## Jubjub + +Strengthened JubJub key-exchange and secret-handling boundaries by rejecting invalid peer points and erasing temporary entropy after scalar generation. +- Rejected invalid and small-order public points in Diffie-Hellman key exchange while preserving results for prime-order points. ([PR #178](https://github.com/dusk-network/jubjub/pull/178)) +- Wiped the scalar-generation entropy buffer after reduction whenever the zeroize feature is enabled. ([PR #179](https://github.com/dusk-network/jubjub/pull/179)) + +## Bls12\_381 + +Corrected hash-to-curve edge cases and bounded unencodable XMD configurations, aligning exceptional inputs with RFC 9380 while preserving ordinary outputs. +- Rejected oversized domain-separation configurations whose processed length cannot be encoded, with a focused regression test. ([PR #197](https://github.com/dusk-network/bls12_381/pull/197)) +- Handled zero and isogeny-kernel inputs according to RFC 9380 and added differential coverage for the exceptional cases. ([PR #195](https://github.com/dusk-network/bls12_381/pull/195)) + +## Plonk + +Simplified PLONK proving and circuit APIs while tightening canonical proof, key, and decomposition checks. +- Removed \`Default\` from the core \`Circuit\` trait and kept the bound only on APIs that instantiate a default circuit. ([PR #984](https://github.com/dusk-network/plonk/pull/984)) +- Removed unused polynomial powers, aggregate-witness challenge work, and oversized multiplication domains. ([PR #978](https://github.com/dusk-network/plonk/pull/978)) +- Added exact proof decoding, canonical key parsing, and full-width decomposition constraints alongside compatibility checks. ([PR #982](https://github.com/dusk-network/plonk/pull/982)) + +## Hyperlane-dusk + +Established a reviewable Dusk-side contract and tooling candidate with reproducibility controls and explicit operational gates. +- Added beneficiary-authenticated withdrawal of unused dispatch credit with rollback, isolation, and compatibility checks. ([PR #10](https://github.com/dusk-network/hyperlane-dusk/pull/10)) +- Added an owner-supervised workflow that reproduces exact commit candidates from immutable inputs on a protected runner. ([PR #3](https://github.com/dusk-network/hyperlane-dusk/pull/3)) +- Rebased the Dusk-side contracts and supporting tooling on current dependencies, with custody, indexing, compatibility, and CI checks. ([PR #1](https://github.com/dusk-network/hyperlane-dusk/pull/1)) + +## Docs + +Added robots directives and regression coverage for search and AI-use preferences, making the intended crawler policy explicit after deployment. ([PR #154](https://github.com/dusk-network/docs/pull/154)) + +## Contracts + +Changed Principal JSON serialization to use validated Dusk addresses, simplifying data-driver inputs without altering onchain storage. ([PR #54](https://github.com/dusk-network/contracts/pull/54)) + +## DuskEVM (Private Repositories) + +Strengthened DuskEVM transaction handling and finalized-event processing while simplifying shared contract, adapter, and test utilities. +- Removed unused on-chain code and consolidated repeated contract helpers without changing behavior. +- Removed unused adapter code and consolidated repeated transaction-submission and blob-sidecar checks. +- Removed unused test harness tooling and consolidated repeated integration helpers. + +## Dusk Website (Private Repo) + +Improved public-content interpretation for search and AI agents while preserving existing crawl boundaries and page structure. +- Added explicit search and AI-use signals to the website crawler policy while preserving public and preview boundaries. +- Removed repeated decorative headings from agent-readable story content while preserving the visible and accessible page structure. + +## Dusk Wallets (Private Repo) + +Strengthened wallet transaction construction, history enrichment, and cached-note consistency. +- Added typed transaction builders for public and shielded flows while retaining compatibility with existing helper interfaces. Standardized funding, gas, and operation setup across wallet transaction types. +- Rejected invalid text and pointer inputs at wallet transaction-data boundaries while preserving byte-oriented behavior. +- Consolidated the shielded transaction build pipeline across transfers, deployments, conversions, and staking. +- Simplified wallet form, transaction parsing, request, and configuration helpers without changing their intended behavior. + +## Dusk Data Drivers (Private Repo) + +Updated application-data conversion to retain exact values across JSON and contract-driver boundaries. +- Encoded 64-bit and 128-bit integers as decimal strings and accepted both strings and numbers on input. Prevented precision loss for JavaScript clients handling large values. + +[← Back to Developer Updates](/updates/developer/) diff --git a/src/content/docs/updates/developer/index.mdx b/src/content/docs/updates/developer/index.mdx index a81f435..68aa99d 100644 --- a/src/content/docs/updates/developer/index.mdx +++ b/src/content/docs/updates/developer/index.mdx @@ -5,6 +5,10 @@ description: Browse periodic Dusk engineering updates by publication date and co Developer updates summarize engineering work over a stated interval. Updates are listed newest first. +## [September 28–October 5, 2026](/updates/developer/2026-09-28-to-2026-10-05/) + +Verified engineering progress across 11 public repositories, plus disclosure-safe summaries of qualifying private development. + ## [September 21–28, 2026](/updates/developer/2026-09-21-to-2026-09-28/) Verified engineering progress across 5 public repositories, plus disclosure-safe summaries of qualifying private development.