Skip to content

August 31–September 7, 2026

← Developer Updates

This update covers qualifying public-repository engineering activity during the previous seven days. Links to public changes appear directly beside the summaries they support.

Improved restoration, unlock and spent-note handling, alongside keyboard accessibility and browser-support maintenance.

  • Corrected cache reconciliation after reverted spends by checking note-spend status. (PR #963)
  • Added recovery from synchronization failures during restoration while preserving the chosen starting height and editable recovery phrase. (PR #961)
  • Preserved password whitespace during unlock to match the password accepted at wallet setup. (PR #960)
  • Added accessible control labels, native dashboard links and clearer keyboard behavior for navigation and switches. (PR #962)
  • Replaced manually maintained path aliases with the framework-generated configuration. (PR #959)
  • Documented a two-year browser-support policy and aligned JavaScript and CSS build targets with that policy. (PR #958)
  • Replaced Lamb utility calls with native JavaScript and removed the dependency while preserving existing behavior. (PR #956)
  • Removed unused helpers, obsolete compatibility code and unneeded dependencies. (PR #957)

Expanded cross-layer messaging APIs and compatibility checks, and consolidated withdrawal-rehearsal preparation.

  • Shared withdrawal-rehearsal preparation and proof selection through the SDK while preserving its public API. (PR #8)
  • Matched message-call hashing to the canonical OP encoding and added a compatibility test vector. (PR #7)
  • Added APIs for sending cross-layer messages and tracking their submission, proofs and finalization. (PR #6)

Established a Dusk-maintained transcript library compatible with Merlin 3, with updated Rust tooling and dependency handling.

  • Updated the Keccak dependency and retained transcript compatibility. (PR #8)
  • Replaced byte-order helpers with standard conversions and removed an unnecessary test dependency. (PR #7)
  • Corrected internal state layout and supported borrowed labels without changing cryptographic challenges or generated randomness. (PR #6)
  • Added compatibility test vectors and continuous-integration coverage for the new package. (PR #1)

Updated privacy guidance, ecosystem references and developer-update navigation, with a fallback for a legacy transaction link.

  • Added a static fallback for the legacy transaction-model link, directing readers to its maintained deep-dive page. (PR #147)
  • Refreshed ecosystem listings for DuskScan, the .dusk gateway and contract-development tools. (PR #146)
  • Consolidated privacy documentation around a canonical guide and aligned related capability and status references. (PR #145)
  • Added the August 24–31 developer update and its source references to the newest-first update index. (PR #144)

Removed unused embedded encryption code that had been superseded by a dedicated library. (PR #166)

Expanded hash-compatibility tests and enabled stricter development checks without changing release behavior.

  • Restored development-mode assertion and overflow checks while leaving release settings unchanged. (PR #296)
  • Added known-answer tests across hashing domains and multiple outputs to guard API compatibility. (PR #294)
  • Prevented unsafe Rust code from being introduced into the hash library. (PR #293)

Strengthened proof-input binding and serialization checks while reducing unnecessary memory allocation.

  • Serialized scalars into one preallocated buffer instead of allocating a separate buffer for each value. (PR #963)
  • Corrected bit-length calculation for dynamically sized byte containers. (PR #962)
  • Bound proofs to the public-input positions selected during compilation and explicitly rejected incompatible legacy prover data. (PR #958)
  • Made undersized serialization buffers fail explicitly and calculated prover-key storage from actual polynomial lengths. (PR #955)

Updated WebAssembly memory-copy validation and TypeScript definitions in preparation for version 0.2.0. (PR #13)

Strengthened serialized field-value checks and simplified curve-point encoding while preserving valid formats.

  • Rejected noncanonical archived field values while preserving the existing format and valid round trips. (PR #176)
  • Reused compressed point encoders to remove duplicate serialization code without changing its output. (PR #174)

Updated mainnet and testnet account-history links to DuskScan and hid explorer controls for unsupported networks. (PR #105)

Expanded verification tests and restored benchmark coverage while simplifying tree initialization.

  • Restored the zero-knowledge benchmark against the current hash API and included all targets in continuous-integration linting. (PR #138)
  • Added native and circuit tests that rejected tampered leaves, sibling paths and roots. (PR #139)
  • Replaced custom unsafe array initialization with the standard-library equivalent. (PR #134)
  • Removed a redundant proof example that duplicated the maintained integration test. (PR #135)

← Back to Developer Updates