Releases: FISCO-BCOS/FISCO-BCOS
Releases · FISCO-BCOS/FISCO-BCOS
v3.15.2
What's Changed
- Fix m_result calc error by @morebtcg in #4878
- Add upgrade_to_writer() in memstorage readOne by @morebtcg in #4880
- Upgrade version to 3.15.2 by @morebtcg in #4881
- Add single_point_consensus and force_sender for testing by @morebtcg in #4885
- Add bugfix_method_auth_sender by @morebtcg in #4886
- Update readSome impl in memorystorage by @morebtcg in #4887
- (executor): add bug fix precompiled evm status. by @kyonRay in #4888
- Get LedgerConfig every block, Remove marktx lock by @morebtcg in #4889
- Support empty block for scheduler v1 by @morebtcg in #4891
- reset the lowWaterMark when viewChange by @cyjseagull in #4890
- Add exists logic to readSome for mem and multilayer storage by @morebtcg in #4893
- Write blockhash and number into storage to support getBlockHash() by @morebtcg in #4894
- sync code from release-3.15.2 by @morebtcg in #4895
Full Changelog: v3.15.1...v3.15.2
v3.15.1
What's Changed
- Use value insted of reference to avoid memory error by @morebtcg in #4863
- Add call flag for executeTransaction by @morebtcg in #4864
- Support query not exists entry in multilayer storage by @morebtcg in #4865
- Update all version to 3.15.1 by @morebtcg in #4866
- Move consume balance into execute step by @morebtcg in #4867
- Add bugfix_precompiled_gascalc by @morebtcg in #4868
- Add isolate to notify task by @morebtcg in #4870
- Not return empty block in sealer by @morebtcg in #4872
- Move updateNonce into step 2 to avoid core by @morebtcg in #4873
- Add unlock for LedgerNonceChecker::batchInsert by @morebtcg in #4874
- fix build_chain generate_template_package to support expand new node by @cyjseagull in #4869
- Update savepoint after updateNonce by @morebtcg in #4876
- Remove callback in bucket map clear() by @morebtcg in #4877
- sync code from 3.15.1 to master by @morebtcg in #4875
Full Changelog: v3.15.0...v3.15.1
v3.15.0
What's Changed
- Add config executor_version by @morebtcg in #4836
- Remove checkRequirements method by @morebtcg in #4840
- Add set executor version config by @morebtcg in #4842
- Simplify baseline by @morebtcg in #4843
- add genesis executor version config by @morebtcg in #4844
- Rename transaction-executor and transaction-scheduler to v1 by @morebtcg in #4845
- Fix executor version sync bug by @morebtcg in #4848
- init the evmc_tx_context by @bxq2011hust in #4850
- Add executor v1 nonce logic by @morebtcg in #4849
- Move _ledgerConfig usage after error by @morebtcg in #4851
- (txpool): fix web3 nonce check logic in UT. by @kyonRay in #4852
- (rpc): fix web3 rpc tx encode error when 'to' field is empty. by @kyonRay in #4853
- (executor): fix update nonce in static call. by @kyonRay in #4854
- Fix different compare function for StateKey and StateKeyView bug by @morebtcg in #4855
- Upgrade version to 3.15.0 by @morebtcg in #4857
- Fix balance problems by @morebtcg in #4860
- sync code from release-3.15.0 by @morebtcg in #4861
Full Changelog: v3.14.0...v3.15.0
v3.14.0
What's Changed
- (txpool): fix tx sync log error. by @kyonRay in #4476
- (gateway, boostssl) disable lower versions of TLS in SM mode by @jdkuangxx in #4485
- (gateway,sync): modify 'error' keyword logs to 'failed'. by @kyonRay in #4491
- (ws,executor): fix decode ws msg error, cherry-pick #4487 to fix get feature bug. by @kyonRay in #4493
- add sig len check and rm sender for p2p tx by @Mojicode in #4519
- fix bcos-sdk crash bugs by @ywy2090 in #4665
- support config message worker thread num by @ywy2090 in #4776
- fix EthEndpoint getCode coredump caused by access invalid object by @cyjseagull in #4797
- Fix baseline scheduler balance feature error by @morebtcg in #4807
- Sync code from 3.7.4 by @morebtcg in #4808
- not return event for non-success receipt by @cyjseagull in #4798
- not verify the certificate when p2p.enable_ssl is false by @cyjseagull in #4810
- Add lock for memory storage range() by @morebtcg in #4811
- Add transfer permission by @morebtcg in #4813
- sync code from feature-3.14.0-nodeid-optimize by @cyjseagull in #4817
- Add TODO Trysync logic by @morebtcg in #4819
- Sync code from 3.12.5 by @morebtcg in #4820
- (executor): fix nonce not increase when transaction revert, fix contract initial nonce not set issue. by @kyonRay in #4818
- Add asyncTask to solve lifetime problem, Remove copy sessions by @morebtcg in #4821
- Replace unsafe concurrent container with mutex by @morebtcg in #4822
- fix routerTimer startTimer exception by @cyjseagull in #4825
- fix chainID caused inconsistency by @cyjseagull in #4829
- Fix p2p crash bug by @morebtcg in #4827
- (executor,scheduler): move update eoa nonce logic to scheduler. by @kyonRay in #4831
- fix deadlock caused by notifySealer by @cyjseagull in #4832
- sync code from release-3.14.0 to master by @cyjseagull in #4833
- fix p2p-crash caused by writing data to closed socket by @cyjseagull in #4834
- fix unthread-safe bug of GatewayStatus by @cyjseagull in #4835
Full Changelog: v3.13.0...v3.14.0
v3.13.0
What's Changed
- Use constexpr c_systemTxsAddress and std::string precompiled address by @morebtcg in #4641
- Add feature_raw_address by @morebtcg in #4642
- Add pmr allocator for task by @morebtcg in #4643
- Merge from 3.12 by @morebtcg in #4654
- sync code from 3.12.0 by @morebtcg in #4659
- Improve serval memory usage by @morebtcg in #4658
- MemoryStorage support heterogeneous lookup by @morebtcg in #4663
- Add Equal for MemoryStorage by @morebtcg in #4676
- sync code from 3.12 by @morebtcg in #4678
- Use array replace unordered_map by @morebtcg in #4679
- Use std::string_view as nonce by @morebtcg in #4674
- buildGenesisBlock use large syncWait block by @morebtcg in #4686
- Impl basic balance logic for baseline executor by @morebtcg in #4685
- Move pmr task into standalone dir by @morebtcg in #4691
- Add conflictKeys field for transaction, add random transfer benchmark case by @morebtcg in #4689
- Split executor into 3 coroutine by @morebtcg in #4693
- Reduce libgateway handle copy by @morebtcg in #4696
- Add check transaction signature switch by @morebtcg in #4697
- Replace useless shared_ptr in gateway by @morebtcg in #4698
- Remove accessor ptr by @morebtcg in #4699
- Refactor MemoryStorage struct to hidden friend idiom by @morebtcg in #4701
- Add sanitize ci check and fix txpool bug by @morebtcg in #4702
- Update writeSome input to tuple by @morebtcg in #4706
- batchRemove use parallel remove, session use concurrent queue by @morebtcg in #4716
- Add interfaces for block, remove useless threadpool by @morebtcg in #4719
- Timer support borrowed ioservice by @morebtcg in #4726
- Remove notifyUnSealTxs to avoid transaction block by @morebtcg in #4727
- sync code by @HaoXuan40404 in #4735
- Update performanceTransfer by @morebtcg in #4737
- use legecy url by @HaoXuan40404 in #4738
- Refactor bucket map, add traverse by @morebtcg in #4734
- Sync code from master by @morebtcg in #4739
- Serval performance changes by @morebtcg in #4740
- sync code to release-3.13.0 by @morebtcg in #4741
- Add coroutine broadcastMessage interface for gateway and network by @morebtcg in #4742
- Transfer balance before execute by @morebtcg in #4743
- Remove readOne to readSome by @morebtcg in #4755
- Add cost balance ut by @morebtcg in #4758
- Update front msg type by @morebtcg in #4756
- Update timer and router map by @morebtcg in #4763
- Add broadcast message impl by @morebtcg in #4761
- Update pbft to use new broadcast interface by @morebtcg in #4764
- sync code from master by @morebtcg in #4769
- Add BalancePrecompiled for baseline by @morebtcg in #4778
- Add bugfix_policy1_emptyto and recover java_sdk_demo ci test by @morebtcg in #4785
- sync code from master to 3.13.0 by @morebtcg in #4791
- sync code from master2 by @morebtcg in #4800
- Rename bugfix name by @morebtcg in #4801
- Add bugfix impl for transaction-executor by @morebtcg in #4802
- sync code from release-3.13.0 to master by @morebtcg in #4804
Full Changelog: v3.12.4...v3.13.0
FISCO BCOS Release v3.12.4
FISCO BCOS Release v3.12.3
FISCO BCOS Release v3.12.2
What's Changed
- (CI): add ubuntu upload, try to fix windows compile cppsdk error. by @kyonRay in #4736
- (rpc,utilities): fix rpc block response bug, fix executor nonce compatibility issue. by @kyonRay in #4757
- sync code from 3.12.2 to mater by @morebtcg in #4766
- (project): upgrade to 3.12.2 by @kyonRay in #4767
Full Changelog: v3.12.1...v3.12.2
FISCO BCOS v3.12.1
What's Changed
- (gateway): add ssl server and client verify mode config. by @kyonRay in #4688
- (gateway): fix handshake issue since gateway do not decode clients' ssl pub key when it set ssl verify_none mode. by @kyonRay in #4692
- (gateway): set ssl server and client verify mode to openssl directly, generate random p2p id for server and client when verify mode is verify_none. by @kyonRay in #4694
- (build): update version to 3.12.1. by @kyonRay in #4718
- (p2p,rpc): fix p2p message length check coredump, add more information in web3 json rpc block response. by @kyonRay in #4720
- fix docker ci build failed by @HaoXuan40404 in #4729
- (CI): fix github release actions. by @kyonRay in #4731
- Release v3.12.1 by @kyonRay in #4733
Full Changelog: v3.12.0...v3.12.1
FISCO BCOS v3.12.0
获取更多信息,请阅读FISCO BCOS 3.x文档
新增
- 适配Web3合约地址的计算逻辑,开启配置项
feature_evm_address
即可使用。相关PR:#4597 - 新增Web3交易对EOA的nonce递增检查。相关PR: #4603
- 适配Solidity交易内合约时间戳单位到秒级,开启配置项
feature_evm_timestamp
即可使用。相关PR:#4622 - 新增rPBFT的轮换选举权重,共识委员会根据轮换选举权重选出共识节点,开启配置项 `` 即可使用。相关PR:#4600、#4605
- 在配置文件中新增
rpc.enable_ssl
的配置项,该配置项的设置将覆盖原有rpc.disable_ssl
的配置。相关PR:#4680
修复
- rPBFT的VRF input从prev block hash更改到prev block number,以解决在流水线共识情况下偶然出现的轮换选举失败。开启配置项
bugfix_rpbft_vrf_blocknumber_input
即可使用。相关PR#4670 - 修复交易发送到游离节点,可以广播给共识节点的bug。相关PR:#4662
- 修复观察节点切换到共识节点后并成为leader时,可能出现已落盘交易被打包最终proposal被共识拒绝的问题。相关PR:#4671
- 修复部分Web3 JSON RPC接口接收错误HEX格式时出现coredump的问题。相关PR:#4661
- 修复使用落盘加密不可用的问题。相关PR:#4682
兼容性说明
兼容版本
需要升级的链的“数据兼容版本号(compatibility_version)”为如下版本时:
- 3.4.x、3.5.x,3.6.x、3.7.x、3.8.x、3.9.x、3.10.x、3.11.x:数据完全兼容当前版本,直接替换二进制即可完成升级
- 3.3.x、3.2.x、3.1.x、3.0.x:支持通过替换二进制进行灰度升级,若需使用当前版本的新特性,需升级数据兼容版本号,操作见文档
- 3.0-rc x:数据不兼容,无法升级,可考虑逐步将业务迁移至3.x正式版
- 2.x:数据不兼容,2.x版本仍持续维护,可考虑升级为2.x的最新版本
升级方法
该操作仅支持将3.x版本升级为本版本,不支持3.0-rc或2.x的升级。
查询数据兼容版本号(compatibility_version)
用控制台
进行查询,如当前返回的版本为3.11.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.11.0
替换节点二进制
需将所有节点
的二进制逐步替换为当前版本。为了不影响业务,替换过程能够以灰度方式进行,逐个替换并重启节点。替换过程中,当前的链仍然会以旧的数据兼容版本号的逻辑继续执行。当所有节点二进制替换完成并重启后,需用控制台修改数据兼容版本号为当前版本。
设置数据兼容版本号(compatibility_version)
用控制台
设置数据兼容版本号。
[group0]: /apps> setSystemConfigByKey compatibility_version 3.12.0
{
"code":0,
"msg":"success"
}
注:若开启权限治理功能,需要使用 setSysConfigProposal 命令
设置成功,再次查询,得到当前版本已升级为3.12.0
[group0]: /apps> getSystemConfigByKey compatibility_version
3.12.0
当前链已经完成升级,至此,链开始以新的逻辑继续运行,并支持了新的特性。
组件兼容性
推荐版本 | 最低版本 | 说明 | |
---|---|---|---|
WeBASE | 3.0.2 | 3.0.2 | |
WeIdentity | v3.0.0-rc.1 | v3.0.0-rc.1 | |
Console | 3.8.0 | 3.0.0 | |
Java SDK | 3.8.0 | 3.0.0 | |
CPP SDK | 3.7.0 | 3.0.0 | |
Solidity | 0.8.26 | 最低 0.4.25,最高 0.8.26 | 需根据合约版本下载编译器(控制台) |
WBC-Liquid | 1.0.0-rc3 | 1.0.0-rc3 |
What's Changed
- sync code 3.11 by @morebtcg in #4585
- Update code style for pbft & rpbft by @morebtcg in #4587
- Use default operator<=> impl by @morebtcg in #4588
- sync code from rpbft2 by @morebtcg in #4590
- Remove LedgerFetcher in pbft & rpbft by @morebtcg in #4591
- Remove ledger config fetcher by @morebtcg in #4593
- Fix dependices version by @morebtcg in #4595
- (pbft): fix proposal re-push cache bug when proposal apply failed. by @kyonRay in #4598
- modify revert log by @bxq2011hust in #4601
- (ledger,executor): add eoa and contract nonce calculate. by @kyonRay in #4597
- Add term weight config by @morebtcg in #4600
- (txpool): add txpool check web3 nonce logic. by @kyonRay in #4603
- (executor,scheduler,ledger): add legacy evm address logic, move write nonce logic to executor, fix web3 nonce checker. by @kyonRay in #4607
- Add weight based rotate for rpbft by @morebtcg in #4605
- (txpool): add web3 tx check duplicate logic. by @kyonRay in #4610
- bcos-ledger use standard dir struct by @morebtcg in #4612
- (executor,precompiled): add enable balance transfer config. by @kyonRay in #4615
- modify revert log (#4601) by @bxq2011hust in #4616
- (build): update version to 3.10.2. by @kyonRay in #4617
- Add cstdint by @morebtcg in #4618
- Add getnodelist by @morebtcg in #4619
- Ledger build genesis use setNodeList by @morebtcg in #4620
- <feat&fix>(executor,utilities): add feature_evm_timestamp feat, fix u256 hex abbort. by @kyonRay in #4622
- (code): sync code from 3.10.2. by @kyonRay in #4624
- (rpc): fix web3 rpc eth_estimateGas return bug. by @kyonRay in #4625
- (project): upgrade to 3.10.3. by @kyonRay in #4627
- Add getBlockHash method for ledger by @morebtcg in #4629
- (code): sync code from 3.10.3 by @kyonRay in #4632
- (txpool,executor): change web3 nonce mem cache logic to avoid duplicate tx, add only web3 transaction store nonce logic. by @kyonRay in #4631
- Update rpbft vote weight impl by @morebtcg in #4634
- (txpool,rpc): add get pending tx nonce from txpool logic. by @kyonRay in #4636
- Use legacy rpbft when sum of term weight is zero by @morebtcg in #4637
- Avoid zero weight node generate block by @morebtcg in #4638
- Add setTermWeight and fix term weight bug by @morebtcg in #4645
- remove osp by @HaoXuan40404 in #4639
- fix buildchain by @HaoXuan40404 in #4647
- Avoid change observer node to sealer by @morebtcg in #4655
- Support setConsensusTermWeight when enable auth by @morebtcg in #4657
- (rpc,gateway): fix wrong format hex coredump in rpc, add common definition of max p2p msg length. by @kyonRay in #4661
- (txpool): fix txpool check transaction from free node bug. by @kyonRay in #4662
- Fix KeyImpl multi thread error by @morebtcg in #4664
- Use single getNodeList in getLedgerConfig by @morebtcg in #4667
- Change rotate hash to blocknumber by @morebtcg in #4670
- Ignore 0 termWeight node by @morebtcg in #4673
- (sealer): fix sealer duplicate seal transaction when observer turn into consensus. by @kyonRay in #4671
- (boostssl): Cherry-pick: fix bcos-sdk crash bugs (#4665) by @kyonRay in #4675
- (ledger): fetch all sysconfig in one step to reduce coroutine stack deepth. by @kyonRay in #4677
- (config): add enableSsl config, it will cover disableSsl config. by @kyonRay in #4680
- (executor,security): fix feature not found issue when call contract, fix data security issue. by @kyonRay in #4682
- Release v3.12.0 by @kyonRay in #4684
Full Changelog: v3.11.0...v3.12.0