cita v0.22.0 Release Notes

Release Date: 2019-03-29 // about 5 years ago
  • ⬆️ Upgrade Note

    🔧 The v0.22.0 version of the node configurations is compatible with the v0.21 version. 🔧 Means that you can run v0.22.0 directly using the v0.21 node configurations. 🔨 However, due to the refactoring of the network, the nodes executed with v0.22.0 are incompatible with the original nodes (they have different node discovery and transfer protocols), ⬆️ so all nodes need to be upgraded to v0.22.0 at the same time.

    ⬆️ Following [Upgrade Instructions] to upgrade the nodes.

    🆕 New Feature Description

    The new feature of integrating p2p to network service, we add discovery of the network node 🔧 when the original configuration is compatible. But we still need to make some changes to the 🔧 network configuration file definition:

    The old version network.toml looks like:

    port = 4000
    enable_tls = true
    id_card = 9
    [[peers]]
        ip = "127.0.0.1"
        port = 4001
        common_name = "test1.cita"
    [[peers]]
        ip = "127.0.0.1"
        port = 4002
    

    In the version of v0.22.0, we will discard the item id_card and common_name.

    In the old version, when a new node is added to the network, we need to change the item [[peers]] in all nodes' network.toml to reconstruct the network. It is a very complicated operation. But in v0.22.0, the item [[peers]] means known nodes in the network, you can set only one [[peers]], then it can discovery all the network nodes through a discovery protocol.

    Framework

    • [Optimization] Replace std channel with crossbeam channel. [@kaikai1024] [@leeyr338]
    • [Optimization] Reconfigure the parameters of rocksdb, and this can greatly reduce the .sst files in the database. [@jerry-yu]

    Executor

    • [Fix] Executor crashes when receives staled BlockWithProof. [@ouwenkg] [@keroro520]

    Auth

    • [Fix] Auth crashes when it is not ready. [@leeyr338]

    Network

    • 🔨 [Feature] The network service is refactored by using the p2p protocol. [@leeyr338]

    Consensus

    • [Fix] Consensus goes into panic when timer min peek is extremely close to Instant::now(). [@KaoImin]

    RPC

    • ⚡️ [Optimization] Update test token info. [@kaikai1024]
    • [Feature] Add from to body of getBlockByNumber and getBlockByHash. [@classicalliu]
    • [Fix] Fix the missing CORS header. [@yangby-cryptape]

    Scripts

    • [Optimization] Format Python codes. [@ouwenkg]

    Doc

    • ⚡️ [Doc] Update Rust SDK info in readme. [@u2]
    • [Doc] More info about automatic execution. [@wangfh666]
    • 🌲 [Doc] Fix start cita command in log management. [@77liyan]