github nervosnetwork/ckb v0.100.0-rc2

latest releases: v0.116.0-rc2, v0.116.0-rc1, v0.115.0...
pre-release2 years ago

This is an RC version to preview the changes in the next release.

The version v0.100.0 will bring hard fork upgrades to CKB. These features will be enabled when starting a new dev chain, but they are disabled when running testnet and mainnet so it is still compatible with the current mainnet (Lina) and testnet (Aggron). However, it will introduce many breaking changes:

  • The field uncles_hash in header will be renamed to extra_hash for all JSON RPC methods.
  • The field hash_type has a new allowed value "data1" but it is only valid after hard fork activation.
  • The default value of the parameter OutputsValidator in the JSON RPC send_transaction is well_known_scripts_only now. See #2821 for details.

See nervosnetwork/rfcs#242 for an overview of all the hard fork features.

OS Arch Runtime Dependencies Package Sign
macOS x64 macOS 10.12 or above zip PGP
Linux x64 glibc, libstdc++ tarball PGP
CentOS x64 glibc, libstdc++, openssl tarball PGP
Windows* x64 VC++ Redistributable zip PGP
Docker dockerhub

* Windows support is experimental.

** The binaries require following CPU instructions: call (MODE64), cmovbe (CMOV), xorps (SSE1), movq (SSE2)

Changes since v0.43.0

Features

Bug Fixes

  • #2785: Put migration version (@zhangsoledad)

    A bug introduced by 220464f, cause the migration version do not put in the new created DB.

  • #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

Improvements

  • #2755: Avoid unnecessary db creation (@zhangsoledad)

  • #2685: Replace RwLock/Mutex<HashMap/HashSet> with DashMap (@quake)

  • #2736: Move state flag to HeadersSyncState 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 enum HeadersSyncState

  • #2707: Use KeyedPriorityQueue to replace BTreeMap/HashSet (@quake)

  • #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.

  • #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):

      • Not list in the default configuration files.
      • Be tagged as "Experimental".
    • The default configuration files will not include any deprecated configuration items.

    • The default configuration files will not enable any experimental configuration items.

  • #2770: Use community contributed site for script error codes (@doitian)

  • #2779: Give an unique id to each global runtime thread (@yangby-cryptape)

Don't miss a new ckb release

NewReleases is sending notifications on new releases.