ckb 0.100.0 (c978940 2021-09-13) #3046
doitian
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This version is compatible with v0.25.0 and above. However, it is recommended to upgrade the node, since we will only release security patches based on the latest release.
See how to connect to various chains in Wiki.
The version v0.100.0 will bring incompatible changes for the next hard fork but it will not activate the hard fork for testnet and mainnet. So it is compatible with the current testnet and mainnet.
extra_hash
, which replaceduncles_hash
.extension
but no blocks may set it before the hard fork activation.hash_type
has a new allowed value "data1" but it is invalid before the hard fork activation.OutputsValidator
in the JSON RPCsend_transaction
iswell_known_scripts_only
now. See feat: change defaultOutputsValidator
towell_known_scripts_only
#2821 for details.Downloads
The
.asc
files are signatures. It is wise and more secure to check out for the files integrity.Changes since v0.43.2
This version contains the fork features in ckb2021 which are disabled in testnet and mainnet.
Features
feat(hardfork): ckb2021 hardfork features #2715 hardfork: ckb2021 hardfork features (@yangby-cryptape)
See RFC37: ckb2021 overview rfcs#242
feat(hardfork): ckb2021 hardfork features (vm related part) #2756 hardfork: Ckb2021 hardfork features (vm related part) (@yangby-cryptape)
See RFC37: ckb2021 overview rfcs#242
refactor(hardfork): change field "hash_type" to an enumerated type #2818 hardfork: Change field "hash_type" to an enumerated type (@yangby-cryptape)
BREAKING CHANGES: Revert breaking changes which were introduced in feat(hardfork): ckb2021 hardfork features (vm related part) #2756.
feat(hardfork): net hardfork #2796 hardfork: Net hardfork (@driftluo)
See RFC35: ckb2021 P2P protocol upgrade rfcs#234
feat(hardfork): reject vm1 lock script before hardfork started to keep compatible with old clients #2797 hardfork: Reject vm1 lock script before hardfork started to keep compatible with old clients (@yangby-cryptape)
feat(hardfork): remove the header deps immature rule #2798 hardfork: Remove the header deps immature rule (@yangby-cryptape)
feat: only send notifications when service is stated #2819: Only send notifications when service is stated (@zhangsoledad)
feat: prepend the binary version to BlockAssemblerConfig message #2817: Prepend the binary version to BlockAssemblerConfig message (@quake)
feat: change default
OutputsValidator
towell_known_scripts_only
#2821: Change defaultOutputsValidator
towell_known_scripts_only
(@quake)refactor(hardfork): verify the epoch in since more strictly #2792 hardfork: Verify the epoch in since more strictly (@yangby-cryptape)
epoch_index
is less thanepoch_length
or bothepoch_index
andepoch_length
are zero.See more in RFC30: Ensure that index is less than length in input since field using epoch. rfcs#223
refactor(hardfork): rename JSON RPC field "uncles_hash" to "extra_hash" #2776 hardfork: Rename JSON RPC field "uncles_hash" to "extra_hash" (@yangby-cryptape)
resumeble verification #2799: Resumeble verification, which removes the cycles limit to relay tx (@zhangsoledad)
feat: dial bootnode randomly #2846: Dial bootnode randomly (@driftluo)
feat: better tips for "migrate" subcomamnd #2854: Better tips for "migrate" subcomamnd (@yangby-cryptape)
feat: remove old version peer from peer store on fork #2849: Remove old version peer from peer store on fork (@driftluo)
feat: add network protocol config #2641: Add network protocol config (@quake)
feat(hardfork): add a new field "hardfork_features" to the return of RPC method "get_consensus" #2879 hardfork: Add a new field "hardfork_features" to the return of RPC method "get_consensus" (@yangby-cryptape)
feat: upgrade hyper and ckb-vm #2913: Upgrade hyper, and ckb-vm (@driftluo)
feat: persistent tx-pool data into a file when it has been shutdown #2656: Persistent tx-pool data into a file when it has been shutdown (@quake)
feat: reduce cellbase maturity on staging spec #2921: Reduce cellbase maturity on staging spec (@keroro520)
feat: update ckb-vm to 0.20.0-rc4 #2963: Update ckb-vm to 0.20.0-rc4 (@mohanson)
ckb-vm 0.20.0-rc4 release note: https://github.com/nervosnetwork/ckb-vm/releases/tag/0.20.0-rc4
feat: update ckb-vm to 0.20.0-rc5 #3004: Update ckb-vm to 0.20.0-rc5 (@mohanson)
Contains a bug fix, see release notes below:
https://github.com/nervosnetwork/ckb-vm/releases/tag/0.20.0-rc5
Bug Fixes
fix: put migration version #2785: Put migration version (@zhangsoledad)
A bug introduced by 220464f, cause the migration version do not put in the new created DB.
fix: fix peer store evict #2827: Fix peer store evict (@driftluo)
Originally, only the data in the largest group was considered, but now it is changed to traverse at least half of the groups
fix: fix dummy miner solve #3012: Fix dummy miner solve (@driftluo)
fix: shouldn't override the
log.file
after touch it #3011: Shouldn't override thelog.file
after touch it (@yangby-cryptape)[backport] fix: put migration version #2787: Put migration version (@zhangsoledad)
fix: fix peer store evict #2829: Fix peer store evict (@driftluo)
fix: display full path for deprecated fields in warning messages #2833: Display full path for deprecated fields in warning messages (@yangby-cryptape)
fix: touch_last_txs_updated_at #2856: Touch
last_txs_updated_at
in tx pool (@zhangsoledad)fix: fix the status marking problem of header sync #2857: Fix the status marking problem of header sync (@driftluo)
fix: don't panic when the database is created by a higher version executable binary #2877: Don't panic when the database is created by a higher version executable binary (@yangby-cryptape)
fix: there may be competition between header sync and eviction #2894: There may be competition between header sync and eviction (@driftluo)
fix(metrics): there is no reactor running #2897 metrics: There is no reactor running (@yangby-cryptape)
fix: try traverse all unknown parent hash #2906: Try traverse all unknown parent hash (@driftluo)
fix: callback potentially incorrect trigger on concurrent context #2923: Callback potentially incorrect trigger on concurrent context (@zhangsoledad)
fix(test): make sure testnode graceful shutdown basic sync #2924 test: Make sure testnode graceful shutdown basic sync (@zhangsoledad)
fix: fix stream body read #2934: Fix stream body read (@driftluo)
fix: persisted test wait tx-pool ready #2932: Persisted test wait tx-pool ready (@zhangsoledad)
fix(reset-data): the argument
--network-peer-store
couldn't work #2950 reset-data: The argument--network-peer-store
couldn't work (@yangby-cryptape)fix: snapshot cycles calculation #2971: Snapshot cycles calculation (@zhangsoledad)
Improvements
perf: avoid unnecessary db creation #2755: Avoid unnecessary db creation (@zhangsoledad)
perf: replace RwLock/Mutex<HashMap/HashSet> with DashMap #2685: Replace
RwLock/Mutex<HashMap/HashSet>
with DashMap (@quake)refactor: move state flag to
HeadersSyncState
enum #2736: Move state flag toHeadersSyncState
enum (@quake)We are using 3 fields
sync_started
/sync_connected
/not_sync_until
in the headers sync process, this PR refactored them to a state machine enumHeadersSyncState
perf: use KeyedPriorityQueue to replace BTreeMap/HashSet #2707: Use KeyedPriorityQueue to replace BTreeMap/HashSet (@quake)
refactor: verify the epoch in block headers explicitly #2791: Verify the epoch in block headers explicitly (@yangby-cryptape)
The data of epoch in bytes is not same as the
EpochNumberWithFraction
, which causes a few unintended consequences.refactor: compatibility policy for configuration files #2822: Compatibility policy for configuration files (@yangby-cryptape)
Deny unknown configuration items.
To avoid several kinds of mistakes, for example, typos.
Allow deprecated configuration items, but they will be ignored; and warning messages will be output.
After several versions, if these deprecated items satisfied any of the following conditions, they will be fully removed (denied):
The default configuration files will not include any deprecated configuration items.
The default configuration files will not enable any experimental configuration items.
doc: use community contributed site for script error codes #2770: Use community contributed site for script error codes (@doitian)
feat: give an unique id to each global runtime thread #2779: Give an unique id to each global runtime thread (@yangby-cryptape)
refactor(rpc): change struct from "TxPoolVerbosity" to "TxPoolEntries… #3006 rpc: Change struct from "TxPoolVerbosity" to "TxPoolEntries… (@chanhsu001)
Breaking change for using ckb crates.
refactor: remove redudant
as_ref
#2841: Remove redudantas_ref
(@doitian)perf: avoid duplicate cell check #2863: Avoid duplicate cell check (@zhangsoledad)
refactor: replace metrics-rs with opentelemetry-rust #2870: Replace metrics-rs with opentelemetry-rust (@yangby-cryptape)
refactor: enum tuple struct #2925: Enum tuple struct (@zhangsoledad)
refactor(ckb-resource): Remove dependency on tempfile in ckb-resource #2948: Remove dependency on tempfile in ckb-resource (@chanhsu001)
perf: regex new is expensive #2982: Regex new is expensive (@driftluo)
refactor: refactor peer store #2964: Refactor peer store (@driftluo)
This discussion was created from the release ckb 0.100.0 (c978940 2021-09-13).
Beta Was this translation helpful? Give feedback.
All reactions