0.2.45 (2021-11-01)
Changes:
- migration from
dependabot
torenovate
- huge code deduplication, now using more shared code from
hopr-utils
(#349,#338,#335) - reduce control-flow debug output and control-flow enhancements (#333)
0.2.43 (2021-10-08)
Changes:
- add more try / catch blocks to prevent from uncaught errors
- package upgrades
0.2.42 (2021-09-10)
Changes:
- remove type hacks (#308)
- handle stream pipeline errors (#300)
- fix infinite loop error (#295)
- package upgrades
0.2.41 (2021-08-13)
Changes:
- improved STUN logic, now filtering STUN responses containing local addresses (#283)
- package upgrade: `ts-node@10.2.0`
0.2.40 (2021-07-28)
Changes:
- deprecate Node 14, now exclusively using Node 16
- changed relay management API (#271)
0.2.35 (2021-07-23)
Changes:
- less strict node version (#258)
- use native yarn caching in GH actions (#257)
0.2.34 (2021-07-23)
Changes:
- dependency cleanup (#251)
0.2.33 (2021-07-22)
Changes:
- upgrade to `libp2p@0.32.1` (#249)
- fix automated relay CI test (#242)
- improved logging (#248)
0.2.32 (2021-07-21)
Changes:
- upgrade to `libp2p@0.32`
0.2.31 (2021-07-21)
Breaking changes:
- Changed configuration object:
new HoprConnect(upgrader, {
publicNodes, // EventEmitter
initialNodes // Multiaddr[], list of already known nodes
})
The property bootstrapNodes
is ignored.
New features:
- support for relay slots, actively limitting maximum number of simultaneous relayed connections (#237)
- relay management API: dynamically add and remove potential relays and use them to bypass NATs (#243, #231)
- improved CI testing (#222, #227, #230, #232, #233, #234, #235)
Fixes:
- fix
hangUp()
producing hanging promise (#240)
0.2.30 (2021-07-02)
Bugfix release
- see (#193) for improvements and bugfixes
- stricter testing
- improved socket tracking
- show meaningful message when connecting to wrong node
- show available addresses (#187)
- limit STUN request to reasonable amount (#185)
- package upgrades (#204)
0.2.29 (2021-06-15)
- fix STUN request failing on DNS failures
- minor bugfixes in STUN code
0.2.28 (2021-06-10)
- adds
node-pre-gyp
as dependency to make sure thathopr-connect
includes all necessary dependencies for a standalone install - fixes
wrtc
missing dependencynode-pre-gyp
0.2.27 (2021-06-10)
- control-flow fixes
- remove console.log and console.trace
0.2.26 (2021-06-09)
- package upgrades
- correctly distinguish private and link-locale addresses from public addresses
- minor refactoring
0.2.25 (2021-05-11)
Upgrades:
0.2.23 (2021-03-01)
Fixes
- close relayed connections if counterparty is not reachable
Breaking changes
- Subnet detection: Nodes are able to detect whether the dialed address is a private address which is not in their reachable subnets.
- Nodes do not consider link-locale IP addresses as dialable
Addressing
Before `hopr-connect@0.2.22` the follwoing addresses were valid
Multiaddr("/ip4/127.0.0.1/tcp/0/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Multiaddr("/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Since `hopr-connect@0.2.22`, nodes need to explicitly name the relay behind which they are accessible
Multiaddr("/ip4/127.0.0.1/tcp/0/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Multiaddr("/p2p/16Uiu2HAkyvdVZtG8btak5SLrxP31npfJo6maopj8xwx5XQhKfspb/p2p-circuit/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Nodes will automatically dial given bootstrap addresses and check whether they can reach them and announce them ordered by latency to other nodes.
Default export to named export
Before `hopr-connect@0.2.23, the main class HoprConnect was a default export, since
hopr-connect@0.2.23` it is a named export.
0.2.21 (2021-02-16)
Fixes
- Fix STUN issues that prevent bootstap node from publishing public IPv4 addresses (#86)
0.2.20 (2021-02-12)
Fixes
- don't detect STUN timeouts as bidirectional NAT
- package upgrades
0.2.12 (2021-02-03)
Fixes
- properly expose own TCP address as e.g.
/ip4/127.0.0.1/tcp/12345/p2p/<MyPeerId>
Changes
- Node.JS 12 -> Node.JS 14
- libp2p 0.29 -> Node.JS 0.30 (only for testing)
- libp2p-secio -> libp2p-noise (only for testing)
0.2.11 (2021-01-29)
Fixes
- refactored internal communication
- less verbose debug output
0.2.10 (2021-01-28)
Breaking changes
Addressing
Before `hopr-connect@0.2.10`, the following addresses were valid:
Multiaddr("/ip4/127.0.0.1/tcp/0")
Multiaddr("/ip4/127.0.0.1/tcp/0/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Multiaddr("/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Since `hopr-connect@0.2.10`, only addresses that include a PeerId are considered valid, namely:
Multiaddr("/ip4/127.0.0.1/tcp/0/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Multiaddr("/p2p/16Uiu2HAmCPgzWWQWNAn2E3UXx1G3CMzxbPfLr1SFzKqnFjDcbdwg")
Fixes
- Always detect self-dial attempts
0.2.8 (2021-01-27)
Fixes
- Various fixes
- Reduced console output
0.2.4 (2021-01-26)
Fixes
- Prefix WebRTC stream to make sure it gets closed
0.2.2 (2021-01-25)
Fixes
- Not removing WebRTC error listener to catch connection aborts
0.2.1 (2021-01-24)
Fixes
- Control flow bug that lead to unintended connection closes
0.2.0 (2020-01-22)
Enhancements
- Strong typing & less code
- Flexible upgrade handover sequence
- Priorisation of signalling messages over payload messages
- First integration of libp2p test suite
0.1.2 (2020-12-15)
Fixes
- improved addressing and effective countermeasures against self-dials
- stronger typing
- various control-flow fixes
0.1.1 (2020-12-04)
Fixes
- use
hopr-connect
in Debug strings
0.1 (2020-12-04)
Features
- implements PeerDiscovery
- type-checking for implemented interfaces, namely Connection, Transport, PeerDiscovery
minor improvements
Initial release
Features
- automatic usage of WebRTC
- integration of STUN & TURN
- automatic handover between WebRTC and relayed connection
- proper handling of reconnects