Releases: rooch-network/rooch
v0.7.0
Rooch v0.7.0 Release
We are excited to announce the release of Rooch v0.7.0. This version includes numerous significant updates and improvements. Here's an overview of the key changes:
Major Features and Improvements
-
Bitcoin-related enhancements:
- Implemented Bitcoin consensus encoding/decoding
- Refactored ordinals inscription updater
- Fixed inscription-related bugs and skipped OP_RETURN
- Improved temporary state handling for UTXO and Inscription
-
Framework upgrades:
- Introduced new framework upgrade functionality and
UpgradeCap
- Refactored package publishing mechanism
- Added Oracle functionality and admin capabilities
- Renamed Rooch GasCoin symbol to RGas and set the gas coin icon
- Added support for TypeTag and StructTag to canonical string with prefix
0x
- Introduced new framework upgrade functionality and
-
Performance and security improvements:
- Switched SMT hashing algorithm to SHA-256
- Limited transaction size to 5MB
- Optimized Indexer performance
-
Developer experience improvements:
- Cleaned up deprecated functions and TODOs
- Refactored Bitcoin block tester
- Enhanced CLI with support for multisign and transaction query
-
Other important updates:
- Migrated wasm library from moveos_std to rooch_nursery
- Implemented genesis multisign account configuration
- Updated testnet and mainnet genesis configurations
Breaking Changes
This version includes several breaking changes, including:
- Changed canonical string representation for TypeTag and StructTag
- Cleaned up transaction sequence info compatibility code
- Refactored package publishing
- Rename GasCoin to RGas
Network Updates
With the release of v0.7.0, we have some important network updates:
-
Testnet Reset: The testnet will be reset to incorporate the new changes and improvements in this version. Users and developers should be prepared for this reset and update their applications accordingly.
-
Pre-Mainnet Launch: Based on this version, we are excited to announce the launch of our pre-mainnet. This is a significant step towards our mainnet release and will provide a stable environment for final testing and refinement.
We encourage all developers and users to upgrade to this version to take advantage of the new features and improvements, and to prepare for the upcoming network changes.
We thank all the developers who contributed to this release.
For a complete changelog, please visit our GitHub repository.
What's Changed
- [moveos_std] refactor sort to remove copy and drop requirements from the arguments by @jolestar in #2503
- [framework] add unpack_transfer_utxo_event function by @mx819812523 in #2502
- chore(deps): bump quote from 1.0.36 to 1.0.37 by @dependabot in #2506
- chore(deps): bump serde_json from 1.0.125 to 1.0.127 by @dependabot in #2507
- chore(deps): bump diesel from 2.2.2 to 2.2.3 by @dependabot in #2509
- new framework upgrade function and
UpgradeCap
by @pause125 in #2504 - [bitcoin-move][breaking]Refactor ordinals inscription updater by @jolestar in #2500
- [Indexer] [break change] Split Object states and perf Indexer by @baichuan3 in #2490
- [bitcoin] Improve the block 790964 testcase by @jolestar in #2514
- feat: migrate rooch portal v2 by @jojoo-eth in #2518
- feat(genesis_verify): add reverse verification and refactor export by @popcnt1 in #2521
- [framework] oracle and fix bcs and refactor utxo event by @mx819812523 in #2512
- chore(genesis_verify): swap object export order in verification by @popcnt1 in #2524
- fix: package compatible by @jojoo-eth in #2522
- blog: add Portal to Bitcoin partnership by @geometryolife in #2525
- chore(statedb/genesis): migrate protocol constant to lazy_static by @popcnt1 in #2526
- [bitcoin-move] Skip op return and fix inscription bugs by @jolestar in #2523
- chore(statedb): flush writer in genesis verify command with reverse option by @popcnt1 in #2530
- smt: Switch to SHA-256 hashing by @popcnt1 in #2401
- [Move] [break] Support TypeTag and StructTag to canonical string with prefix by @baichuan3 in #2515
- feat(rooch): account balance command show Bitcoin balance by @newraina in #2535
- [framework] UTXO and AuthPayload break changes by @jolestar in #2531
- [smt] Rename hashtag to SMTNode and replace the HashValue with SMTNodeHash by @jolestar in #2536
- [Clean] [break] Cleanup transaction sequence info compatible code by @baichuan3 in #2534
- [Inscription] Add more testcase and refactor InscriptionView by @jolestar in #2537
- fix sdk e2e test by @wow-sven in #2520
- [framework] Framework TODO and deprecated function clean by @jolestar in #2538
- [Clean] Cleanup ord native_from_witness and rename parse_inscription_from_witness to from_witness by @baichuan3 in #2540
- fix: current session may be invalid by @newraina in #2516
- [framework][break] Refactor package publishing by @pause125 in #2529
- fix: portal bitcoin assets compatibility by @jojoo-eth in #2544
- Print the transaction info when an L1/L2 transaction execution panics. by @steelgeek091 in #2545
- [bitcoin-move] Support TempStateDropEvent for UTXO and Inscription by @jolestar in #2546
- [test] Refactor bitcoin block tester base on Inscription events by @jolestar in #2549
- Migrate the wasm library from moveos_std to rooch_nursery by @steelgeek091 in #2547
- feat: migrate bitseed sdk by @yubing744 in #2222
- chore(deps): bump tokio from 1.39.3 to 1.40.0 by @dependabot in #2554
- [framework][break] cleanup deprecated functions of packages by @pause125 in #2548
- fix: portal search account issue by @jojoo-eth in #2555
- [CLI] Support multisign in cli by @jolestar in #2552
- feat(cli): support query transaction by @newraina in #2556
- [framework] add oracle admin cap by @mx819812523 in #2558
- [Framework] Rename Rooch GasCoin symbol to RGas by @baichuan3 in #2557
- add admin cap by @pause125 in #2559
- [Framework] Set gas coin icon by @baichuan3 in #2563
- [genesis] Genesis Multisigin account config by @jolestar in #2561
- Limit the transaction size to 5MB. by @steelgeek091 in #2564
- fix: create oracle by @mx819812523 in #2565
- [CLI] add test cases for tx query by @newraina in #2568
- chore(deps): bump diesel from 2.2.3 to 2.2.4 by @dependabot in #2572
- Handle the panic for pre-execution failure. by @steelgeek091 in #2571
- upgrade wasmer-compiler-singlepass to v.4.3.6 by @mx819812523 in #2574
- [bitcoin-move] Implement Bitcoin consensus encode/decode by @jolestar in #2577
- [example] add orderbook entry function by @mx819812523 in #2576
- chore(deps): bump tempfile from 3.10.1 to 3.12.0 by @dependabot in #2579
- chore(deps): bump dashmap from 5.5.3 to 6.0.1 by @dependabot in #2578
- [Framework] Unify auth payload to use bitcoin consensus codec by @baichuan3 in #2580
- [genesis] Genesis multisign config and release framework v8, testnet and mainnet genesis by @jolestar in #2573
- [release] Prepare release v0.7.0 by @jolestar in #2582
New Contributors
Full Changelog: v0.6.9...v0.7.0
v0.6.9
Major changes
- [multisign_account] Sort x only public keys when generate multisign account by @jolestar in #2415
- [VM] Automatically handle when VM Panic occurs. by @steelgeek091 in #2491
- [framework] multisign_account graduate from nursery by @jolestar in #2467
- Reload the MoveOS instance automatically for the gas schedule upgrade events. by @steelgeek091 in #2432
- [framework] Refactor the auth payload encoding and implement bitcoin multisign validator by @jolestar in #2422
- [sdk] add btc、ord、rooch container, supports the construction of complex env… by @wow-sven in #2434
- [bitcoin] taproot builder return result by @jolestar in #2420
- [Indexer] Optmize indexer query with timeout and Support Rocksdb metrics by @baichuan3 in #2425
- [CLI] add a command to rollback state to a specific tx order by @jolestar in #2446
- feat(statedb/export): export indexer from source file directly by @popcnt1 in #2435
- feat(statedb/genesis-verify): make ord path options optional in genesis_verify by @popcnt1 in #2452
- [framework] Implement compare and sort by @jolestar in #2495
What's Changed
- refactor(statedb/export): refactor export logic and enhance logging by @popcnt1 in #2408
- [framework] Refactor result, make the error as generics by @jolestar in #2416
- [framework] result and taproot_builder are graduate from nursery by @jolestar in #2423
- fix(genesis-verify): fix and enhance genesis verify by @popcnt1 in #2386
- feat(statedb/export): add time metrics to export process by @popcnt1 in #2430
- Add rooch account sign command by @v1xingyue in #2431
- [gh-2317] add dynamic field command to rooch. by @feliciss in #2426
- fix(indexer/rebuild): switch to Tokio for threading in rebuild.rs for fixing panic when rebuild indexer by @popcnt1 in #2436
- [framework] add linked_table to moveos-stdlib by @qShirley in #2433
- [Benchmark] Implements indexer benchmark by @baichuan3 in #2440
- feat(indexer/bench): add bench command for indexer by @popcnt1 in #2442
- refactor(statedb/genesis-verify): Enhance state mismatch debugging by @popcnt1 in #2448
- workflow(issue): add GitHub issue templates for bugs and proposals by @popcnt1 in #2449
- refactor(statedb/genesis-verify): enhance mismatch logging and using sequence_number as extent cases by @popcnt1 in #2456
- refactor(bitcoin-move): rm is_cursed check when create new inscription by @popcnt1 in #2457
- add sdk-test-suite package by @wow-sven in #2455
- [gh-2417] add peel functions for bcs.move. by @feliciss in #2447
- [bitcoin-move] Refacor ord::from_transation make it is a readonly function for testing. by @jolestar in #2459
- [bitcoin-move] Add more ord tests by @jolestar in #2466
- [gh-2468] add a visible alias for transaction. by @feliciss in #2470
- Optimizing the Bitcoin local development environment documentation by @Antake2333 in #2475
- [framework] emit Transfer UTXO Evnet to queue_event by @mx819812523 in #2476
- feat(statedb/genesis-verify): enhance mismatched cases verification by @popcnt1 in #2482
- blog: add hackathon summary by @geometryolife in #2483
- [test] Bitcoin block tester by @jolestar in #2480
- [gh-2471] add tx build command. by @feliciss in #2472
- update hackathon blog imgs by @geometryolife in #2487
- feat(rooch-da): enhance BitcoinInscriptionID parsing and serialization by @popcnt1 in #2488
- install SQLite 3.46.1 in the dockerfile by @yourmoonlight in #2489
- [gh-2473] add a tx sign subcommand. by @feliciss in #2477
- [moveos_std] Improve the event queue, trigger OffChainEvent sametime by @jolestar in #2484
- add sdk kit wallet info by @wow-sven in #2492
- [gh-2478] add tx submit command. by @feliciss in #2479
- [gh-2385] add dry run check for run_function.rs. by @feliciss in #2458
- feat(statedb/genesis-verify): enhance mismatch detetion(fields level output) by @popcnt1 in #2497
- sdk query inscriptions test by @wow-sven in #2496
- [gh-2458] return dry run result before executing txs. by @feliciss in #2498
- [framework] Implement compare and sort by @jolestar in #2495
New Contributors
- @Antake2333 made their first contribution in #2475
Full Changelog: v0.6.8...v0.6.9
v0.6.8
Major changes
- [RPC&CLI] Support dry_run transactions and dry transactions before publishing modules by @steelgeek091 in #2380
- [bitcoin-move] Bitcoin p2tr address and taproot support by @jolestar in #2373
- [Indexer & RPC] Support query event by event type and sender by @baichuan3 in #2405
- [Move & RPC ] Fix utf8 panic bug for Move String by @qShirley in #2393
- [Move & RPC] Implement TypeTag&StructTag from_canonical_string and fix coin type parse panic bug by @jolestar in #2397
RPC Break Changes
- [RPC] Migrate
filter_out
parameter to QueryOption by @baichuan3 in #2405: This change breaksqueryObjectStates
RPC & SDK
What's Changed
- fix(statedb-export): fix export indexer cmd by @popcnt1 in #2374
- typo: run a view function by @qShirley in #2375
- docs : fix pages' command mistakes by @gunksd in #2377
- refactor(statedb/genesis-verify): reserve UTXO got from statedb to raw UTXO for verifying by @popcnt1 in #2379
- [CLI] Fixup export objects for indexer from statedb and rebuild indexer by @baichuan3 in #2378
- Implementation of transaction dry run by @steelgeek091 in #2380
- add free mint not & update sdk rpc index by @wow-sven in #2391
- add stacktrace by @yourmoonlight in #2392
- chore(deps): bump serde from 1.0.204 to 1.0.205 by @dependabot in #2390
- fix: Display vector byte if movestring can't format to utf8 by @qShirley in #2393
- [bitcoin-move] Bitcoin p2tr address and taproot support by @jolestar in #2373
- [VM] Reload all the native functions after the gas schedule upgrade. by @steelgeek091 in #2398
- [move] Implement TypeTag&StructTag from_canonical_string by @jolestar in #2397
- [Indexer] Support repair indexer rpc by @baichuan3 in #2396
- refactor(statedb/genesis): separate produce addr_mapping and utxo updates by @popcnt1 in #2400
- [Indexer] Support query event by event type and sender by @baichuan3 in #2405
- [release]: prepare release v0.6.8 and framework v6 by @popcnt1 in #2407
New Contributors
Full Changelog: v0.6.7...v0.6.8
v0.6.7
v0.6.6
Major changes
- [Indexer] Optimize indexer query cache and pool core config by @baichuan3 in #2367
- sdk support resolve btc address & update node types version by @wow-sven in #2364
- pretty move run and move publish output by @pause125 in #2355
- [Indexer] Only include nest object type and object type itself in object_type_query by @baichuan3 in #2354
- decode transaction events by @pause125 in #2353
- [Indexer] Optimize indexer like query to ensure all querys can use indexes by @baichuan3 in #2352
What's Changed
- ci: remove unused dependencies by @popcnt1 in #2349
- fix(docker): Update OpenSSL to version 1.1.1f-1ubuntu2.23 by @popcnt1 in #2351
- [Indexer] Optimize indexer like query to ensure all querys can use indexes by @baichuan3 in #2352
- decode transaction events by @pause125 in #2353
- [Indexer] Only include nest object type and object type itself in object_type_query by @baichuan3 in #2354
- chore(statedb/genesis): add boundaries and verification to OutpointInscriptionsMap by @popcnt1 in #2361
- pretty move run and move publish output by @pause125 in #2355
- feat(statedb): add GenesisVerifyCommand and associated capability by @popcnt1 in #2365
- chore(deps): bump regex from 1.10.5 to 1.10.6 by @dependabot in #2357
- chore(deps): bump serde_json from 1.0.121 to 1.0.122 by @dependabot in #2359
- chore(deps): bump bytes from 1.7.0 to 1.7.1 by @dependabot in #2360
- sdk support resolve btc address & update node types version by @wow-sven in #2364
- [Indexer] Optimize indexer query cache and pool core config by @baichuan3 in #2367
- Prepare release v0.6.6 by @baichuan3 in #2368
Full Changelog: v0.6.5...v0.6.6
v0.6.5
Major changes
- [Metrics] Support Tx metrics (#2343)
- [System] Support rebuilding AccumulatorInfo and provides repair tools for reverting transactions (#2310)
- [VM] Deprecated the pre_execute_functions and post_execute_functions (#2297)
- [Gas] Implementation of the gas schedule upgrade (#2290)
- [Genesis] Prepare the pre-mainnet genesis for testing.
Release framework v5
- [rooch-framework] draft implement multisign_account (#2294)
- [moveos-stdlib] OnChainEvent, Metaprotocol, Bitseed (#2197)
- [rooch-framework] support bitcoin multisign address (#2298)
What's Changed
- [Metrics] Support Tx metrics by @baichuan3 (#2343)
- [System] Support rebuilding AccumulatorInfo and provides repair tools for reverting transactions by @baichuan3 (#2310)
- [VM] Deprecated the pre_execute_functions and post_execute_functions by @pause125 (#2297)
- [rooch-framework] draft implememnt multisign_account by @jolestar (#2294)
- [moveos-stdlib] OnChainEvent, Metaprotocol, Bitseed by @jolestar (#2197)
- [rooch-framework] support bitcoin multisig address by @feliciss (#2298)
- [Portal] add google analysis & fix utxo hint @wow-sven (#2304)
- [cli] Add version command to cli for more version info by @jolestar (#2306)
- [Gas] Implementation of the gas schedule upgrade @steelgeek091 (#2290)
- [rpc] support metadata access and query filter out by @mx819812523 (#2201)
- [Metrics] fixup metrics AlreadyReg errors by @baichuan3 (#2318)
- [System] chore: refine statedb/genesis cmd by @popcnt1 (#2273)
- [System] import inscriptions, utxo, address_mapping parallel by @popcnt1 (#2277)
More changes
- fix: fix blog repeat by @jojoo-eth in #2296
- Implementation of the gas schedule upgrade by @steelgeek091 in #2290
- [docs] Add framework release notes by @jolestar in #2293
- refactor(statedb-genesis): simplify codes by @popcnt1 in #2299
- docs(statedb): update statedb/genesis usage by @popcnt1 in #2301
- fix(statedb/genesis): use tempdir in testing by @popcnt1 in #2305
- add google analysis & fix utxo hint by @wow-sven in #2304
- 🔨 typescript-sdk zh-CN link error by @nlyrthiia in #2308
- [cli] Add version command to cli for more version info by @jolestar in #2306
- 🔨 Remove Pagination's default property herf by @nlyrthiia in #2307
- [rpc] support metadata access and query filter out by @mx819812523 in #2201
- [Metrics] fixup metrics AlreadyReg errors by @baichuan3 in #2318
- refactor(statedb-genesis): objectID replaced by InscriptionId for saving outpoint:inscriptions map memory usage by @popcnt1 in #2319
- [gh-2295] support bitcoin multisig address by @feliciss in #2298
- Owen/bitcoin/broadcast transaction rpc by @yubing744 in #2311
- ci(workflow): rm redundant steps by @popcnt1 in #2320
- 🔨Issues #2248 fix transaction pages by @nlyrthiia in #2309
- update rooch object default filter by @v1xingyue in #2326
- Pre mainnet genesis by @jolestar in #2261
- parse hex secret_key by @v1xingyue in #2329
- 🔨fix: portal list PageLimit adapts theme colors & typescript sdk tutorial error by @nlyrthiia in #2331
- fix(rocksdb): fix compiler flag of rocksdb wrap by @popcnt1 in #2332
- Deprecated the pre_execute_functions and post_execute_functions by @pause125 in #2297
- [bitcoin-move] Deprecated utxo seal function by @jolestar in #2337
- [System] Support rebuilding AccumulatorInfo and provides repair tools for reverting transactions by @baichuan3 in #2310
- [framework] OnChainEvent, Metaprotocol, Bitseed by @jolestar in #2197
- Release the stdlib of version 4 by @steelgeek091 in #2342
- fix doc error by @TheHeBoy in #2341
- draft implememnt multisign_account by @jolestar in #2294
- [framework] Remove copy and drop ability from SimpleMap by @jolestar in #2345
- [Metrics] Support Tx metrics by @baichuan3 in #2343
- Prepare release v0.6.5 and framework v5 by @steelgeek091 in #2347
New Contributors
- @nlyrthiia made their first contribution in #2308
Full Changelog: v0.6.4...v0.6.5
v0.6.4
Major changes
- [CLI] Improve the move publish output
- [CLI] Include the git commit in version
- [RPC] UTXOView seals output as a map
- [MoveVM] Improve the native functions error handle
- [SDK] Add discover & add module abi
- [System] Add system metrics
Release framework v3
- [rooch-framework] Support simple on-chain random number generation
- [rooch-framework] Add coin icon url for CoinInfo
- [move-stdlib] Add math modules
- [rooch-framework] Fix the transaction fee deduction issue
What's Changed
- [gh-771] support simple on-chain random number. by @feliciss in #1052
- doc: add how to claim test btc by @geometryolife in #2253
- fix(genesis_utxo): fix owener of RoochToBitcoinAddressMapping by @popcnt1 in #2255
- [Metrics] Refactor to simplify metrics and support State metrics by @baichuan3 in #2252
- add discover & add module abi by @wow-sven in #2256
- mint add coming-soon tokens by @wow-sven in #2257
- fix server panic when bitcoin address is empty by @pause125 in #2260
- [docs] Improve the DSTP documents by @jolestar in #2262
- [framework] add coin icon url for CoinInfo by @qShirley in #2254
- [VM] Handle the Discard type of status code from native function execution by @steelgeek091 in #2258
- [Metrics] Support SMT metrics by @baichuan3 in #2268
- [docs] Update account address document, add nostr by @jolestar in #2269
- Homebrew by @yourmoonlight in #1944
- [gh-1117] add math modules. by @feliciss in #2259
- chore: refine statedb/genesis cmd by @popcnt1 in #2273
- chore: fix fmt issue by @popcnt1 in #2274
- chore: add bloom-filter for reducing map searching in added_address_set of bitcoin address map by @popcnt1 in #2275
- fix private generics typo by @geometryolife in #2276
- [gh-2242] change to long_version. by @feliciss in #2263
- refactor(statedb/genesis): import inscriptions, utxo, address_mapping parallel by @popcnt1 in #2277
- Improvement the move publish output by @pause125 in #2270
- [rpc] UTXOView seals output as a map by @vegetabledogdog in #2278
- feat: update portal style by @jojoo-eth in #2279
- chore: rm useless bloomfilter for added address_mapping checking by @popcnt1 in #2288
- [framework] Fix transaction fee deduct bug by @jolestar in #2286
- [server] Add service_status to server start command by @jolestar in #2291
- correct a function name in blind_box.move by @K-tang-mkv in #2285
- [release] prepare release v0.6.4 and framework v3 by @jolestar in #2292
New Contributors
Full Changelog: v0.6.3...v0.6.4
v0.6.3
v0.6.2
Major Updates
- Bitcoin b2ms address support.
- Fix the module init function panic bug.
- CLI account supports private key export and import.
- Module metadata upgrade compatibility check.
- Support nostr address in CLI and RPC.
What's Changed
- fix(bitcoin): fix p2pk p2ms bitcoin script/address handle by @popcnt1 in #2203
- fix(bitcoin): Improve handling of Bitcoin script conversion to addresses by @popcnt1 in #2205
- Owen/bitseed/fix bitseed int test by @yubing744 in #2202
- chore(deps): bump tokio from 1.38.0 to 1.38.1 by @dependabot in #2204
- blog: partnership annoucement nubit by @geometryolife in #2210
- Fixup object query random fail by @baichuan3 in #2212
- fix shell cmd for rooch deploy by @yourmoonlight in #2206
- chore(deps): bump toml from 0.8.14 to 0.8.15 by @dependabot in #2214
- refactor(genesis_ord): remove 'is_p2pk' field and related logic by @popcnt1 in #2215
- docs: update examples/blog docs by @K-tang-mkv in #2213
- fix(genesis_ord: implement sequence_number:inscription_id as InscriptionStore's dynamic field by @popcnt1 in #2216
- [gh-1094] add account import module. by @feliciss in #2200
- Checking the metadata compatibility of a module when it's upgrading. by @steelgeek091 in #2218
- chore(deps): bump thiserror from 1.0.62 to 1.0.63 by @dependabot in #2221
- chore: print more details in genesis_<ord/utxo> tool process by @popcnt1 in #2224
- open mint by @wow-sven in #2223
- [gh-2211] print nostr bech32 address. by @feliciss in #2217
- docs: update dapp tutorial docs by @jojoo-eth in #2227
- blog: add rooch portal mint by @geometryolife in #2226
- update tutorial docs: add img by @jojoo-eth in #2228
- [cli]Line break output after password output by @shaflow01 in #2220
- [system] Add read_only option to server option by @jolestar in #2234
- Hold the panic from move verifier. by @steelgeek091 in #2236
- [cli] Update CLI default max gas amount by @jolestar in #2225
- Only execute the init function when module publishing is successful. by @steelgeek091 in #2237
- docs: update rooch/statedb cmd README by @popcnt1 in #2240
- [gh-2233] rename address view and update address view to include nostr. by @feliciss in #2235
- chore(deps): bump diesel from 2.2.1 to 2.2.2 by @dependabot in #2243
- fix(statedb): fix export genesis error caused by object struct changes by @popcnt1 in #2244
- fix(statedb): fix export indexer by @popcnt1 in #2245
New Contributors
- @jojoo-eth made their first contribution in #2227
- @shaflow01 made their first contribution in #2220
Full Changelog: v0.6.1...v0.6.2
v0.6.2-alpha
Only execute the init function when module publishing is successful. … …(#2237) * If it is successful, execute the init function