- [BREAKING] Changed
GetBlockByNumberto accept aBlockRequest(with optionalinclude_proofflag) and returns a response containing the block and an optional block proof (#1864). - Network monitor now auto-regenerates accounts after persistent increment failures instead of staying unhealthy indefinitely (#1942).
- [BREAKING] Renamed
GetNoteErrorendpoint toGetNetworkNoteStatusand extended it to return the full lifecycle status of a network note (Pending,Processed,Discarded,Committed) instead of only error information. Consumed notes are now retained in the database after block commit instead of being deleted (#1892). - Extended
ValidatorStatusproto response withchain_tip,validated_transactions_count, andsigned_blocks_count; added Validator card to the network monitor dashboard (#1900). - Updated the RocksDB SMT backend to use budgeted deserialization for bytes read from disk, ported from
0xMiden/cryptoPR #846 (#1923).
- Fixed a startup race in the network transaction builder that could panic the chain MMR when a block committed between subscribing to the mempool and fetching the chain tip from the store (#1953).
- Enabled
miden-tx/concurrentfeature across all crates (#1956).
- [BREAKING] Aligned proto
TransactionHeaderwith domain type and exposed erased notes inSyncTransactions(#1941). - Improved LargeSmt RocksDB defaults, added per-DB memory-budget controls, and exposed durability mode selection (#1947).
- Fixed network monitor explorer health check failing to parse string-encoded numeric fields from the Explorer GraphQL API (#1922).
- Removed
issuancefield from the network monitor's faucetGetMetadataResponse(#1918).
- Added missing
AuthControlled::allow_all()mint policy component to genesis faucet accounts (#1903).
- Fixed
SyncTransactionsfailing when transactions created notes that were erased within the same block (#1899). - [BREAKING] Migrated to
miden-protocolv0.14.3 (update tomiden-vmv0.22.1).
- Added
block_headerfield toSyncChainMmrResponseso clients can obtain theblock_toblock header without a separate request (#1881). - Added inclusion proofs to
SyncTransactionsoutput notes (#1893).
- Fixed batch building issue with unauthenticated notes consumed in the same batch as they were created (#1875).
- Added
miden-genesistool for generating canonical AggLayer genesis accounts and configuration (#1797). - Expose per-tree RocksDB tuning options (#1782).
- Expose per-tree RocksDB tuning options (#1782).
- Added a gRPC server to the NTX builder, configurable via
--ntx-builder.url/MIDEN_NODE_NTX_BUILDER_URL(#1758). - Added
GetNoteErrorgRPC endpoint to query the latest execution error for network notes (#1758). - Added verbose
info!-level logging to the network transaction builder for transaction execution, note filtering failures, and transaction outcomes (#1770). - [BREAKING] Move block proving from Blocker Producer to the Store (#1579).
- [BREAKING] Updated miden-protocol dependencies to use
nextbranch; renamedNoteInputstoNoteStorage,.inputs()to.storage(), and databaseinputscolumn tostorage(#1595). - Validator now persists validated transactions (#1614).
- [BREAKING] Remove
SynStateand introduceSyncChainMmr(#1591). - Introduce
SyncChainMmrRPC endpoint to sync chain MMR deltas within specified block ranges (#1591). - Fixed
TransactionHeaderserialization for row insertion on database & fixed transaction cursor on retrievals (#1701). - Added KMS signing support in validator (#1677).
- Added per-IP gRPC rate limiting across services as well as global concurrent connection limit (#1746, #1865).
- Added finality field for
SyncChainMmrrequests (#1725). - Added limit to execution cycles for a transaction network, configurable through CLI args (
--ntx-builder.max-tx-cycles) (#1801). - Added monitor version and network name to the network monitor dashboard, network name is configurable via
--network-name/MIDEN_MONITOR_NETWORK_NAME(#1838). - Users can now submit atomic transaction batches via
SubmitBatchgRPC endpoint (#1846).
- [BREAKING] Removed obsolete
SyncStateRPC endpoint; clients should useSyncNotes,SyncNullifiers,SyncAccountVault,SyncAccountStorageMaps,SyncTransactions, orSyncChainMmrinstead (#1636). - Added account ID limits for
SyncTransactions,SyncAccountVault, andSyncAccountStorageMapstoGetLimitsresponses (#1636). - [BREAKING] Added typed
GetAccountErrorforGetAccountendpoint, splittingBlockNotAvailableintoUnknownBlockandBlockPruned.AccountNotFoundandAccountNotPublicnow returnInvalidArgumentgRPC status instead ofNotFound; clients should parse the error details discriminant rather than branching on status codes (#1646). - Changed
note_typefield in protoNoteMetadatafromuint32to aNoteTypeenum (#1594). - Refactored NTX Builder startup and introduced
NtxBuilderConfigwith configurable parameters (#1610). - Refactored NTX Builder actor state into
AccountDeltaTrackerandNotePoolfor clarity, and added tracing instrumentation to event broadcasting (#1611). - Add #[track_caller] to tracing/logging helpers (#1651).
- Added support for generic account loading at genesis (#1624).
- Improved tracing span fields (#1650)
- Replaced NTX Builder's in-memory state management with SQLite-backed persistence; account states, notes, and transaction effects are now stored in the database and inflight state is purged on startup (#1662).
- [BREAKING] Reworked
miden-remote-prover, removing theworker/proxydistinction and simplifying to aworkerwith a request queue (#1688). - [BREAKING] Renamed
NoteRootprotobuf message used inGetNoteScriptByRootgRPC endpoints intoNoteScriptRoot(#1722). - NTX Builder actors now deactivate after being idle for a configurable idle timeout (
--ntx-builder.idle-timeout, default 5 min) and are re-activated when new notes target their account (#1705). - [BREAKING] Modified
TransactionHeaderserialization to allow converting back into the native type after serialization (#1759). - Removed
chain_tiprequirement from mempool subscription request (#1771). - Moved bootstrap procedure to
miden-node validator bootstrapcommand (#1764). - [BREAKING] Removed
bundledcommand; each component is now started as a separate process. Addedntx-builderCLI subcommand. Addeddocker-compose.ymlfor local multi-process deployment (#1765). - NTX Builder now deactivates network accounts which crash repeatedly (configurable via
--ntx-builder.max-account-crashes, default 10) (#1712). - Removed gRPC reflection v1-alpha support (#1795).
- [BREAKING] Rust requirement bumped from
v1.91tov1.93(#1803). - [BREAKING] Updated
SyncNotesendpoint to returned multiple note updates ((#1843)). - [BREAKING] Refactored
NoteSyncRecordto returned a fixed-sizeNoteMetadataHeader(#1837).
- Fixed network monitor looping on stale wallet nonce after node restarts by re-syncing wallet state from RPC after repeated failures (#1748).
- Fixed incorrectly classifying private notes with the network attachment as network notes (#1378).
- Fixed accept header version negotiation rejecting all pre-release versions; pre-release label matching is now lenient, accepting any numeric suffix within the same label (e.g.
alpha.3acceptsalpha.1) (#1755). - Fixed
GetAccountreturning an internal error forAllEntriesrequests on storage maps where all entries are in a single block (e.g. genesis accounts) (#1816). - Fixed
GetAccountreturning empty storage map entries instead oftoo_many_entrieswhen a genesis account's map exceeds the pagination limit (#1816).
- Network transaction actors now share the same gRPC clients, limiting the number of file descriptors being used (#1808).
- Private notes with the network note attachment are no longer incorrectly considered as network notes (##1736).
- Fixed network monitor looping on stale wallet nonce after node restarts by re-syncing wallet state from RPC after repeated failures (#1748).
- Added verbose
info!-level logging to the network transaction builder for transaction execution, note filtering failures, and transaction outcomes (#1770). - Network transaction actors now share the same gRPC clients, limiting the number of file descriptors being used (#1806).
- Updated
SyncAccountStorageMapsandSyncAccountVaultto allow all accounts with public state, including network accounts (#1711).
- Fixed CORS headers missing from version-rejection responses (#1707).
- OpenTelemetry traces are now flushed before program termination on panic (#1643).
- Added support for the note transport layer in the network monitor (#1660).
- Debian packages now include debug symbols (#1666).
- Debian packages now have coredumps enabled (#1666).
- Fixed storage map keys not being hashed before insertion into the store's SMT forest (#1681).
- OpenTelemetry traces are now flushed before program termination on panic (#1643).
- Added support for the note transport layer in the network monitor (#1660).
- Debian packages now include debug symbols (#1666).
- Debian packages now have coredumps enabled (#1666).
- Added per-IP gRPC rate limiting across services as well as global concurrent connection limit (#1763).
- Fixed storage map keys not being hashed before insertion into the store's SMT forest (#1681).
- Fixed network monitor displaying explorer URL as a "null" hyperlink when unset (#1617).
- Fixed empty storage maps not being inserted into
storage_entriestable when inserting storage delta (#1642).
- Fixed network monitor faucet test failing to parse
/get_metadataresponse due to field type mismatches (#1612).
- Network transaction builder no longer creates conflicting transactions by consuming the same notes twice (#1597).
- Bootstrap's genesis configuration file now allows eliding
walletandfungible_faucetfields (#1590). - Updated miden-base dependencies to version 0.13.3 (#1601).
- Bootstrap's genesis configuration file is now optional again (#1590).
- Network transaction builder fails if output notes are created (#1599).
- Fixed the copy button in the network monitor (#1600).
- Network transaction builder now loads foreign account code into the MAST store when consuming network notes (#1598).
- Cleanup old account data from the database on apply block (#1304).
- Added cleanup of old account data from the in-memory forest (#1175)
- Added block validation endpoint to validator and integrated with block producer (#1382).
- Added support for timeouts in the WASM remote prover clients (#1383).
- Added mempool statistics to the block producer status in the
miden-network-monitorbinary (#1392). - Added
GetLimitsendpoint to the RPC server (#1410). - Added chain tip to the block producer status (#1419).
- Added success rate to the
miden-network-monitorbinary (#1420). - The mempool's transaction capacity is now configurable (#1433).
- Added pagination to
GetNetworkAccountIdsstore endpoint (#1452). - Integrated NTX Builder with validator via
SubmitProvenTransactionRPC (#1453). - Integrated RPC stack with Validator component for transaction validation (#1457).
- Added partial storage map queries to RPC (#1428).
- Added explorer status to the
miden-network-monitorbinary (#1450). - Added validated transactions check to block validation logic in Validator (#1460).
- Added gRPC-Web probe support to the
miden-network-monitorbinary (#1484). - Added DB schema change check (#1268).
- Added foreign account support to validator (#1493).
- Decoupled ntx-builder from block-producer startup by loading network accounts asynchronously via a background task (#1495).
- Improved DB query performance for account queries (#1496).
- The network monitor now marks the chain as unhealthy if it fails to create new blocks (#1512).
- Limited number of storage map keys in
GetAccountrequests (#1517). - Block producer now detects if it is desync'd from the store's chain tip and aborts (#1520).
- Pin tool versions in CI (#1523).
- Add
GetVaultAssetWitnessesandGetStorageMapWitnessRPC endpoints to store (#1529). - Add check to ensure tree store state is in sync with database storage (#1532).
- Improve speed of account updates (#1567, #1789).
- Ensure store terminates on nullifier tree or account tree root vs header mismatch (##1569).
- Added support for foreign accounts to
NtxDataStoreand addGetAccountendpoint to NTX Builder gRPC store client (#1521). - Use paged queries for tree rebuilding to reduce memory usage during startup (#1536).
- Improved tracing in
miden-network-monitorbinary (#1366). - Added support for caching mempool statistics in the block producer server (#1388).
- Renamed card's names in the
miden-network-monitorbinary (#1441). - [BREAKING] Removed
GetAccountDetailsRPC endpoint. UseGetAccountinstead (#1185). - [BREAKING] Renamed
SyncTransactionsresponse fields (#1357). - Normalized response size in endpoints to 4 MB (#1357).
- [BREAKING] Renamed
ProxyWorkerStatus::addresstoProxyWorkerStatus::name(#1348). - Added
SyncTransactionsstress test tomiden-node-stress-testbinary (#1294). - Removed
trait AccountTreeStorage(#1352). - [BREAKING]
SubmitProvenTransactionnow requires that the network's genesis commitment is set in the request'sACCEPTheader (#1298, #1436). - Added
Sgeneric toNullifierTreeto allow usage withLargeSmts (#1353). - Refactored account table and introduce tracking forest (#1394).
- [BREAKING] Re-organized RPC protobuf schema to be independent of internal schema (#1401).
- Removed internal errors from the
miden-network-monitor(#1424). - [BREAKING] Added block signing capabilities to Validator component and updated gensis bootstrap to sign blocks with configured signer (#1426).
- Track network transactions latency in
miden-network-monitor(#1430). - Reduced default block interval from
5sto2s(#1438). - Increased retained account tree history from 33 to 100 blocks to account for the reduced block interval (#1438).
- Increased the maximum query limit for the store (#1443).
- [BREAKING] Migrated to version
v0.20of the VM (#1476). - [BREAKING] Change account in database representation (#1481).
- Remove the cyclic database optimization (#1497).
- Fix race condition at DB shutdown in tests (#1503).
- [BREAKING] Updated to new miden-base protocol: removed
auxandexecution_hintfromNoteMetadata, removedNoteExecutionMode, andNoteMetadata::new()is now infallible (#1526). - [BREAKING] Network note queries now use full account ID instead of 30-bit prefix (#1572).
- [BREAKING] Renamed
SyncStorageMapsRPC endpoint toSyncAccountStorageMapsfor consistency (#1581). - Removed git information from node's
--versionCLI as it was often incorrect (#1576). - [BREAKING] Renamed
GetNetworkAccountDetailsByPrefixendpoint toGetNetworkAccountDetailsByIdwhich now accepts full account ID instead of 30-bit prefix (#1580). - Ensure store terminates on nullifier tree or account tree root vs header mismatch (##1569).
- RPC client now correctly sets
genesisvalue inACCEPTheader ifversionis unspecified (#1370). - Pin protobuf (
protox) dependencies to avoid breaking changes in transitive dependency (#1403). - Fixed no-std compatibility for remote prover clients (#1407).
- Fixed
AccountProofRequestto retrieve the latest known state in case specified block number (or chain tip) does not contain account updates (#1422). - Fixed missing asset setup for full account initialization (#1461).
- Fixed
GetNetworkAccountIdspagination to return the chain tip (#1489). - Fixed the network monitor counter account to use the storage slot name (#1501).
- gRPC traces now correctly connect to the method implementation (1553).
- Fixed ntx-builder crash on node restart after network transaction by adding missing
is_latestfilter to network account query (#1578).
- Enable traces within database closures (#1511).
- Emit database table size metrics (#1511).
- Improved telemetry in the network transaction builder (#1508).
- Improved telemetry in the store's
apply_block(#1508).
- Network transaction builder now marks notes from any error as failed (#1508).
- Network transaction builder now adheres to note limit set by protocol (#1508).
- Race condition resolved in the store's
apply_block(#1508). - Network transaction builder now marks notes from any error as failed (#1508).
- Network transaction builder now adheres to note limit set by protocol (#1508).
- Race condition resolved in the store's
apply_block(#1508).- This presented as a database locked error and in rare cases a desync between the mempool and store.
- Added Faucet metadata to the
miden-network-monitorbinary (#1373). - Improve telemetry in the store (#1504).
- Block producer crash caused by pass through transactions (#1396).
- Actually update
miden-basedependencies (#1384).
- Split counter increment and tracking services in
miden-network-monitorbinary (#1362). - Updated the counter account from the
miden-network-monitorto start at 0 (#1367). - Updated
miden-basedependencies to fix ECDSA issues (#1382).
- Added configurable timeout support to
RemoteBatchProver,RemoteBlockProver, andRemoteTransactionProverclients (#1365). - Added configurable timeout support to
miden-network-monitorbinary (#1365).
- Fixed
PoWchallenge solving inmiden-network-monitorbinary (#1363).
- Added support for network transaction service in
miden-network-monitorbinary (#1295). - Improves
.envfile example in for themiden-network-monitorbinary (#1345).
- [BREAKING] Updated MSRV to 1.90.
- [BREAKING] Refactored
CheckNullifiersByPrefixendpoint adding pagination (#1191). - [BREAKING] Renamed
CheckNullifiersByPrefixendpoint toSyncNullifiers(#1191). - Added
GetNoteScriptByRootgRPC endpoint for retrieving a note script by its root (#1196). - [BREAKING] Added
block_rangeandpagination_infofields to paginated gRPC endpoints (#1205). - Implemented usage of
tonicerror codes for gRPC errors (#1208). - [BREAKING] Replaced
GetAccountProofswithGetAccountProofin the public store API (#1211). - Implemented storage map
DataStorefunction (#1226). - [BREAKING] Refactored the mempool to use a single DAG across transactions and batches (#1234).
- [BREAKING] Renamed
RemoteProverProxytoRemoteProverClient(#1236). - Added pagination to
SyncNotesendpoint (#1257). - Added application level error in gRPC endpoints (#1266).
- Added
deploy-accountcommand tomiden-network-monitorbinary (#1276). - [BREAKING] Response type nuances of
GetAccountProofin the public store API (#1277). - Add optional
TransactionInputsfield toSubmitProvenTransactionendpoint for transaction re-execution (#1278). - Added
validatorcrate with initial protobuf, gRPC server, and sub-command (#1293). - [BREAKING] Added
AccountTreeWithHistoryand integrate historical queries intoGetAccountProof(#1292). - [BREAKING] Added
rocksdbfeature to enable rocksdb backends ofLargeSmt(#1326). - [BREAKING] Handle past/historical
AccountProofrequests (#1333). - Implement
DataStore::get_note_script()forNtxDataStore(#1332). - Started validating notes by their commitment instead of ID before entering the mempool (#1338).
- Reduced note retries to 1 (#1308).
- Address network transaction builder (NTX) invariant breaking for unavailable accounts (#1312).
- Tweaked HTTP configurations on the pingora proxy server (#1281).
- Added the counter increment task to
miden-network-monitorbinary (#1295).
- Added support for keepalive requests against base path
/of RPC server (#1212). - [BREAKING] Replace
GetAccountProofswithGetAccountProofin the public store API (#1211). - [BREAKING] Optimize
GetAccountProoffor small accounts (#1185).
- Removed decorators from scripts when submitting transactions and batches, and inserting notes into the DB ([#1194](https://github.com/ /pull/1194)).
- Refresh
miden-basedependencies. - Added
SyncTransactionsgRPC endpoint for retrieving transactions for specific accounts within a block range (#1224). - Added
miden-network-monitorbinary for monitoring the Miden network (#1217).
- Added environment variable support for batch and block size CLI arguments (#1081).
- RPC accept header now supports specifying the genesis commitment in addition to the RPC version. This lets clients ensure they are on the right network (#1084).
- A transaction's account delta is now checked against its commitments in
SubmitProvenTransactionendpoint (#1093). - Added check for Account Id prefix uniqueness when transactions to create accounts are submitted to the mempool (#1094).
- Added benchmark CLI sub-command for the
miden-storecomponent to measure the state load time (#1154). - Retry failed network notes with exponential backoff instead of immediately (#1116)
- Network notes are now dropped after failing 30 times (#1116)
- gRPC server timeout is now configurable (defaults to
10s) (#1133) - [BREAKING] Refactored protobuf messages (#1045).
- Added
SyncStorageMapsgRPC endpoint for retrieving account storage maps (#1140, #1132). - Added
SyncAccountVaultgRPC endpoints for retrieving account assets (#1176). - Refactored Network Transaction Builder to manage dedicated tasks for every network account in the chain (#1219).
- [BREAKING] Updated MSRV to 1.88.
- [BREAKING] De-duplicate storage of code in DB (no-migration) (#1083).
- [BREAKING] RPC accept header format changed from
application/miden.vnd+grpc.<version>toapplication/vnd.miden; version=<version>(#1084). - [BREAKING] Integrated
FeeParametersinto block headers. (#1122). - [BREAKING] Genesis configuration now supports fees (#1157).
- Configure
NativeFaucet, which determines the native asset used to pay fees - Configure the base verification fee
- Note: fees are not yet activated, and this has no impact beyond setting these values in the block headers
- Configure
- [BREAKING] Remove public store API
GetAccountStateDelta(#1162). - Removed
faucetbinary (#1172). - Add
genesis_commitmentinStatusresponse (#1181).
- [BREAKING] Integrated proxy status endpoint into main proxy service, removing separate status port.
- RPC requests with wildcard (
*/*) media-type are not longer rejected (#1084). - Stress-test CLI account now properly sets the storage mode and increment nonce in transactions (#1113).
- [BREAKING] Update
notestable schema to have a nullableconsumed_block_num(#1100). - Network Transaction Builder now correctly discards non-single-target network notes instead of panicking (#1166).
- Moved the
miden-faucetbinary to themiden-faucetrepository (#1179).
- Network accounts are no longer disabled after one transaction (#1086).
- Added
miden-proving-serviceandmiden-proving-service-clientcrates (#926). - Added support for gRPC server side reflection to all components (#949).
- Added support for TLS to
miden-proving-service-client(#968). - Added support for TLS to faucet's connection to node RPC (#976).
- Replaced integer-based duration args with human-readable duration strings (#998 & #1014).
- [BREAKING] Refactor the
miden-proving-serviceproxy status service to use gRPC instead of HTTP (#953). - Genesis state is now configurable during bootstrapping (#1000)
- Added configurable network id for the faucet (#1016).
- Network transaction builder now tracks inflight txs instead of only committed ones (#1051).
- Add open-telemetry trace layers to
miden-remote-proverandmiden-remote-prover-proxy(#1061). - Add open-telemetry stats for the mempool (#1073).
- Add open-telemetry stats for the network transaction builder state (#1073).
- Faucet
PoWdifficulty is now configurable (#924). - Separated the store API into three separate services (#932).
- Added a faucet Dockerfile (#933).
- Exposed
miden-proving-serviceas a library (#956). - [BREAKING] Update
RemoteProverError::ConnectionFailedvariant to containErrorinstead ofString(#968). - [BREAKING] Replace faucet TOML configuration file with flags and env vars (#976).
- [BREAKING] Replace faucet Init command with CreateApiKeys command (#976).
- [BREAKING] Consolidate default account filepath for bundled bootstrap and faucet start commands to
account.mac(#976). - [BREAKING] Remove default value account filepath for faucet commands and rename --output-path to --output (#976).
- [BREAKING] Enforce
PoWon all faucet API key-authenticated requests (#974). - Compressed faucet background image (#985).
- Remove faucet rate limiter by IP and API Key, this has been superseded by PoW (#1011).
- Transaction limit per batch is now configurable (default 8) (#1015).
- Batch limit per block is now configurable (default 8) (#1015).
- Faucet challenge expiration time is now configurable (#1017).
- Removed system monitor from node binary (#1019).
- [BREAKING] Renamed
open_telemetrytoenable_otelin all node's commands (#1019). - [BREAKING] Rename
miden-proving-servicetomiden-remote-prover(#1004). - [BREAKING] Rename
miden-proving-service-clienttomiden-remote-prover-client(#1004). - [BREAKING] Rename
RemoteProverErrortoRemoteProverClientError(#1004). - [BREAKING] Rename
ProvingServiceErrortoRemoteProverError(#1004). - [BREAKING] Renamed
NotetoCommittedNote, andNetworkNotetoNotein the proto messages (#1022). - [BREAKING] Limits of store queries per query parameter enforced (#1028).
- Support gRPC server reflection
v1alpha(#1036). - Migrate from
rusqlitetodieselas a database abstraction (#921)
- Faucet considers decimals when minting token amounts (#962).
- Refresh Cargo.lock file.
- Refresh Cargo.lock file (#944).
- Enabled running RPC component in
read-onlymode (#802). - Added gRPC
/statusendpoint on all components (#817). - Block producer now emits network note information (#833).
- Introduced Network Transaction Builder (#840).
- Added way of executing and proving network transactions (#841).
- [BREAKING] Add HTTP ACCEPT header layer to RPC server to enforce semver requirements against client connections (#844).
- [BREAKING] Simplified node bootstrapping (#776).
- Database is now created during bootstrap process instead of on first startup.
- Data directory is no longer created but is instead expected to exist.
- The genesis block can no longer be configured which also removes the
store dump-genesiscommand.
- [BREAKING] Use
AccountTreeand update account witness proto definitions (#783). - [BREAKING] Update name of
ChainMmrtoPartialBlockchain(#807). - Added
--enable-otelandMIDEN_FAUCET_ENABLE_OTELflag to faucet (#834). - Faucet now supports the usage of a remote transaction prover (#830).
- Added a required Proof-of-Work in the faucet to request tokens (#831).
- Added an optional API key request parameter to skip PoW in faucet (#839).
- Proof-of-Work difficulty is now adjusted based on the number of concurrent requests (#865).
- Added options for configuring NTB in
bundledcommand (#884). - [BREAKING] Updated MSRV to 1.87.
- Prevents duplicated note IDs (#842).
- gRPC error messages now include more context (#819).
- Faucet now detects and recovers from state desync (#819).
- Faucet implementation is now more robust (#819).
- Faucet now supports TLS connection to the node RPC (#819).
- Faucet times out during high load (#819).
- Implemented database optimization routine (#721).
- Faucet webpage is missing
background.pngandfavicon.ico(#672).
- Add an optional open-telemetry trace exporter (#659, #690).
- Support tracing across gRPC boundaries using remote tracing context (#669).
- Instrument the block-producer's block building process (#676).
- Use
LocalBlockProverfor block building (#709). - Initial developer and operator guides covering monitoring (#699).
- Instrument the block-producer's batch building process (#738).
- Optimized database by adding missing indexes (#728).
- Added support for
Content-typeheader inget_tokensendpoint of the faucet (#754). - Block frequency is now configurable (#750).
- [BREAKING]
Endpointconfiguration simplified to a single string (#654). - Added stress test binary with seed-store command (#657).
- [BREAKING]
CheckNullifiersByPrefixnow takes a starting block number (#707). - [BREAKING] Removed nullifiers from
SyncStateendpoint (#708). - [BREAKING] Update
GetBlockInputsRPC (#709). - [BREAKING] Added
batch_prover_urlto block producer configuration (#701). - [BREAKING] Added
block_prover_urlto block producer configuration (#719). - [BREAKING] Removed
miden-rpc-protoand introducedmiden-node-proto-build(#723). - [BREAKING] Updated to Rust Edition 2024 (#727).
- [BREAKING] MSRV bumped to 1.85 (#727).
- [BREAKING] Replaced
tomlconfiguration with CLI (#732). - [BREAKING] Renamed multiple
xxx_hashtoxxx_commitmentin RPC API (#757).
- Prove transaction batches using Rust batch prover reference implementation (#659).
- Faucet webpage rejects valid account IDs (#655).
- Faucet webpage fails to load styling (index.css) and script (index.js) (#647).
- [BREAKING] Default faucet endpoint is now public instead of localhost (#647).
- Support Https in endpoint configuration (#556).
- Upgrade
block-producerfrom FIFO queue to mempool dependency graph (#562). - Support transaction expiration (#582).
- Improved RPC endpoints doc comments (#620).
- Standardized protobuf type aliases (#609).
- [BREAKING] Added support for new two
Feltaccount ID (#591). - [BREAKING] Inverted
TransactionInputs.missing_unauthenticated_notestofound_missing_notes(#509). - [BREAKING] Remove store's
ListXXXendpoints which were intended for test purposes (#608). - [BREAKING] Added support for storage maps on
GetAccountProofsendpoint (#598). - [BREAKING] Removed the
testingfeature (#619). - [BREAKING] Renamed modules to singular (#636).
- Added
GetAccountProofsendpoint (#506).
- [BREAKING] Added
kernel_rootto block header's protobuf message definitions (#496). - [BREAKING] Renamed
off-chainandon-chaintoprivateandpublicrespectively for the account storage modes (#489). - Optimized state synchronizations by removing unnecessary fetching and parsing of note details (#462).
- [BREAKING] Changed
GetAccountDetailsResponsefield todetails(#481). - Improve
--versionby adding build metadata (#495). - [BREAKING] Introduced additional limits for note/account number (#503).
- [BREAKING] Removed support for basic wallets in genesis creation (#510).
- Migrated faucet from actix-web to axum (#511).
- Changed the
BlockWitnessto pass the inputs to the VM using only advice provider (#516). - [BREAKING] Improved store API errors (return "not found" instead of "internal error" status if requested account(s) not found) (#518).
- Added
AccountCodeas part ofGetAccountProofsendpoint response (#521). - [BREAKING] Migrated to v0.11 version of Miden VM (#528).
- Reduce cloning in the store's
apply_block(#532). - [BREAKING] Changed faucet storage type in the genesis to public. Using faucet from the genesis for faucet web app. Added support for faucet restarting without blockchain restarting (#517).
- [BREAKING] Improved
ApplyBlockErrorin the store (#535). - [BREAKING] Updated minimum Rust version to 1.82.
- Node component server startup is now coherent instead of requiring an arbitrary sleep amount (#488).
- [BREAKING] Configuration files with unknown properties are now rejected (#401).
- [BREAKING] Removed redundant node configuration properties (#401).
- Support multiple inflight transactions on the same account (#407).
- Now accounts for genesis are optional. Accounts directory will be overwritten, if
--forceflag is set (#420). - Added
GetAccountStateDeltaendpoint (#418). - Added
CheckNullifiersByPrefixendpoint (#419). - Added
GetNoteAuthenticationInfoendpoint (#421). - Added
SyncNotesendpoint (#424). - Added
execution_hintfield to theNotestable (#441).
- Improve type safety of the transaction inputs nullifier mapping (#406).
- Embed the faucet's static website resources (#411).
- CI check for proto file consistency (#412).
- Added warning on CI for
CHANGELOG.md(#413). - Implemented caching of SQL statements (#427).
- Updates to
miden-vmdependency to v0.10 andwinterfelldependency to v0.9 (#457). - [BREAKING] Updated minimum Rust version to 1.80 (#457).
miden-node-proto's build script always triggers (#412).
- Changed sync endpoint to return a list of committed transactions (#377).
- Added
auxcolumn to notes table (#384). - Changed state sync endpoint to return a list of
TransactionSummaryobjects instead of just transaction IDs (#386). - Added support for unauthenticated transaction notes (#390).
- Standardized CI and Makefile across Miden repositories (#367)
- Removed client dependency from faucet (#368).
- Fixed faucet note script so that it uses the
auxinput (#387). - Added crate to distribute node RPC protobuf files (#391).
- Add
initcommand for node and faucet (#392).
- Added option to mint public notes in the faucet (#339).
- Renamed
note_hashintonote_idin the database (#336) - Changed
versionandtimestampfields inBlockmessage tou32(#337). - [BREAKING] Implemented
NoteMetadataprotobuf message (#338). - Added
GetBlockByNumberendpoint (#340). - Added block authentication data to the
GetBlockHeaderByNumberRPC (#345). - Enabled support for HTTP/1.1 requests for the RPC component (#352).
- Combined node components into a single binary (#323).
- Implemented Docker-based node deployment (#257).
- Improved build process (#267, #272, #278).
- Implemented Nullifier tree wrapper (#275).
- [BREAKING] Added support for public accounts (#287, #293, #294).
- [BREAKING] Added support for public notes (#300, #310).
- Added
GetNotesByIdendpoint (#298). - Implemented amd64 debian packager (#312).
- Initial release.