Releases: ethereumjs/ethereumjs-devp2p
v3.0.3 - Bugfix Release
v3.0.2 - TypeScript Fixes
- Fixed
TypeScriptimport issue causing problems when integrating the library in aTypeScriptproject, PR #88 - Updated
k-bucketlibrary tov5, added types from new@types/k-bucketpackage from @tomonari-t, PR #88
v3.0.1 - Logging improvements / Peer Refactor
This release focuses on improving the debugging capabilities of the library. PR #72 reduces the verbosity of the log output to cut on noise on everyday debugging. There is a new verbose logger to retain the more verbose output (e.g. with full message bodies) which can be used like this:
DEBUG=devp2p:*,verbose node -r ts-node/register ./examples/peer-communication.tsOther Logging Improvements
- Added number of peers to
refillConnections()debug message - Replaced try/catch logic for EIP-8 auth check to avoid side-effects and get rid of misleading wrong-ecies-header debug output
- Moved debug output in
BanList.add()after the set operation to get the correct size output - Added debug message for
DISCONNECTreason from peer (this was always some constant re-debug reason, and at the end it's mostlyTOO_MANY_PEERS) - Internalize detached logger output from the
devp2p:utillogger
Other Changes
- Refactored
Peerclass for better code readability, PR #77
There has also been a new high-level diagram added to the README which can be used to get an overview on the structure, available loggers and the event flow of the library (PR #76).
v3.0.0 - TypeScript Release
First TypeScript release of the library, see PR #56 for all the changes and associated discussion.
All source parts of the library have been ported to TypeScript and working with the library should now therefore be much more reliable due to the additional type safety features provided by the TypeScript language. The API of the library remains unchanged in a JavaScript context.
Noteworthy Changes from PR #56:
- Type additions for all method signatures and class members of all protocol components (
dpt,eth,les,rlpx) - Addition of various structuring interfaces (like PeerInfo for
DPTmessage input) andenumconstructs (like MESSAGE_CODES from theETHprotocol) - Port of the examples to
TypeScript - Port of all the test cases to
TypeScript - Integration of the library into the common ethereumjs-config EthereumJS configuration setup (
standard->TSLintlinting, docs withTypeDoc,TypeScriptcompilation,Prettierformatting rules) - Lots of code cleanups and code part modernizations
Thanks @dryajov for all the great work on this! ❤
Other Updates:
- Added Node 12,13 support, upgrade from Travis to GitHub actions, PR #57
- Updated
ethereumjs-commondependency tov1.5.1for a bootnode update, PR #67 - Removed Node 6, 8 support, updated
secp256k1dependency to fromv3.1.0tov4.0.1, PR #68 - Updated
keccakdependency tov3.0.0, PR #64 - Some dependency cleanup, PRs #62, #65, #58
v2.5.1 - Bugfix Release
- Fix connection error by ignoring
RLPXpeers with missing tcp port, PR #45
v2.5.0 - Feature Release
v2.4.0 - Stability / Bug Fix Release
- First release providing a reliable
ETHconnection - Fix Parity
DPTping echo hash bug preventing the library to connect
to Parity clients, PR #32 - Fixed a bug not setting weHello in peer after sent
HELLOmsg
v2.3.0 - Major Bug Fix Release
- Fix critical
RLPXbug leading to not processing incomingEIP-8AuthorAckmessages, PR #26 - Fix bug not forwarding
k-bucketremove event throughDPT(sopeer:removedfrom
DPTwas not working), PR #27 - Fix updating
ingressMacwith wrongAuthmsg leading to divergingMachashes, PR #29 - Fix bug not let first
ETHstatusmessage emit amessageevent, PR #30 - Large rework of the test setup, additional
DPT,RLPXandETHsimulator tests,
improving test coverage from 48% to 84%, PR #25
v2.2.0 - Main Release
EIP-8compatibility- Improved debug messages
- Fixes a bug on DPT ping timeout being triggered even if pong message is received
- Only send connect event after both HELLO msgs are exchanged (fixes unreliable upper-protocol communication start)
- Connection reliability improvements for
peer-communicationexample - API documentation