master
md 328 lines 21.1 KB
Rendered Raw
1 # Kubo changelog v0.14
2
3 ## v0.14.0
4
5 ### Overview
6
7 Below is an outline of all that is in this release, so you get a sense of all that's included.
8
9 - [🛠 BREAKING CHANGES](#-breaking-changes)
10 - [Removed `mdns_legacy` implementation](#removed-mdns_legacy-implementation)
11 - [🔦 Highlights](#-highlights)
12 - [🛣️ Delegated Routing](#-delegated-routing)
13 - [👥 Rename to Kubo](#-rename-to-kubo)
14 - [🎒 `ipfs repo migrate`](#-ipfs-repo-migrate)
15 - [🚀 Emoji support in Multibase](#-emoji-support-in-multibase)
16
17 ### 🛠 BREAKING CHANGES
18
19 #### Removed `mdns_legacy` implementation
20
21 The modern DNS-SD compatible [zeroconf implementation](https://github.com/libp2p/zeroconf#readme)
22 (based on [this specification](https://github.com/libp2p/specs/blob/master/discovery/mdns.md))
23 has been running next to the `mdns_legacy` for a while (since v0.11). During
24 this transitional period Kubo nodes were sending twice as many LAN packets,
25 which ends with this release: we've [removed](https://github.com/ipfs/kubo/pull/9048) the legacy implementation.
26
27 ### 🔦 Highlights
28
29 #### 🛣️ Delegated Routing
30
31 Content routing is the a term used to describe the problem of finding providers for a given piece of content.
32 If you have a hash, or CID of some data, how do you find who has it?
33 In IPFS, until now, only a DHT was used as a decentralized answer to content routing.
34 Now, content routing can be handled by clients implementing the [Reframe protocol](https://github.com/ipfs/specs/tree/main/reframe#readme).
35
36 Example configuration usage using the [Filecoin Network Indexer](https://docs.cid.contact/filecoin-network-indexer/overview):
37
38 ```
39 ipfs config Routing.Routers.CidContact --json '{
40 "Type": "reframe",
41 "Parameters": {
42 "Endpoint": "https://cid.contact/reframe"
43 }
44 }'
45
46 ```
47
48 #### 👥 Rename to Kubo
49
50 We've renamed Go-IPFS to Kubo ([details](https://github.com/ipfs/go-ipfs/issues/8959)).
51
52 Published artifacts use `kubo` now, and are available at:
53
54 - https://dist.ipfs.tech/kubo/
55 - https://hub.docker.com/r/ipfs/kubo/
56
57 To minimize the impact on infrastructure that autoupdates on a new release,
58 the same binaries are still published under the old name at:
59
60 - https://dist.ipfs.tech/go-ipfs/
61 - https://hub.docker.com/r/ipfs/go-ipfs/
62
63 The libp2p identify useragent of Kubo has also been changed from `go-ipfs` to `kubo`.
64
65 #### 🎒 `ipfs repo migrate`
66
67 This new command allows the you to run the repo migration without starting the daemon.
68
69 See `ipfs repo migrate --help` for more info.
70
71 #### 🚀 Emoji support in Multibase
72
73 Kubo now supports [`base256emoji`](https://github.com/multiformats/multibase/blob/master/rfcs/Base256Emoji.md) encoding in all [Multibase](https://docs.ipfs.tech/concepts/glossary/#multibase) contexts. Use it for testing Unicode support, as visual aid while explaining Multiformats, or just for fun:
74
75 ```console
76 $ echo -n "test" | ipfs multibase encode -b base256emoji -
77 🚀😈✋🌈😈
78
79 $ echo -n "🚀😈✋🌈😈" | ipfs multibase decode -
80 test
81
82 $ ipfs cid format -v 1 -b base256emoji bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
83 🚀🪐⭐💻😅❓💎🌈🌸🌚💰💍🌒😵🐶💁🤐🌎👼🙃🙅☺🌚😞🤤⭐🚀😃✈🌕😚🍻💜🐷⚽✌😊
84 ```
85
86 [`/ipfs/🚀🪐⭐💻😅❓💎🌈🌸🌚💰💍🌒😵🐶💁🤐🌎👼🙃🙅☺🌚😞🤤⭐🚀😃✈🌕😚🍻💜🐷⚽✌😊`](https://ipfs.io/ipfs/🚀🪐⭐💻😅❓💎🌈🌸🌚💰💍🌒😵🐶💁🤐🌎👼🙃🙅☺🌚😞🤤⭐🚀😃✈🌕😚🍻💜🐷⚽✌😊)
87
88 ### Changelog
89
90 <details>
91 <summary>Full Changelog</summary>
92
93 - github.com/ipfs/kubo:
94 - chore: bump to v0.14.0
95 - docs(changelog): finish v0.14.0 changelog
96 - fix(gw): cache-control of index.html websites
97 - chore(license): fix broken link to apache-2.0
98 - fix: kubo in daemon and cli stdout
99 - backport: merge commit '839b0848a' into release-v0.14.0
100 - chore: Release v0.14-rc1
101 - docs: fix v0.14's changelog format
102 - chore: update go-multibase 🚀
103 - feat(routing): Delegated Routing (#8997) ([ipfs/kubo#8997](https://github.com/ipfs/kubo/pull/8997))
104 - chore: changelogs split
105 - feat(gw): Cache-Control: only-if-cached
106 - chore(deps): webui v2.15.1
107 - Follow-ups after repository rename
108 ([ipfs/kubo#9098](https://github.com/ipfs/kubo/pull/9098))
109 - docs: refine wording
110 - docs: refine the wording of provider strategies
111 - refactor: rename to kubo
112 ([ipfs/kubo#8958](https://github.com/ipfs/kubo/pull/8958))
113 - fix: correct cache-control in car responses
114 - docs: v0.13.1 (#9093) ([ipfs/kubo#9093](https://github.com/ipfs/kubo/pull/9093))
115 - chore: update go-car ([ipfs/kubo#9089](https://github.com/ipfs/kubo/pull/9089))
116 - update go-libp2p to v0.20.3 ([ipfs/kubo#9038](https://github.com/ipfs/kubo/pull/9038))
117 - docs: add SECURITY.md (#9062) ([ipfs/kubo#9062](https://github.com/ipfs/kubo/pull/9062))
118 - fix: remove mdns_legacy & Discovery.MDNS.Interval
119 - refactor: prealloc slices with known sizes (#8892) ([ipfs/kubo#8892](https://github.com/ipfs/kubo/pull/8892))
120 - docs: fix typo in `cid/base32`
121 - docs: mark Swarm.ResourceMgr as experimental
122 - chore: replace ioutil with io and os (#8969) ([ipfs/kubo#8969](https://github.com/ipfs/kubo/pull/8969))
123 - feat: add a public function on peering to get the state
124 - fix: honor url filename when downloading as CAR/BLOCK
125 - Merge branch 'release'
126 - chore: GitHub format
127 - fix(cmd/config): make config edit subcommand work on windows
128 - chore: bump Go to 1.18.3 (#9021) ([ipfs/kubo#9021](https://github.com/ipfs/kubo/pull/9021))
129 - feat: upgrade to go-libp2p-kad-dht@v0.16.0 (#9005) ([ipfs/kubo#9005](https://github.com/ipfs/kubo/pull/9005))
130 - docs: fix typo in the `swarm/peering` help text
131 - feat: disable resource manager by default (#9003) ([ipfs/kubo#9003](https://github.com/ipfs/kubo/pull/9003))
132 - fix: adjust rcmgr limits for accelerated DHT client rt refresh (#8982) ([ipfs/kubo#8982](https://github.com/ipfs/kubo/pull/8982))
133 - fix(ci): make go-ipfs-as-a-library work without external peers (#8978) ([ipfs/kubo#8978](https://github.com/ipfs/kubo/pull/8978))
134 - feat: log when resource manager limits are exceeded (#8980) ([ipfs/kubo#8980](https://github.com/ipfs/kubo/pull/8980))
135 - fix: JS caching via Access-Control-Expose-Headers (#8984) ([ipfs/kubo#8984](https://github.com/ipfs/kubo/pull/8984))
136 - docs: fix abstractions typo
137 - fix: hanging goroutine in get fileArchive handler
138 - chore: mark fuse experimental (#8962) ([ipfs/kubo#8962](https://github.com/ipfs/kubo/pull/8962))
139 - fix(node/libp2p): disable rcmgr checkImplicitDefaults ([ipfs/kubo#8965](https://github.com/ipfs/kubo/pull/8965))
140 - Add 'ipfs repo migrate' command (#8428) ([ipfs/kubo#8428](https://github.com/ipfs/kubo/pull/8428))
141 - pubsub multibase encoding (#8933) ([ipfs/kubo#8933](https://github.com/ipfs/kubo/pull/8933))
142 - 'pin rm' helptext: rewrite description as object is not removed from local storage (immediately) ([ipfs/kubo#8947](https://github.com/ipfs/kubo/pull/8947))
143 - ([ipfs/kubo#8934](https://github.com/ipfs/kubo/pull/8934))
144 - Add instructions to resolve repo migration error (#8946) ([ipfs/kubo#8946](https://github.com/ipfs/kubo/pull/8946))
145 - fix: use path instead of filepath for asset embeds to support Windows
146 - chore: update version to v0.14.0-dev
147 - github.com/ipfs/go-bitswap (v0.6.0 -> v0.7.0):
148 - chore: release v0.7.0 (#566) ([ipfs/go-bitswap#566](https://github.com/ipfs/go-bitswap/pull/566))
149 - feat: coalesce and queue connection event handling (#565) ([ipfs/go-bitswap#565](https://github.com/ipfs/go-bitswap/pull/565))
150 - fix initialisation example in README (#552) ([ipfs/go-bitswap#552](https://github.com/ipfs/go-bitswap/pull/552))
151 - github.com/ipfs/go-unixfs (v0.3.1 -> v0.4.0):
152 - Set version to v0.3.2 ([ipfs/go-unixfs#122](https://github.com/ipfs/go-unixfs/pull/122))
153 - Make switchToSharding more efficient
154 - github.com/ipld/go-ipld-prime (v0.16.0 -> v0.17.0):
155 failed to fetch repo
156 - github.com/libp2p/go-libp2p (v0.19.4 -> v0.20.3):
157 - Release 0.20.3 (#1623) ([libp2p/go-libp2p#1623](https://github.com/libp2p/go-libp2p/pull/1623))
158 - release v0.20.2
159 - feat: allow dialing wss peers using DNS multiaddrs
160 - update go-yamux to v3.1.2, release v0.20.1 (#1591) ([libp2p/go-libp2p#1591](https://github.com/libp2p/go-libp2p/pull/1591))
161 - release v0.20.0 (#1530) ([libp2p/go-libp2p#1530](https://github.com/libp2p/go-libp2p/pull/1530))
162 - update go-libp2p-core, remove stream methods from network.Notifiee (#1521) ([libp2p/go-libp2p#1521](https://github.com/libp2p/go-libp2p/pull/1521))
163 - autonat: return E_DIAL_REFUSED when skipping dial (#1527) ([libp2p/go-libp2p#1527](https://github.com/libp2p/go-libp2p/pull/1527))
164 - move go-stream-muxer-multistream here ([libp2p/go-libp2p#1511](https://github.com/libp2p/go-libp2p/pull/1511))
165 - remove dependency on go-libp2p-testing/suites/sec (#1510) ([libp2p/go-libp2p#1510](https://github.com/libp2p/go-libp2p/pull/1510))
166 - backoff: fix flaky tests in backoff cache (#1516) ([libp2p/go-libp2p#1516](https://github.com/libp2p/go-libp2p/pull/1516))
167 - identify: fix flaky tests (#1515) ([libp2p/go-libp2p#1515](https://github.com/libp2p/go-libp2p/pull/1515))
168 - quic: increase timeout in hole punching test (#1495) ([libp2p/go-libp2p#1495](https://github.com/libp2p/go-libp2p/pull/1495))
169 - Fix badge image in README (#1517) ([libp2p/go-libp2p#1517](https://github.com/libp2p/go-libp2p/pull/1517))
170 - move go-libp2p-nat here ([libp2p/go-libp2p#1513](https://github.com/libp2p/go-libp2p/pull/1513))
171 - move go-reuseport-transport here ([libp2p/go-libp2p#1459](https://github.com/libp2p/go-libp2p/pull/1459))
172 - holepunch: fix flaky TestEndToEndSimConnect test (#1508) ([libp2p/go-libp2p#1508](https://github.com/libp2p/go-libp2p/pull/1508))
173 - swarm: fix flaky TestDialExistingConnection test (#1509) ([libp2p/go-libp2p#1509](https://github.com/libp2p/go-libp2p/pull/1509))
174 - tcp: limit the number of connections in tcp suite test on non-linux hosts (#1507) ([libp2p/go-libp2p#1507](https://github.com/libp2p/go-libp2p/pull/1507))
175 - increase overly short require.Eventually intervals (#1501) ([libp2p/go-libp2p#1501](https://github.com/libp2p/go-libp2p/pull/1501))
176 - tls: fix flaky handshake cancellation test (#1503) ([libp2p/go-libp2p#1503](https://github.com/libp2p/go-libp2p/pull/1503))
177 - merge the transport test suite from go-libp2p-testing here ([libp2p/go-libp2p#1496](https://github.com/libp2p/go-libp2p/pull/1496))
178 - fix racy connection comparison in TestDialWorkerLoopBasic (#1499) ([libp2p/go-libp2p#1499](https://github.com/libp2p/go-libp2p/pull/1499))
179 - swarm: fix race condition in TestFailFirst (#1490) ([libp2p/go-libp2p#1490](https://github.com/libp2p/go-libp2p/pull/1490))
180 - basichost: fix flaky TestSignedPeerRecordWithNoListenAddrs (#1488) ([libp2p/go-libp2p#1488](https://github.com/libp2p/go-libp2p/pull/1488))
181 - swarm: fix flaky and racy TestDialExistingConnection (#1491) ([libp2p/go-libp2p#1491](https://github.com/libp2p/go-libp2p/pull/1491))
182 - quic: adjust timeout for reuse garbage collector detection in tests (#1487) ([libp2p/go-libp2p#1487](https://github.com/libp2p/go-libp2p/pull/1487))
183 - quic: fix flaky TestResourceManagerAcceptDenied (#1485) ([libp2p/go-libp2p#1485](https://github.com/libp2p/go-libp2p/pull/1485))
184 - quic: deflake the holepunching test (#1484) ([libp2p/go-libp2p#1484](https://github.com/libp2p/go-libp2p/pull/1484))
185 - holepunch: fix incorrect message type for the SYNC message (#1478) ([libp2p/go-libp2p#1478](https://github.com/libp2p/go-libp2p/pull/1478))
186 - use real keys in tests instead of go-libp2p-testing/netutil fake keys (#1475) ([libp2p/go-libp2p#1475](https://github.com/libp2p/go-libp2p/pull/1475))
187 - quic: fix flaky TestResourceManagerAcceptDenied ([libp2p/go-libp2p#1461](https://github.com/libp2p/go-libp2p/pull/1461))
188 - move go-libp2p-pnet here ([libp2p/go-libp2p#1465](https://github.com/libp2p/go-libp2p/pull/1465))
189 - move go-libp2p-tls here ([libp2p/go-libp2p#1466](https://github.com/libp2p/go-libp2p/pull/1466))
190 - fix race condition in relayFinder ([libp2p/go-libp2p#1469](https://github.com/libp2p/go-libp2p/pull/1469))
191 - fix race condition in holepunch service (#1473) ([libp2p/go-libp2p#1473](https://github.com/libp2p/go-libp2p/pull/1473))
192 - Update README to include supported Go Versions (#1470) ([libp2p/go-libp2p#1470](https://github.com/libp2p/go-libp2p/pull/1470))
193 - move go-libp2p-noise here ([libp2p/go-libp2p#1462](https://github.com/libp2p/go-libp2p/pull/1462))
194 - move go-libp2p-transport-upgrader here ([libp2p/go-libp2p#1463](https://github.com/libp2p/go-libp2p/pull/1463))
195 - move go-conn-security-multistream here ([libp2p/go-libp2p#1460](https://github.com/libp2p/go-libp2p/pull/1460))
196 - move go-libp2p-mplex here ([libp2p/go-libp2p#1450](https://github.com/libp2p/go-libp2p/pull/1450))
197 - use yamux instead of mplex in tests (#1456) ([libp2p/go-libp2p#1456](https://github.com/libp2p/go-libp2p/pull/1456))
198 - rename the yamux package (#1452) ([libp2p/go-libp2p#1452](https://github.com/libp2p/go-libp2p/pull/1452))
199 - swarm: don't check return value of str.Close in TestResourceManager (#1453) ([libp2p/go-libp2p#1453](https://github.com/libp2p/go-libp2p/pull/1453))
200 - move go-libp2p-yamux here ([libp2p/go-libp2p#1439](https://github.com/libp2p/go-libp2p/pull/1439))
201 - quic: fix flaky TestConnectionGating test (#1442) ([libp2p/go-libp2p#1442](https://github.com/libp2p/go-libp2p/pull/1442))
202 - quic: fix flaky TestReuseGarbageCollect test (#1446) ([libp2p/go-libp2p#1446](https://github.com/libp2p/go-libp2p/pull/1446))
203 - quic: fix flaky holepunching test (#1443) ([libp2p/go-libp2p#1443](https://github.com/libp2p/go-libp2p/pull/1443))
204 - move go-libp2p-quic-transport here ([libp2p/go-libp2p#1424](https://github.com/libp2p/go-libp2p/pull/1424))
205 - remove flaky TestTcpSimultaneousConnect (#1425) ([libp2p/go-libp2p#1425](https://github.com/libp2p/go-libp2p/pull/1425))
206 - move go-ws-transport here ([libp2p/go-libp2p#1422](https://github.com/libp2p/go-libp2p/pull/1422))
207 - update go-multistream, stop using deprecated NegotiateLazy (#1417) ([libp2p/go-libp2p#1417](https://github.com/libp2p/go-libp2p/pull/1417))
208 - fix flaky TestResourceManagerAcceptStream test (#1420) ([libp2p/go-libp2p#1420](https://github.com/libp2p/go-libp2p/pull/1420))
209 - move go-tcp-transport here ([libp2p/go-libp2p#1418](https://github.com/libp2p/go-libp2p/pull/1418))
210 - move the go-libp2p-swarm here ([libp2p/go-libp2p#1414](https://github.com/libp2p/go-libp2p/pull/1414))
211 - reduce flakiness of backoff cache tests (#1415) ([libp2p/go-libp2p#1415](https://github.com/libp2p/go-libp2p/pull/1415))
212 - move the go-libp2p-blankhost here ([libp2p/go-libp2p#1411](https://github.com/libp2p/go-libp2p/pull/1411))
213 - github.com/libp2p/go-libp2p-core (v0.15.1 -> v0.16.1):
214 - release v0.16.1 (#255) ([libp2p/go-libp2p-core#255](https://github.com/libp2p/go-libp2p-core/pull/255))
215 - force usage of github.com/btcsuite/btcd v0.22.1 or newer (#254) ([libp2p/go-libp2p-core#254](https://github.com/libp2p/go-libp2p-core/pull/254))
216 - release v0.16.0 (#251) ([libp2p/go-libp2p-core#251](https://github.com/libp2p/go-libp2p-core/pull/251))
217 - remove OpenedStream and ClosedStream from Notifiee interface (#250) ([libp2p/go-libp2p-core#250](https://github.com/libp2p/go-libp2p-core/pull/250))
218 - deprecate Negotiator.NegotiateLazy (#249) ([libp2p/go-libp2p-core#249](https://github.com/libp2p/go-libp2p-core/pull/249))
219 - update btcec dependency (#247) ([libp2p/go-libp2p-core#247](https://github.com/libp2p/go-libp2p-core/pull/247))
220 - github.com/libp2p/go-libp2p-discovery (v0.6.0 -> v0.7.0):
221 - deprecate this repo (#84) ([libp2p/go-libp2p-discovery#84](https://github.com/libp2p/go-libp2p-discovery/pull/84))
222 - remove dependency on the go-libp2p-peerstore/addr package (#82) ([libp2p/go-libp2p-discovery#82](https://github.com/libp2p/go-libp2p-discovery/pull/82))
223 - fix flaky TestBackoffDiscoveryMultipleBackoff test on CI (#80) ([libp2p/go-libp2p-discovery#80](https://github.com/libp2p/go-libp2p-discovery/pull/80))
224 - chore: update go-log to v2 ([libp2p/go-libp2p-discovery#76](https://github.com/libp2p/go-libp2p-discovery/pull/76))
225 - sync: update CI config files (#74) ([libp2p/go-libp2p-discovery#74](https://github.com/libp2p/go-libp2p-discovery/pull/74))
226 - github.com/libp2p/go-libp2p-swarm (v0.10.2 -> v0.11.0):
227 - deprecate this repo (#320) ([libp2p/go-libp2p-swarm#320](https://github.com/libp2p/go-libp2p-swarm/pull/320))
228 - sync: update CI config files ([libp2p/go-libp2p-swarm#317](https://github.com/libp2p/go-libp2p-swarm/pull/317))
229 - github.com/libp2p/go-reuseport (v0.1.0 -> v0.2.0):
230 - release v0.2.0 (#90) ([libp2p/go-reuseport#90](https://github.com/libp2p/go-reuseport/pull/90))
231 - sync: update CI config files (#86) ([libp2p/go-reuseport#86](https://github.com/libp2p/go-reuseport/pull/86))
232 - github.com/multiformats/go-multibase (v0.0.3 -> v0.1.0):
233 - chore: release v0.1.0
234 - feat: add UTF-8 support and base256emoji
235 - submodule: spec/
236 - sync: update CI config files (#48) ([multiformats/go-multibase#48](https://github.com/multiformats/go-multibase/pull/48))
237 - fix staticcheck ([multiformats/go-multibase#41](https://github.com/multiformats/go-multibase/pull/41))
238 - Fix vet warnings about conversion of int to string ([multiformats/go-multibase#39](https://github.com/multiformats/go-multibase/pull/39))
239 - github.com/multiformats/go-multihash (v0.1.0 -> v0.2.0):
240 - chore: replace blake2b implementation by golang.org/x/crypto ([multiformats/go-multihash#157](https://github.com/multiformats/go-multihash/pull/157))
241 - sync: update CI config files ([multiformats/go-multihash#156](https://github.com/multiformats/go-multihash/pull/156))
242 - github.com/multiformats/go-multistream (v0.3.0 -> v0.3.3):
243 - Release v0.3.3 ([multiformats/go-multistream#90](https://github.com/multiformats/go-multistream/pull/90))
244 - Ignore error if can't write back multistream protocol id ([multiformats/go-multistream#89](https://github.com/multiformats/go-multistream/pull/89))
245 - release v0.3.2 (#88) ([multiformats/go-multistream#88](https://github.com/multiformats/go-multistream/pull/88))
246 - Ignore error if can't write back echoed protocol in negotiate (#87) ([multiformats/go-multistream#87](https://github.com/multiformats/go-multistream/pull/87))
247 - release v0.3.1 (#86) ([multiformats/go-multistream#86](https://github.com/multiformats/go-multistream/pull/86))
248 - deprecate NegotiateLazy (#85) ([multiformats/go-multistream#85](https://github.com/multiformats/go-multistream/pull/85))
249 - return an ErrNotSupported when lazy negotiation fails (#84) ([multiformats/go-multistream#84](https://github.com/multiformats/go-multistream/pull/84))
250 - github.com/warpfork/go-testmark (v0.9.0 -> v0.10.0):
251 - testexec: support a hunk named 'input' for stdin.
252 - readme: link to other implementations!
253 - readme: discuss autopatching and fixture regeneration
254 - readme: discuss extensions, and introduce testexec as an example.
255
256 </details>
257
258 ### Contributors
259
260 | Contributor | Commits | Lines ± | Files Changed |
261 |-------------|---------|---------|---------------|
262 | Marten Seemann | 376 | +11584/-15055 | 894 |
263 | Jorropo | 18 | +11649/-11249 | 81 |
264 | noot | 43 | +5974/-3332 | 170 |
265 | Steven Allen | 173 | +5206/-3124 | 282 |
266 | Yusef Napora | 49 | +1911/-3606 | 124 |
267 | Juan Batiz-Benet | 14 | +3933/-53 | 48 |
268 | Jeromy | 84 | +2140/-1328 | 240 |
269 | vyzo | 51 | +2057/-1126 | 79 |
270 | Raúl Kripalani | 39 | +1993/-867 | 103 |
271 | Jeromy Johnson | 52 | +1700/-1081 | 233 |
272 | Antonio Navarro Perez | 4 | +1874/-729 | 34 |
273 | Aarsh Shah | 24 | +1428/-504 | 54 |
274 | Marcin Rataj | 19 | +1051/-855 | 251 |
275 | Alex Browne | 25 | +1207/-582 | 49 |
276 | Jakub Sztandera | 29 | +898/-335 | 63 |
277 | Friedel Ziegelmayer | 11 | +491/-284 | 18 |
278 | Will Scott | 6 | +240/-319 | 17 |
279 | Marco Munizaga | 11 | +377/-141 | 17 |
280 | Hlib | 8 | +269/-135 | 15 |
281 | Gus Eggert | 5 | +325/-63 | 19 |
282 | lnykww | 1 | +275/-50 | 4 |
283 | Łukasz Magiera | 3 | +196/-58 | 7 |
284 | Matt Joiner | 14 | +79/-55 | 17 |
285 | Eric Myhre | 4 | +122/-6 | 5 |
286 | Andrew Gillis | 1 | +111/-6 | 4 |
287 | Fazlul Shahriar | 2 | +84/-31 | 5 |
288 | tg | 1 | +70/-15 | 2 |
289 | Cory Schwartz | 4 | +50/-28 | 11 |
290 | Lars Gierth | 3 | +33/-26 | 3 |
291 | Cole Brown | 2 | +37/-16 | 9 |
292 | web3-bot | 7 | +38/-11 | 18 |
293 | Alvin Reyes | 1 | +34/-14 | 1 |
294 | Hector Sanjuan | 4 | +34/-8 | 5 |
295 | Guilhem Fanton | 2 | +28/-10 | 6 |
296 | Brian Meek | 1 | +14/-17 | 4 |
297 | Hlib Kanunnikov | 1 | +25/-3 | 1 |
298 | Adin Schmahmann | 5 | +15/-13 | 5 |
299 | Henrique Dias | 1 | +24/-2 | 4 |
300 | Dennis Trautwein | 1 | +20/-4 | 2 |
301 | galargh | 2 | +18/-2 | 2 |
302 | M. Hawn | 3 | +10/-10 | 7 |
303 | Can ZHANG | 1 | +12/-3 | 1 |
304 | Masih H. Derkani | 1 | +4/-10 | 2 |
305 | gammazero | 1 | +6/-6 | 2 |
306 | Ikko Ashimine | 1 | +6/-6 | 2 |
307 | Daniel N | 2 | +6/-5 | 2 |
308 | watjurk | 1 | +8/-2 | 1 |
309 | John Steidley | 2 | +4/-4 | 3 |
310 | Aaron Bieber | 1 | +6/-2 | 1 |
311 | Kishan Mohanbhai Sagathiya | 1 | +6/-1 | 1 |
312 | siiky | 3 | +3/-3 | 3 |
313 | Lucas Molas | 1 | +5/-1 | 1 |
314 | Kevin Atkinson | 1 | +3/-3 | 1 |
315 | Aayush Rajasekaran | 1 | +5/-1 | 1 |
316 | T Mo | 1 | +2/-2 | 1 |
317 | Piotr Galar | 1 | +2/-2 | 1 |
318 | Arber Avdullahu | 1 | +2/-2 | 1 |
319 | Russell Dempsey | 1 | +2/-1 | 1 |
320 | anders | 1 | +1/-1 | 1 |
321 | RubenKelevra | 1 | +1/-1 | 1 |
322 | Jonathan Rudenberg | 1 | +1/-1 | 1 |
323 | Ettore Di Giacinto | 1 | +2/-0 | 1 |
324 | Daniel Norman | 1 | +1/-1 | 1 |
325 | Chawye Hsu | 1 | +1/-1 | 1 |
326 | Aliabbas Merchant | 1 | +1/-1 | 1 |
327 | can | 1 | +1/-0 | 1 |
328 | Ed Mazurek | 1 | +0/-0 | 1 |