# Engineering update - July 2025 ### Releases Over the last 6 weeks we've made the following releases: - [`miden-protocol` v0.9](https://github.com/0xMiden/miden-base/releases/tag/v0.9.0) on May 20, 2025. - [`miden-compiler` v0.1](https://github.com/0xMiden/compiler/releases/tag/v0.1.0) on May 26, 2025 - [`miden-node` v0.9](https://github.com/0xMiden/miden-node/releases/tag/v0.9.0) on May 30, 2025. - [`miden-client` v0.9](https://github.com/0xMiden/miden-client/releases/tag/v0.9.0) on May 31, 2025. - [`miden-vm` v0.15](https://github.com/0xMiden/miden-vm/releases/tag/v0.15.0) on June 6, 2025. - [`air-script` v0.4](https://github.com/0xMiden/air-script/releases/tag/v0.4.0) on June 20, 2025. ### Network transactions v0.9 releases of `miden-protocol` and `miden-node` added initial support for _network transactions_ (i.e., transactions which are created by the network rather than by the users). This allows users to deploy network accounts, and then any notes sent to these accounts will be automatically processed by the network enabling support for public shared state (essential for such things as AMMs and many others). The initial implementation is somewhat limited and will be improved in the subsequent releases. ### Bech32 addresses With v0.9 releases of `miden-protocol` and `miden-client`, we've migrated account ID encoding to bech32 format. Now Miden addresses look like this: `mtst1qzm09dk5guhtjgqqqzzzp8f2fvkz9vtx` or `mm1qzm09dk5guhtjgqqqzzzp8f2fvkz9vtx` where `mtst` or `mm` are prefixes for testnet and mainnet respectively. The address format will be expanded further as described [here](https://github.com/0xMiden/miden-base/issues/1454) in subsequent releases. ### Batch and block formats With v0.9 release of `miden-protocol` we've refactored formats of batches and blocks to enable tracking richer information about transactions. It is now possible to identify notes (via their hashes) that were produced and consumed by transactions, even if these notes have been "cut-through" during batch and block construction. This will result in better information presentation in the block explorer. ### Rust compiler With v0.1 release of `miden-compiler` we've enabled compilation of arbitrary pure Rust programs, the only limitation being that `libstd` is not supported (but `liballoc` can be used for heap-allocated types). This includes a complete rewritten of the IR that we did earlier this year provide a more sound foundation for analysis and rewriting. The initial [benchmarks](https://github.com/partylikeits1983/is-prime-benchmark) against SP1 are encouraging. ### Error reporting With v0.15 release of `miden-vm` (which was propagated to v0.9 release of `miden-client`), we now support much better error reporting for programs executed by Miden VM. This includes source location reporting for runtime errors which greatly simplifies debugging experience. ### ACE chiplet v0.15 release of `miden-vm` also finalized the work on the ACE (_arithmetic circuit evaluation_) chiplet. This chiplet allows Miden VM to very efficiently evaluate arbitrary arithmetic circuits stored in memory which is crucial for enabling performant recursive proof verification in the VM. ### AirScript With v0.4 release of `air-script` we've enabled a number of critical features that are required for enabling flexible precompile support in `miden-vm` as well as for future migration to Plonky3 proving system. These include a complete re-write of the compilation pipeline to introduce MIR (_middle intermediate representation_), native support for `bus` constructs (to abstract away permutation checks), support for variable-length public inputs, and many others. ### Faucet DOS protection With v0.9 release of `miden-node` we've updated Miden faucet with PoW-based DOS protection. The original faucet did not include any DOS protection and was completely drained several times following the spinoff announcement negatively impacting pioneer experience. In subsequent releases we plan to make the faucet a standalone app to serve as one of the templates for Miden apps.