Skip to content

Releases: sigp/discv5

v0.1.0-beta.4

28 May 03:53
82c11b2
Compare
Choose a tag to compare

This release provides a number of upgrades/improvements. The key updates are:

  • Adds an abstract filter to the local routing table, allowing easier ways to filter entries from being added to the table. This is currently used for creating limits on IP ranges and incoming/vs outgoing nodes.
  • Introduces the concept of connection direction. Sessions that get established are now tagged with either being ingoing or outgoing. This can be used to limit the number of incoming connections allowed per bucket.
  • Improves and adds some extra filtering logic to harden the security and limit the allowed actions of malicious actors.
  • Keeps track of peers to ping individually. Only send pings on an interval on a per-peer basis.
  • Prevent counting IP votes from all peers, rather just those in the routing table.
  • Dependency updates
  • Strict IPv4 conversion for vote counting.

v0.1.0-beta.3

03 Feb 03:23
f47dac2
Compare
Choose a tag to compare
v0.1.0-beta.3 Pre-release
Pre-release

This release provides a number of dependency updates.

The most important updates are:

  • Update to tokio 0.1
  • Update RLP to 0.5
  • Update ENR to 0.5 (and therefore the underlying cyptographic libraries)

v0.1.0-beta.2

23 Nov 23:19
28ff599
Compare
Choose a tag to compare
v0.1.0-beta.2 Pre-release
Pre-release

This release provides a number of security and dependency updates.

Primarily:

  • Tokio update to 0.3
  • Extended packet verification
  • Maintaining session challenges on failed responses
  • Documentation fixes.

v0.1.0-beta.1

19 Oct 05:25
275c78e
Compare
Choose a tag to compare
v0.1.0-beta.1 Pre-release
Pre-release

This release signifies the update to v5.1 of the specification. Please see the v5.1 specification for the protocol level feature updates.

This release is the first of the beta channel. The 5.1 specification of discovery v5 is not compatible with v5.0. Therefore this version is not-compatible with any prior version.

Moving forward, only v5.1 and future versions will be supported with 5.0 being deprecated.

Major changes (excluding modification to the underlying wire protocol and specification update):

  • New API function: talk_req() allows users to submit a TALK request (a new RPC introduced in 5.1).
  • Crypto library has shifted from libsecp256k1 to k256
  • log dependency updated to tracing
  • New configuration parameter max_nodes_response - v5.1 allows collapsing multiple FINDNODES requests into a single call. We can now request many buckets in a single request. This configuration parameter limits the number of nodes in response we will accept. Default is 16.
  • New configuration parameter talkreq_callback - v5.1 adds a new RPC call called TALK. Nodes are able to request arbitrary data based on a protocol. A user may set a function that takes the received bytes and forms a response to interact with this new RPC method. Note: This API is limited in its structure and may be updated in the future.

v0.1.0-alpha.13

30 Sep 05:50
fdace56
Compare
Choose a tag to compare
v0.1.0-alpha.13 Pre-release
Pre-release

This release provides dependency updates and minor API changes.

Key Changes

  • Prevent non-contactable ENR's from entering the DHT (#40)
  • Include Cargo.locck (#41)
  • Update dependencies including the ENR crate which adds corrections to signature verification and RLP decoding (#41)

v0.1.0-alpha.11

22 Sep 07:56
40ea9e1
Compare
Choose a tag to compare
v0.1.0-alpha.11 Pre-release
Pre-release

Description

This release brings a number of minor improvements and marks the last major update before the migration to the v5.1 spec.

Specifically

  • Shifts the underlying net2 crate to the maintained socket2 crate.
  • Adds a message counter to prevent the possibility of re-using a nonce for a message.
  • Removes unnecessary ID verification when checking challenge messages.

v0.1.0-alpha.10

07 Sep 00:58
a5bd6f4
Compare
Choose a tag to compare
v0.1.0-alpha.10 Pre-release
Pre-release

This release provides a number of small improvements to the protocol.

It updates the crypto library from ssl to rust-crypto's aes-gcm library. Removes unnecessary async functions and adds miscelanneous code improvements.

v0.1.0-alpha.7

21 Jul 02:43
66faed4
Compare
Choose a tag to compare
v0.1.0-alpha.7 Pre-release
Pre-release

Release Notes

This update contains a bug-fix which corrects a panic which can occur when a node responds with a WHOAREYOU request to a request it has already answered. Various dependency updates are also included.

In summary form:

  • A bug-fix (The Jonny Prevention Patch) which removes an active_request_auth mapping for requests that get responded to.
  • Updates to dependencies to accommodate the ed25519 update
  • Increase in the default size of the session cache, to prevent sessions expiring early and rapidly.

v0.1.0-alpha.5

18 Jun 06:14
4334940
Compare
Choose a tag to compare
v0.1.0-alpha.5 Pre-release
Pre-release

Discv5 Overhaul

This release brings major structural changes and API modifications.

Core changes:

  • Packet inbound/outbound, session management and query logic are split out into their own long-lived tasks
  • Support for multiaddr connections with the libp2p flag
  • User-level API involves asynchronous 'static queries

v0.1.0-alpha.2

13 May 12:23
f492c15
Compare
Choose a tag to compare
v0.1.0-alpha.2 Pre-release
Pre-release

Security and Bug Fixes

  • ENR has been updated which corrects a decoding panic with malformed strings
  • Fix for session timeouts which could error when creating multiple timeouts for a single sesison
  • QueryID's have been added to FindNodeResults and returned in query requests, allowing user's to track which result corresponds to which query.
  • The find_enr() function has been made public.
  • Misc documentation and code improvements.