You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Verification game documentation - The verification game is now explained around input events, with Lua recipes that play complete PRT disputes using only the emulator and its Lua library.
Bundle collection - All machine APIs can collect mcycle and uarch-cycle hash bundles directly, the building blocks of computation hashes.
Resumable epochs - The Cartesi Machine CLI can begin, end, and resume epochs explicitly when advancing states, with dedicated options for mcycle and uarch-cycle computation hashes.
Pristine uarch hash - The pristine uarch hash and the uarch state range constants are exposed in the C, Lua, and JSON-RPC APIs, so verifiers can take them from the emulator instead of hardcoding them.
Hardening - Many fixes to TLB handling, interrupt priority, proof and bundle validation, VirtIO, and JSON-RPC parsing. The interrupt and TLB fixes also run inside the uarch, so the pristine uarch hash and machine root hashes differ from v0.21.0.
Linux 6.18 - Tests and documentation use kernel 6.18.56-ctsi-1, now released from cartesi/linux.
Added
Added collect_mcycle_bundle and collect_uarch_cycle_bundle to all machine APIs
Added protect to cartesi.util
Added fixed-length tuple schemas to cartesi.tojson/cartesi.fromjson
Added resumable epochs to --cmio-advance-state (begin_epoch, end_epoch, resumable)
Added frontier forests to cartesi.hash-tree
Added machine:move() to the Lua API
Added outputs Merkle root validation to --assert-rolling-template
Added get_uarch_pristine_hash and the uarch state range constants to the C, Lua, and JSON-RPC APIs
Added mark_pages_dirty to backing store configurations, forcing page hashes to be recomputed
Fixed
Fixed stored machines whose page hash-tree cache could be corrupted by sync or clone
Fixed filesystem locks leaking into concurrently spawned processes
Fixed outputs Merkle root proofs being rejected on SHA-256 machines
Fixed progress output with VirtIO consoles
Fixed halt and manual yield precedence over an exhausted input budget
Fixed out-of-range integer arguments being silently truncated by the Lua and JSON-RPC bindings
Fixed pending write TLB dirty marks being lost when a machine is stored or closed
Fixed pages not being marked dirty when backing hash trees cannot be reused
Fixed stale host pointers being used after replace_memory_range
Fixed stale page hash-tree cache entries surviving range replacement or sharing changes
Fixed JSON-RPC fork accepting machines with shared hash-tree storage
Fixed execution depending on run boundaries when interrupts are partially delegated