All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Nothing.
- Nothing.
- Nothing.
- light-node
--ffi-calls-gc-treshold
flag.
- Nothing.
- Nothing.
1.0.0 - 2021-02-10
- Rpc for protocol runner memory stats
- Tokio update to 1.2.x version.
- Shell and bootstrap refactored to use kind of bootstrap pipeline to prevent stucking
- Error handling - changed expect/unwrap to errors
- Encodings - replaced recursive linked list with vector
- Encodings - introduced limits for p2p messages encoding
- Properly handle connection pool timeout
- Github Actions CI runs
cargo audit
(required)
0.9.2 - 2021-02-03
- Support for 008 protocol Edo + network support - p2p, rpc, fii
- Migrated Tokio dependency from 0.2.x to 1.1.x
- RocksDB kv store splitted to three instances (db, context, context_actions)
- Reworked websocket implementation, now uses warp::ws instead of default ws
- Various changes around p2p layer and bootstrapping
- Nothing.
- Nothing.
- Nothing.
- Nothing.
0.9.1 - 2021-01-13
- Giganode1/2 to default mainnet bootstrap peers
- Protocol runner restarting and IPC accept handling
0.9.0 - 2021-01-05
- Modification of node to be able to launch Tezos python tests in Drone CI
- Benchmarks for message encoding, ffi conversion, storage predecessor search to Drone CI
- Block applied approx. stats to log for chain_manager
- Extended statistics in merkle storage
- Refactor shell/network channels and event/commands for actors
- Refactored chain_manager/chain_feeder + optimization to speedup bootstrap
- Optimizations of merkle storage by modifying trees in place
- Graceful shutdown of node and runners
- Generate invalid peer_id for identity
0.8.0 - 2020-11-30
- Multipass validation support for CurrentHead processing + blacklisting peers
- Support for connection to Delphinet.
- Dynamic RPC router can call Tezos's RPCs inside all protocol versions.
- Added rustfmt and clippy pipelines
- Build is now tested on GitHub Actions instead of Travis-CI.
0.7.2 - 2020-11-26
- Identity path in config for distroless docker image
0.7.1 - 2020-11-04
- Logging cleanup
0.7.0 - 2020-10-28
- Added support for reorg + CI Drone test
- Validation for new current head after apply
- Validation for accept branch only if fitness increases
- Operation pre-validation before added to mempool
- Skip_list was changed to merkle implementation for context
0.6.0 - 2020-10-20
- Added distroless docker builds
- Drone pipeline for releasing docker images (develop, master/tag)
- Cleanup unnecessary clones + some small optimization
- Sandbox improved error handling + cleanup
0.5.0 - 2020-09-30
- New OCaml FFI
ocaml-interop
integration - Integration test for chain_manager through p2p layer
- New library
tezos/identity
for generate/validate identity/pow in rust - Several structs/algorithms unnecessary
clone
optimization - Refactoring and cleanup
- Generate identity through OCaml FFI (reimplemented in
tezos/identity
)
- Added
#![forbid(unsafe_code)]
to (almost every) modules
0.4.0 - 2020-09-16
- More verbose error handling in the sandbox launcher.
- New rpc
forge/operations
. - New docker-compose file to start a setup with the sandbox launcher, tezedge-explorer front-end and tezedge-debugger.
- Various bugs in the sandbox launcher.
0.3.0 - 2020-08-31
- New configuration parameter
--disable-bootstrap-lookup
to turn off DNS lookup for peers (e.g. used for tests or sandbox). - New configuration parameter
--db-cfg-max-threads
to better control system resources. - New RPCs to make baking in sandbox mode possible with tezos-client.
- Support for MacOS (10.13 and newer).
- Enabling core dumps in debug mode (if not set), set max open files for process
- New sandbox module to launch the light-node via RPCs.
- Resolved various clippy warnings/errors.
- Drone test runs offline with carthagenet-snapshoted nodes.
- New OCaml FFI -
ocaml-rs
was replaced with a new custom library based oncaml-oxide
to get GC under control and improve performance. - P2P bootstrap process - NACK version control after metadata exchange.
0.2.0 - 2020-07-29
- RPCs for every protocol now support the Tezos indexer 'blockwatch/tzindex'.
- Support for connecting to Mainnet.
- Support for sandboxing, which means an empty TezEdge can be initialized with
tezos-client
for "activate protocol" and do "transfer" operation.
- FFI upgrade based on Tezos gitlab latest-release (v7.2), now supports OCaml 4.09.1
- Support for parallel access (readonly context) to Tezos FFI OCaml runtime through r2d2 connection pooling.
0.1.0 - 2020-06-25
- Mempool P2P support + FFI prevalidator protocol validation.
- Support for sandboxing (used in drone tests).
- RPC for /inject/operation (draft).
- RPCs for developers for blocks and contracts.
- Possibility to run mulitple sub-process with FFI integration to OCaml.
- Upgraded version of riker, RocksDB.
- Improved DRONE integration tests.
0.0.2 - 2020-06-01
- Support for connection to Carthagenet/Mainnet.
- Support for Ubuntu 20 and OpenSUSE Tumbleweed.
- RPCs for indexer blockwatch/tzindex (with drone integration test, which compares indexed data with Ocaml node against TezEdge node).
- Flags
--store-context-actions=BOOL.
If this flag is set to false, the node will persist less data to disk, which increases runtime speed.
- P2P speed-up bootstrap - support for p2p_version 1 feature Nack_with_list, extended Nack - with potential peers to connect.
- Storing all P2P messages (moved to tezedge-debugger), the node will persist less data to disk.
- Remove bitvec dependency.
- Refactored FFI to Ocaml not using BigArray1's for better GC processing.
0.0.1 - 2020-03-31
- P2P Explorer support with dedicated RPC exposed.
- Exposed RPC for Tezos indexers.
- Ability to connect and bootstrap data from Tezos Babylonnet.
- Protocol FFI integration.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.