Releases: starcoinorg/starcoin
v1.5.1
- [area:protocol] [block-relayer] Verify block body when construct block by compact block and add
node manager delete-failed-block
command. #2853 #2854 - [area:cli] [rpc & cli] Add
node manager re-execute-block
command and RPC for repair block database. #2839 - [area:storage][area:chain] Implement node reset, and add
node manager reset
command #2818 - [bugfix] fix error when decoding failed txn #2820
- [area:cli] [genesis-nft-miner] fix genesis nft miner sequence number bug. #2809
- [area:vm][bugfix] [vm] Fix batch transfer ScriptFunction builder #2802
- [area:cli] [resource-exporter] use readonly mod to export resource. #2803
v1.5.0
Chain
- [area:json-api] Account import/import_readonly rpc support string hex parameter #2789
- [area:cli] add a node cmd to reset node startup info #2792
- [area:cli] add a node cmd to delete block #2796
- [area:sync] Check failed block before apply. #2794
Stdlib
- Update specs to use move 1.3 syntax. #2603
- Support contract account by using
SignerCapability
abstraction. #2673 Account::deposit
support deposit zero token. #2745Account
supports auto-accept-token feature. #2746- Implement Oracle protocol, support general data oracle and price oracles. #2732
- Implement NFT protocol which has builtin IdentifierNFT, GenesisNFT. (#2688, #2763, #2760, #2767, #2769, #2771, #2772)
- Add many script functions. #2745, #2781
- Fix
Math.mul_div
. (#2775 by xiangfeihan<xiangfeihan@bixin.com)
Hard fork
- [vm]: fix cache data when upgrading modules with init script function #161
Bugfix
- [bug] fix txn output decode failure after dry run package #2787
v1.4.2
v1.4.1
v1.4.0
Introduce StructABI,ModuleABI,ScriptFunctionABI for auto decode resource,transaction payload and move bytecode.
- Add new API:
contract.dry_run_raw
,contract.resolve_function
,contract.resolve_struct
,contract.resolve_module
,state.get_resource
,state.list_resource
,state.get_code
,state.list_code
. - Add new command:
dev resolve function|struct|module
,state get|list resource|code
Compatibility notes:
- Refactored some cli commands, some commands output are not compatible
- Deprecated BlockHeader's author_auth_key field, author_auth_key is always None from this version. This is compatible.
Upgrade suggestion:
Bug (#2689) may cause wrong transaction info to be retrieved, please upgrade to v1.3.1 or v1.4.0 as soon as possible
- [prover] upgrade move prover to diem release 1.3 (#2642)
- [stratum] Support to setting user name for client (#2644)
- [rpc] Refactor dry run api, add new api
contract.dry_run_raw
for directly dry run RawUserTransaction. Dry run outpout more detail info. (#2648) (#2720) - [move] Explain vm status (#2647) (#2666)
- [cli] Refactor
account show
output full token code for support user defined token. (#2658) (#2718) - [abi,rpc] ABI resolve and decoder, support decode resource, transaction payload and bytecode. Add new api
contract.resolve_function
,contract.resolve_struct
,contract.resolve_module
. Add new commanddev resolve function|struct|module
. (#2659) (#2702) #2719) - [rpc] Add new
state.get_resource
,state.list_resource
,state.get_code
,state.list_code
API and support decode data by ABI, implements newstate get resource|code
,state list resource|code
command by new API. (#2668) (#2681) (#2695) - [move-cli] support functional-test (#2667) (#2691)
- [faucet] Refactor and deploy starcoin test network faucet (#2669) (#2670) (#2680)
- [cmd] Add db-exporter cmd for export database records. (#2657)
- [account] Remove AccountSignature and define SignedMessage, for support verify account by SignedMessage (#2676) (#2696)
- [rpc,cli] Event filter now support filter by address or typetag and decode data (#2682) (#2717)
- [accumulator] Fix bug for get txn info from chain (#2689)
- [types] Do auth key final cleanup, BlockHeader's author_auth_key field now is always None. (#2687) (#2713)
- [cli] Refactor ExecuteResultView, output more detail info about transaction (#2715)
- [test] support specify address when declare accounts (#2711)
中文说明
发者体验以及工具增强。
- 引入 ABI resolver 和 decoder,可以通过 Move bytecode 自动生成 StructABI, FunctionABI, ModuleABI。ABI 可用于代码生成,解析二进制状态,事件以及交易参数等场景。
- 优化预执行交易的错误展示,可精确定位到出错的模块以及方法。
- 新增接口:
contract.dry_run_raw
,contract.resolve_function
,contract.resolve_struct
,contract.resolve_module
,state.get_resource
,state.list_resource
,state.get_code
,state.list_code
. - 新增命令:
dev resolve function|struct|module
,state get|list resource|code
兼容性说明:
- 重构了一些 cli 命令,可能会导致一些命令的输出 json 格式不兼容。
- 废除了 BlockHeader 的 author_auth_key 字段,从这个版本开始 author_auth_key 总是为空。这变更是兼容的。
升级建议:
Bug (#2689) 可能会导致打包到叔块的交易被错误的认为是在主块,请尽快升级到 v1.3.1 或者 v1.4.0 版本。
- [prover] 升级 Move prover 到1.3版的 diem (#2642)
- [stratum] 支持为客户端设置用户名 (#2644)
- [rpc] 重构 dry run api,增加新的 api
contract.dry_run_raw
用于直接 dry run RawUserTransaction。dry run 返回值中输出详细的 resource 变更结果。 (#2648) (#2720) - [move] 解释 VM 的错误码,展示错误码的名称以及执行失败的模块 (#2647) (#2666)
- [cli] 重构
account show
输出完整的 TokenCode,以支持用户定义的 Token。(#2658) (#2718) - [abi] ABI resolver 和 decoder,支持将 resource,transaction payload, evnet, 以及 move bytecode 解析成展示友好的 json 格式。新增接口
contract.resolve_function
,contract.resolve_struct
,contract.resolve_module
. 新增命令dev resolve function|struct|module
. (#2659) (#2702) #2719) - [rpc] 新增
state.get_resource
,state.list_resource
,state.get_code
,state.list_code
,通过新的 API 实现新的state get resource|code
,state list resource|code
命令,可自动将二进制解析为 json。(#2668) (#2681) (#2695) - [move-cli] 支持 functional test (#2667) (#2691)
- [faucet] 重构和部署 starcoin 测试网 faucet (#2669) (#2670) (#2680)
- [cmd] 增加 db-exporter 命令用于导出数据库记录 (#2657)
- [account] 移除 AccountSignature 并定义 SignedMessage,以支持通过 SignedMessage 验证账户 (#2676) (#2696)
- [rpc,cli] 事件过滤器现在支持通过地址或类型标签过滤和解码数据 (#2682) (#2717)
- [accumulator] 修复从链上获取 txn info 的错误 (#2689)
- [types] 完成 auth_key 的最后清理工作,废弃 BlockHeader 的 author_auth_key 字段。(#2687) (#2713)
- [cli] 重构 ExecuteResultView,输出更多关于交易的详细信息 (#2715)
- [test] 支持在声明账户时指定地址 (#2711)
v1.4.0-beta
[rpc & cli] Add chain_id to SignedMessage, and verify chain id. (#2696) * [rpc & cli] Add chain_id to SignedMessage, and verify chain id.
v1.3.1
v1.3.0
Move upgrade, command line development tool improvement, miner client support stratum mining pool protocol, stdlib v5 follow-up update
Compatibility notes:
- cleaned up and refactored some cli commands, some commands are not compatible
- The account address literals in the new Move source code need to be prefixed with
@
symbols, for example,0xA550C18
needs to be changed to@0xA550C18
.
Upgrade recommendation:
Please upgrade to the new version to be ready for open third-party Move contract deployment
- [cli] console commands that require password are not recorded in the command history (#2591)
- [cli] Clean up and unify commands 1. migrate debug commands to dev 2. replace
_
symbols in commands with-
3. default output json (#2593) (#2599) (#2606) - [transaction] transfers use the 0x1::TransferScripts::peer_to_peer_v2 function in stdlib v5, which no longer requires the auth key parameter (#2609)
- [types] Implemented ReceiptIdentifier in AccountAddress, deprecated the auth key field in ReceiptIdentifier, now AccountAddress == ReceiptIdentifier, e.g. 0xb3b40cb6dbb335b69f5405ec43f8e7ce == stc1pkw6qedkmkv6md865qhky8788ecajgscp , both are different format of address (#2627)
- [mv] Validate ScriptFunction parameters while validating transactions (#2624)
- [move-cli] Upgrade move cli, and include in starcoin release binary package (#2629)
- [cli] dev compile command support directory and dev deploy command support Package binary, dry run transaction output improved (#2619) (#2623)
- [move] Move VM upgraded to v1.3 (diem 1.3) Note: The address literals in the new Move syntax need to be prefixed with the
@
symbol (#2603) - [miner] miner client supports stratum mining pool protocol (#2617)
- [token] Fix TokenCode nested generic support, e.g.:
0x1::Token::TokenPair<0x1::TokenA::TokenA, 0x1::TokenB::TokenB>
(#2631) - [transaction] Fix transaction generator builder bug that could not generate sdk for other languages (#2625)
- [ci] Fix Windows build bug (#2630)
- [documentation] Add postman configuration and instructions (#2581) document improve (#2582)
中文说明
Move 版本升级, 命令行开发工具改进, miner client 支持 stratum 矿池协议, stdlib v5 升级后续更新
兼容性说明:
- 清理和重构了部分 cli 命令,部分命令不能兼容
- 新版 Move 源码中的账号地址字面量需要加上
@
符号前缀, 比如0xA550C18
需要改为@0xA550C18
升级建议:
请升级到新版以准备好开放第三方合约部署
- [cli] console 命令中需要输入密码等信息的命令不记录在命令历史记录中 (#2591)
- [cli] 清理以及统一命令 1. 将 debug 下的命令迁移到 dev 2. 命令中的
_
符号用-
替换 3. 默认输出 json 结果 (#2593) (#2599) (#2606) - [transaction] 转账使用 stdlib v5 中的 0x1::TransferScripts::peer_to_peer_v2 方法,不再需要 auth key 参数 (#2609)
- [types] 在 AccountAddress 中实现了 ReceiptIdentifier,废弃了 ReceiptIdentifier 中的 auth key 字段,现在 AccountAddress == ReceiptIdentifier,比如 0xb3b40cb6dbb335b69f5405ec43f8e7ce == stc1pkw6qedkmkv6md865qhky8788ecajgscp , 都是 address 的不同展示方式 (#2627)
- [mv] 验证交易的时候同时校验 ScriptFunction 的参数 (#2624)
- [move-cli] 升级 move cli, 并包含在 starcoin release 二进制包中 (#2629)
- [cli] dev compile 支持目录以及 dev deploy 命令支持 Package 二进制, dry run 交易输出结果改进 (#2619) (#2623)
- [move] Move VM 升级到 v1.3 (diem 1.3) 注意: 新版 Move 语法中的地址字面量需要加上
@
符号前缀 (#2603) - [miner] miner client 支持 stratum 矿池协议 (#2617)
- [token] 修复 TokenCode 嵌套泛型支持,比如:
0x1::Token::TokenPair<0x1::TokenA::TokenA, 0x1::TokenB::TokenB>
(#2631) - [transaction] 修复了 transaction generator builder 无法生成其他语言 sdk 的bug (#2625)
- [ci] 修复了 Windows 版本 build 错误 (#2630)
- [document] 增加 postman 配置以及说明 (#2581), 如果当前语言的文档缺失则提供其他语言版本的链接 (#2582)
v1.2.0
Released the Move CLI tool and refactored the authentication key verification mechanism.
Note: This release contains hard fork features that will be activated after stdlib is upgraded to v5 version. Please upgrade to the latest version and wait for the upgrade proposal to be initiated before conducting an on-chain vote. Detailed instructions on voting will be given after the upgrade proposal is submitted.
- [move cli] Release of the Move CLI tool and integration of the Move CLI and Starcoin chains, supported dependent third-party modules when developing Move contracts. (#2535) (#2535)
- [stdlib] Released stdlib v5, contains the following features: 1. Refactor the authentication key verification mechanism of the account to simplify the way the account is initialized (#2562) 2. Add limit for treasury withdrawal proposals up to the proposal's voting threshold (#2566)
- [documentation] Contract development-related documentation updates
中文说明
发布 Move CLI 工具以及重构账号的 authentication key 校验机制,简化账号的初始化方式。
注:本版本包含硬分叉特性,将在 stdlib 升级到 v5 版本后激活。请升级到最新版本,等待升级提案发起后,进行链上投票。关于投票的详细说明会在升级提案提交后给出。
v1.1.0
Account and Miner rpc and command enhancements
- [cli] Enhanced account command support for receipt identifier (#2521)
- [cli] Improved multi-sign command (#2529)
- [cli & account] Read-only account support (#2536)
- [cli & account] Support remove account command, no more restarting the node after the default account switch, and the lock/unlock rpc returns AccountInfo (#2544)
- [cli] Unify commands for Module upgrades (#2511)
- [stratum] Added documentation for the stratum protocol and fixed a bug that caused lose hash rates (#2539)
- [rpc & miner] Improved Miner rpc return values (#2534)
- [indexer] Improved block indexing tool (#2524) (#2526) (#2532) (#2543)
中文说明
Account 以及 Miner 相关的接口和命令增强
- [cli] 增强账号相关命令对收款识别码(receipt identifier)的支持 (#2521)
- [cli] 改进多签命令 (#2529)
- [cli & account] 支持只读账号 (#2536)
- [cli & account] 支持删除账号命令,默认账号切换后不再需要重启节点,以及 lock/unlock 接口返回 AccountInfo (#2544)
- [cli] 统一 Module 升级的命令 (#2511)
- [stratum] 新增 stratum 协议的文档以及修复了一个导致丢失哈希率的 bug (#2539)
- [rpc & miner] 改进 Miner 相关的接口返回值 (#2534)
- [indexer] 改进区块索引工具 indexer, 索引数据结构变更以及批量写入优化 (#2524) (#2526) (#2532) (#2543)