v1.2.0
Nimble will not be able to resolve this version because libp2p.nimble has not been updated to 1.2.0 . You can still use this version with Nimble if you either use the commit hash instead of the version tag, or update libp2p.nimble . We suggest using the latest release version instead. |
What's Changed
highlights
- gossipsub IDontWant #934
- NAT hole-punching support https://docs.libp2p.io/concepts/nat/hole-punching/
- yamux fully supported
Features
- Allow to override TCP connection timeouts by @Menduist in #903
- basic metrics for rendezvous by @vpavlin in #905
- Add GossipSub ping by @Menduist in #912
- GossipSub: IDontWant by @Menduist in #934
- Bandwidth estimate as a parameter by @diegomrsantos in #941
- IDontWant metrics by @Menduist in #946
- GossipSub Rate Limit by @diegomrsantos in #920
- add hole-punching interop tests by @diegomrsantos in #998
- feat: Yamux timeout by @lchenut in #1029
Changes
-
Autonat and HP changes by @diegomrsantos in #899
-
Consider dns as public address by @diegomrsantos in #913
-
GossipSub: remove peer if we can't establish sendConn by @Menduist in #886
-
Transports: handle TransportAbortedError properly by @Menduist in #916
-
Bumper: fix case where target is up to date by @Menduist in #917
-
TCP transport: handle getObservedAddr errors by @Menduist in #918
-
Fix #916 regression causing accept loop lockup by @Menduist in #919
-
Remove all
Result.get()
s &Option
->Opt
by @Menduist in #902 -
Handling Opt[PeerId] in logging by @diegomrsantos in #923
-
standard nimble env vars by @arnetheduck in #921
-
avoid
ProveField
warning incrypto.init
by @etan-status in #915 -
Gossipsub scoring improvements by @diegomrsantos in #909
-
wstransport.nim: avoid re-raising 'TransportOsError' to avoid stopping
switch.accept
by @Ivansete-status in #929 -
avoid a few zeroMem by @arnetheduck in #932
-
Prevent concurrent IWANT of the same message by @diegomrsantos in #943
-
avoid importing
ecnist
when not needed by @arnetheduck in #942 -
Improve rendezvous advertise by @diegomrsantos in #951
-
Split msgs in iwant response if bigger than limit by @diegomrsantos in #944
-
Add a flag if a peer should be disconnected when above rate limit by @diegomrsantos in #954
-
Rate Limit tests by @diegomrsantos in #953
-
Fix WS transport when the connection aborts by @lchenut in #967
-
Revert "Prevent concurrent IWANT of the same message (#943)" by @diegomrsantos in #977
-
Rate limit fixes by @diegomrsantos in #965
-
fix: doc workflow by @diegomrsantos in #985
-
fix chronos v4 compat by @arnetheduck in #982
-
fix: remove unittest2 range by @diegomrsantos in #986
-
fix(dcutr): make the dcutr client inbound and the server outbound by @diegomrsantos in #983
-
Make ObservedAddrManager injectable by @diegomrsantos in #970
-
fix(multiaddress): add quic-v1 multiaddress support by @diegomrsantos in #988
-
fix(dcutr): handle tcp/p2p addresses by @diegomrsantos in #989
-
fix(yamux): doesn't work in a Relayv2 connection by @diegomrsantos in #979
-
fix(identify): do not add p2p and relayed addrs to observed addr manager by @diegomrsantos in #990
-
fix(dcutr): update the DCUtR initiator transport direction to Inbound by @diegomrsantos in #994
-
fix: move workflows for Nim Devel and legacy i386 from "Daily" by @romanzac in #968
-
fix: remove forgotten "matrix-prep" job by @romanzac in #997
-
remove redundant gcsafe annotations by @arnetheduck in #999
-
include connection info when logging identify message by @etan-status in #991
-
libp2p/multiaddress.nim: use of IpAddress instead of ValidIpAddress by @Ivansete-status in #1001
-
improvement(yamux): make the window size configurable by @lchenut in #987
-
improvement(ci): improve ci daily workflows by @diegomrsantos in #1002
-
fix: use a temp var in withValue by @diegomrsantos in #1010
-
fix(hole-punching-interop): update nim to 1.6.16 by @diegomrsantos in #1012
-
fix: compilation issue when
libp2p_expensive_metrics
is enabled. by @diegomrsantos in #1014 -
fix: more metrics issues when libp2p_expensive_metrics is enabled by @diegomrsantos in #1016
-
tests(flaky): Increase check timeouts by @AlejandroCabeza in #995
-
docs: add comments and improve yamux readability by @lchenut in #1006
-
test(flaky): Log checkExpiring failure by @AlejandroCabeza in #1018
-
improvement: enhanced checkExpiring macro with custom timeout by @diegomrsantos in #1023
-
docs(general): Improve docs by @AlejandroCabeza in #1021
-
feat: message prioritization with immediate peer-published dispatch and queuing for other msgs by @diegomrsantos in #1015
-
fix: allFuturesThrowing compilation issue on daily by @diegomrsantos in #1026
-
Fix empty path crash issue for MultiAddresses
unix
,ip6zone
,dns***
. by @cheatfate in #1025 -
fix: move transport interop tests to nim-libp2p repo by @diegomrsantos in #1031
-
use chronos 4.0.0 by @diegomrsantos in #1030
-
fix typo in
ProtoMessage.toString()
by @etan-status in #1033 -
increase tolerance of
simple heartbeat
test by @etan-status in #1034 -
remove unused
MultiBase.encode(..., Cid)
function by @etan-status in #1036 -
move
allFutureThrowing
helper to tests by @etan-status in #1037 -
use new Chronos
trackCounter
APIs for leaks checks in tests by @etan-status in #1038 -
remove unused
LPStreamError
types by @etan-status in #1048 -
change
SecioError
andNoiseError
to descendants ofLPStreamError
by @etan-status in #1047 -
do not log yamux buffers without sanitization (trace log level) by @etan-status in #1046
-
don't forget closing the stream when final
{Fin}
fails in yamux by @etan-status in #1043 -
use
race
instead ofor
to avoid lockup by @etan-status in #1042 -
in yamux, do not write
{Rst}
packet to stream that's in use by @etan-status in #1041 -
avoid
KeyError
in edge case of yamux handler by @etan-status in #1044 -
avoid triple lookup in
m.flushed
yamux table by @etan-status in #1045 -
catch
WebSocketError
inwstransport
by @etan-status in #1049 -
define proper parent error type for
YamuxError
by @etan-status in #1040 -
document known
--mm:orc
crash by @etan-status in #1039 -
add
{.async: (raises).}
tolibp2p/stream
modules by @etan-status in #1050 -
Send priority with queue fix by @arnetheduck in #1051
-
default
MultiAddress
param fornewStandardSwitch
does not raise by @etan-status in #1056 -
clean up triple lookup and avoid
KeyError
when adding muxer by @etan-status in #1057 -
{.async: (raises).}
forrelay/utils.nim
by @etan-status in #1058 -
{.async: (raises).}
annotations forprotocols/secure
by @etan-status in #1059 -
avoid pointless exception raising in
dcutr/server
by @etan-status in #1063 -
{.async: (raises).}
forMultistreamSelect
by @etan-status in #1066 -
libp2p/dialer.nim: tiny log change to make it clearer a connection upgrade by @Ivansete-status in #1071
-
avoid cancelling send future by @arnetheduck in #1075
-
move
header.length
check inyamux
to original location by @etan-status in #1069 -
Remove
secio
by @arnetheduck in #1072 -
annotate
upgrademngrs
with{.async: (raises).}
by @etan-status in #1068 -
Avoid unnecessary rate limit message copy by @arnetheduck in #1067
-
fix(issue-1052): Single topic for RPC Message by @AlejandroCabeza in #1061
-
feat: add max number of elements to non-prio queue by @diegomrsantos in #1077
-
improvement: create a new gossipsub constructor by @diegomrsantos in #1078
-
add support for setting protocol handlers with
{.raises.}
annotation by @etan-status in #1064 -
fix: remove explicit param from GossipSubParams constructor by @diegomrsantos in #1080
-
fix: reset accept fut in stop by @Ivansete-status in #1082
-
chore: empty commit to trigger new commit hooks after renaming branch by @kaiserd in #1089
New Contributors
- @vpavlin made their first contribution in #905
- @Ivansete-status made their first contribution in #929
- @romanzac made their first contribution in #968
- @AlejandroCabeza made their first contribution in #995
- @kaiserd made their first contribution in #1089
Full Changelog: v1.1.0...v1.2.0