docs: update changelog for v0.11.0
Adin Schmahmann committed
Dec 8, 2021 at 12:55 UTC
b49e328e6a751670a33a1636b1827a3b6063a0b0
1 file changed
+807
CHANGELOG.md
+807
@@ -1,5 +1,812 @@
1
# go-ipfs changelog
2
3
+## v0.11.0 2021-12-08
4
+
5
+We're happy to announce go-ipfs 0.11.0. This release comes with improvements to the UnixFS Sharding and PubSub experiments as well as support for Circuit-Relay v2 which sets the network up for decentralized hole punching support.
6
+
7
+As usual, this release includes important fixes, some of which may be critical for security. Unless the fix addresses a bug being exploited in the wild, the fix will _not_ be called out in the release notes. Please make sure to update ASAP. See our [release process](https://github.com/ipfs/go-ipfs/tree/master/docs/releases.md#security-fix-policy) for details.
8
+
9
+### 🛠 BREAKING CHANGES
10
+
11
+- UnixFS sharding is now automatic and enabled by default
12
+ - HAMT-based sharding is applied to large directories (i.e. those that would serialize into [block](https://docs.ipfs.io/concepts/glossary/#block) larger than ~256KiB)s. This means importing data via commands like `ipfs add -r <directory>` may result in different [CID](https://docs.ipfs.io/concepts/glossary/#cid)s due to the different [DAG](https://docs.ipfs.io/concepts/glossary/#dag) representations.
13
+ - Support for `Experimental.ShardingEnabled` is removed.
14
+- go-ipfs can no longer act as a [Circuit Relay](https://docs.ipfs.io/concepts/glossary/#circuit-relay) v1
15
+ - Node will refuse to start if `Swarm.EnableRelayHop` is set to `true`
16
+ - If you depend on v1 relay service provider, see "Removal of v1 relay service" section for available migration options.
17
+- HTTP RPC wire format for experimental commands at `/api/v0/pubsub` changed.
18
+ - If you use [js-ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) or [go-ipfs-http-client](https://github.com/ipfs/go-ipfs-http-client), just update to their latest version.
19
+ - If you use something else, see "Multibase in PubSub" section below for migration details.
20
+
21
+Keep reading to learn more details.
22
+
23
+### 🔦 Highlights
24
+
25
+#### 🗃 Automatic UnixFS sharding
26
+
27
+Truly big directories can have so many items, that the root block with all of their names is too big to be exchanged with other peers. This was partially solved by [HAMT-sharding](https://docs.ipfs.io/concepts/glossary/#hamt-sharding), which was introduced a while ago as opt-in. The main downside of the implementation was that it was a global flag that sharded all imported directories (big and small).
28
+
29
+This release solves that inconvenience by making UnixFS sharding smarter and applies it only to larger directories (i.e. directories that would be at least ~256KiB). This is now the default behavior in `ipfs add` and `ipfs files` commands, where UnixFS sharding works out-of-the-box.
30
+
31
+#### 🔁 Circuit Relay v2
32
+
33
+This release adds support for the [circuit relay v2](https://github.com/libp2p/specs/blob/master/relay/circuit-v2.md) protocol based on the reference implementation from [go-libp2p 0.16](https://github.com/libp2p/go-libp2p/releases/tag/v0.16.0).
34
+
35
+This is the cornerstone for maximizing p2p connections between IPFS peers. Every publicly dialable peer can now act as a limited relay v2, which can be used for [hole punching](https://docs.ipfs.io/concepts/glossary/#hole-punching) and other decentralized signaling protocols.
36
+
37
+##### Limited relay v2 configuration options
38
+
39
+go-ipfs can now be configured to act as a [`RelayClient`](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#swarmrelayclient) that uses other peers for autorelay functionality when behind a NAT, or provide a limited [`RelayService`](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#swarmrelayservice) to other peers on the network.
40
+
41
+Starting with go-ipfs v0.11 every publicly dialable go-ipfs (based on AutoNAT determination) will start a limited `RelayService`. `RelayClient` remains disabled by default for now, as we want the network to update and get enough v2 service providers first.
42
+
43
+Note: the limited Circuit Relay v2 provided with this release only allows low-bandwidth protocols (identify, ping, holepunch) over transient connections. If you want to relay things like bitswap sessions, you need to set up a v1 relay by some other means. See details below.
44
+
45
+##### Removal of unlimited v1 relay service provider
46
+
47
+Switching to v2 of the relay spec means removal or deprecation of configuration keys that were specific to v1.
48
+
49
+- Relay transport and client support circuit-relay v2:
50
+ - `Swarm.EnableAutoRelay` was replaced by `Swarm.RelayClient.Enable`.
51
+ - `Swarm.DisableRelay` is deprecated, relay transport can be now disabled globally (both client and service) by setting `Swarm.Transports.Network.Relay` to `false`
52
+- Relay v1 service provider was replaced by v2:
53
+ - `Swarm.EnableRelayHop` no longer starts an unlimited v1 relay. If you have it set to `true` the node will refuse to start and display an error message.
54
+ - Existing users who choose to continue running a v1 relay should migrate their setups to relay v1 based on js-ipfs running in node, or the standalone [libp2p-relay-daemon](https://dist.ipfs.io/#libp2p-relay-daemon) [configured](https://github.com/libp2p/go-libp2p-relay-daemon/#configuration) with `RelayV1.Enabled` set to `true`. Be mindful that v1 relays are unlimited, and one may want to set up some ACL based either on PeerIDs or Subnets.
55
+
56
+#### 🕳 Decentralized Hole Punching (DCUtR protocol client)
57
+
58
+We are working towards enabling hole punching for NAT traversal when port forwarding is not possible.
59
+
60
+[go-libp2p 0.16](https://github.com/libp2p/go-libp2p/releases/tag/v0.16.0) provides an implementation of the [DCUtR (decentralized hole punching)](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md) protocol. It is hidden behind the `Swarm.EnableHolePunching` configuration flag.
61
+
62
+When enabled, go-ipfs will coordinate with the counterparty using a [relayed v2 connection](https://github.com/libp2p/specs/blob/master/relay/circuit-v2.md), to [upgrade to a direct connection](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md) through a NAT/firewall whenever possible.
63
+
64
+This feature is disabled by default in this release, but we hope to enable it by default as soon the network updates to go-ipfs v0.11 and gains a healthy set of limited v2 relays.
65
+
66
+#### 💬 Multibase in PubSub HTTP RPC API
67
+
68
+This release fixed some edge cases that were reported by users of the PubSub experiment, getting it closer to becoming a stable feature of go-ipfs. Some PubSub users will notice that the plaintext limitation is lifted: one can now use line breaks in messages published to non-ascii topic names, or even publish arbitrary bytes to arbitrary topics. It required a change to the wire format used when pubsub commands are executed over the HTTP RPC API at `/api/v0/pubsub/*`, and also modified the behavior of the `ipfs pubsub pub` command, which now is publishing only a single pubsub message with data read from a file or stdin.
69
+
70
+##### PubSub client migration tips
71
+
72
+If you use the HTTP RPC API with the [go-ipfs-http-client](https://github.com/ipfs/go-ipfs-http-client) library, make sure to update to the latest version. The next version of [js-ipfs-http-client](https://www.npmjs.com/package/ipfs-http-client) will use the new wire format as well, so you don't need to do anything.
73
+
74
+If you use `/api/v0/pubsub/*` directly or maintain your own client library, you must adjust your HTTP client code. Byte fields and URL args are now encoded in `base64url` [Multibase](https://docs.ipfs.io/concepts/glossary/#multibase). Encode/decode bytes using the `ipfs multibase --help` commands, or use the multiformats libraries ([js-multiformats](https://github.com/multiformats/js-multiformats#readme), [go-multibase](https://github.com/multiformats/go-multibase)).
75
+
76
+Low level changes:
77
+- `topic` passed as URL `arg` in requests to `/api/v0/pubsub/*` must be encoded in URL-safe multibase (`base64url`)
78
+- `data`, `from`, `seqno` and `topicIDs` returned in JSON responses are now encoded in multibase
79
+- Peer IDs returned in `from` now use the same default text representation from go-libp2p and peerid encoder/decoder from libp2p. This means the same text representation as in as in `swarm peers`, which makes it possible to compare them without decoding multibase.
80
+- `/api/v0/pubsub/pub` no longer accepts `data` to be passed as URL, it has to be sent as `multipart/form-data`. This removes size limitations based on URL length, and enables regular HTTP clients to publish data to PubSub topics. For example, to publish `some-file` to topic named `test-topic` using vanilla `curl`, one would execute: `curl -X POST -v -F "stdin=@some-file" 'http://127.0.0.1:5001/api/v0/pubsub/pub?arg=$(echo -n test-topic | ipfs multibase encode -b base64url)'`
81
+- `ipfs pubsub pub` on the command line no longer accepts variadic `data` arguments. Instead, it expects a single file input or stream of bytes from stdin. This ensures arbitrary stream of bytes can be published, removing limitation around messages that include `\n` or `\r\n`.
82
+
83
+#### ⚙ New configuration flags
84
+
85
+- [`Addresses.AppendAnnounce`](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#addressesappendannounce) is an array of multiaddrs, similar to `Addresses.Announce`, except it does not override inferred swarm addresses, but appends custom ones to the list.
86
+- Pubsub experiments can now be enabled via config, removing the need for CLI flag to be passed every time daemon starts:
87
+ - [`Pubsub.Enabled`](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#pubsubenabled) enables the pubsub system.
88
+ - [`Ipns.UsePubsub`](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#ipnsusepubsub) enables IPFS over pubsub experiment for publishing IPNS records in real time.
89
+
90
+#### 🔐 Support for DAG-JOSE IPLD codec
91
+
92
+JOSE is a [standard](https://datatracker.ietf.org/wg/jose/documents/) for signing and encrypting JSON objects. [DAG-JOSE](https://ipld.io/specs/codecs/dag-jose/spec/) is an IPLD codec based on JOSE and represented in CBOR. Upon encountering the `dag-jose` multicodec indicator, implementations can expect that the block contains dag-cbor encoded data which matches the IPLD schema from the [DAG-JOSE spec](https://ipld.io/specs/codecs/dag-jose/spec/).
93
+
94
+This work was [contributed](https://github.com/ipfs/go-ipfs/pull/8569) by [Ceramic](https://ceramic.network/) and acts as a template for future IPFS improvements driven by the real world needs of the IPFS community.
95
+
96
+### Changelog
97
+
98
+- github.com/ipfs/go-ipfs:
99
+ - docs: update changelog for v0.11.0
100
+ - Release v0.11.0-rc2
101
+ - fix(corehttp): adjust peer counting metrics (#8577) ([ipfs/go-ipfs#8577](https://github.com/ipfs/go-ipfs/pull/8577))
102
+ - Release v0.11.0-rc1
103
+ - feat: Swarm.EnableHolePunching flag (#8562) ([ipfs/go-ipfs#8562](https://github.com/ipfs/go-ipfs/pull/8562))
104
+ - feat: enabling pubsub and ipns-pubsub via config flags (#8510) ([ipfs/go-ipfs#8510](https://github.com/ipfs/go-ipfs/pull/8510))
105
+ - Integrate go-dag-jose plugin (#8569) ([ipfs/go-ipfs#8569](https://github.com/ipfs/go-ipfs/pull/8569))
106
+ - feat: Addresses.AppendAnnounce (#8177) ([ipfs/go-ipfs#8177](https://github.com/ipfs/go-ipfs/pull/8177))
107
+ - fix: multibase in pubsub http rpc (#8183) ([ipfs/go-ipfs#8183](https://github.com/ipfs/go-ipfs/pull/8183))
108
+ - refactor: remove dir-index-html submodule ([ipfs/go-ipfs#8555](https://github.com/ipfs/go-ipfs/pull/8555))
109
+ - feat: hard deprecation of IPFS_REUSEPORT
110
+ - feat: go-libp2p 0.16, UnixFS autosharding and go-datastore with contexts (#8563) ([ipfs/go-ipfs#8563](https://github.com/ipfs/go-ipfs/pull/8563))
111
+ - chore: fix link in README.md (#8551) ([ipfs/go-ipfs#8551](https://github.com/ipfs/go-ipfs/pull/8551))
112
+ - Updating release template based off some 0.10 learnings (#8491) ([ipfs/go-ipfs#8491](https://github.com/ipfs/go-ipfs/pull/8491))
113
+ - fix: multiple subdomain gateways on same domain (#8556) ([ipfs/go-ipfs#8556](https://github.com/ipfs/go-ipfs/pull/8556))
114
+ - Fix typos (#8548) ([ipfs/go-ipfs#8548](https://github.com/ipfs/go-ipfs/pull/8548))
115
+ - Add support for multiple files to `ipfs files rm`.
116
+ - add a docker-compose file (#8387) ([ipfs/go-ipfs#8387](https://github.com/ipfs/go-ipfs/pull/8387))
117
+ - fix(sharness): use -Q option instead of pipe to tail cmd
118
+ - Add Homebrew installation method. ([ipfs/go-ipfs#8545](https://github.com/ipfs/go-ipfs/pull/8545))
119
+ - docs: fix ipfs files cp examples (#8533) ([ipfs/go-ipfs#8533](https://github.com/ipfs/go-ipfs/pull/8533))
120
+ - fix(unixfs): check for errors before dereferencing the link ([ipfs/go-ipfs#8508](https://github.com/ipfs/go-ipfs/pull/8508))
121
+ - chore: replace go-merkledag walk with go-ipld-prime traversal for dag export (#8506) ([ipfs/go-ipfs#8506](https://github.com/ipfs/go-ipfs/pull/8506))
122
+ - test: add sharness test for reading ADLs with FUSE
123
+ - fix: allow the levelds compression level to be unspecified
124
+ - ([ipfs/go-ipfs#8457](https://github.com/ipfs/go-ipfs/pull/8457))
125
+ - ([ipfs/go-ipfs#8482](https://github.com/ipfs/go-ipfs/pull/8482))
126
+ - Added the missing heathcheck for the container (#8429) ([ipfs/go-ipfs#8429](https://github.com/ipfs/go-ipfs/pull/8429))
127
+ - chore: update dir-index-html to v1.2.2
128
+ - Update RELEASE_ISSUE_TEMPLATE.md
129
+ - Update RELEASE_ISSUE_TEMPLATE.md
130
+ - add more logging to flaky TestPeersTotal
131
+ - Update RELEASE_ISSUE_TEMPLATE.md
132
+ - Update RELEASE_ISSUE_TEMPLATE.md
133
+ - Updating chocolatey to reference go-ipfs
134
+ - chore: update changelog for v0.10.0
135
+ - add testground plans to bitswap on CI
136
+ - ci: move Docker image build to Actions (#8467) ([ipfs/go-ipfs#8467](https://github.com/ipfs/go-ipfs/pull/8467))
137
+ - fix(cli): object add-link: do not allow blocks over BS limit (#8414) ([ipfs/go-ipfs#8414](https://github.com/ipfs/go-ipfs/pull/8414))
138
+ - fuse: load unixfs adls as their dagpb substrates
139
+ - enable the legacy mDNS implementation
140
+ - change ipfs dag get flag name from format to output-codec ([ipfs/go-ipfs#8440](https://github.com/ipfs/go-ipfs/pull/8440))
141
+ - change names of ipfs dag put flags to make changes clearer ([ipfs/go-ipfs#8439](https://github.com/ipfs/go-ipfs/pull/8439))
142
+ - test: check behavior of loading UnixFS sharded directories with missing shards
143
+ - ([ipfs/go-ipfs#8432](https://github.com/ipfs/go-ipfs/pull/8432))
144
+ - feat: dag import --stats (#8237) ([ipfs/go-ipfs#8237](https://github.com/ipfs/go-ipfs/pull/8237))
145
+ - feat: ipfs-webui v2.13.0 (#8430) ([ipfs/go-ipfs#8430](https://github.com/ipfs/go-ipfs/pull/8430))
146
+ - feat(cli): add daemon option --agent-version-suffix (#8419) ([ipfs/go-ipfs#8419](https://github.com/ipfs/go-ipfs/pull/8419))
147
+ - feat: multibase transcode command (#8403) ([ipfs/go-ipfs#8403](https://github.com/ipfs/go-ipfs/pull/8403))
148
+ - fix: take the lock while listing peers
149
+ - feature: 'ipfs swarm peering' command (#8147) ([ipfs/go-ipfs#8147](https://github.com/ipfs/go-ipfs/pull/8147))
150
+ - chore: update IPFS Desktop testing steps (#8393) ([ipfs/go-ipfs#8393](https://github.com/ipfs/go-ipfs/pull/8393))
151
+ - add more buttons; remove some sections covered in the docs; general cleanup ([ipfs/go-ipfs#8274](https://github.com/ipfs/go-ipfs/pull/8274))
152
+ - Cosmetic fixups in examples (#8325) ([ipfs/go-ipfs#8325](https://github.com/ipfs/go-ipfs/pull/8325))
153
+ - perf: use performance-enhancing FUSE mount options
154
+ - ci: publish Docker images for bifrost-* branches
155
+ - chore: add comments to peerlog plugin about being unsupported
156
+ - test: add unit tests for peerlog config parsing
157
+ - ci: preload peerlog plugin, disable by default
158
+ - fix(mkreleaselog): specify the parent commit when diffing
159
+ - update version to v0.11.0-dev
160
+- github.com/ipfs/go-bitswap (v0.4.0 -> v0.5.1):
161
+ - Version 0.5.1
162
+ - Change incorrect function name in README (#541) ([ipfs/go-bitswap#541](https://github.com/ipfs/go-bitswap/pull/541))
163
+ - Version 0.5.0 (#540) ([ipfs/go-bitswap#540](https://github.com/ipfs/go-bitswap/pull/540))
164
+ - feat: plumb through contexts (#539) ([ipfs/go-bitswap#539](https://github.com/ipfs/go-bitswap/pull/539))
165
+ - sync: update CI config files (#538) ([ipfs/go-bitswap#538](https://github.com/ipfs/go-bitswap/pull/538))
166
+ - fix: optimize handling for peers with lots of tasks ([ipfs/go-bitswap#537](https://github.com/ipfs/go-bitswap/pull/537))
167
+ - Enable custom task prioritization logic ([ipfs/go-bitswap#535](https://github.com/ipfs/go-bitswap/pull/535))
168
+ - feat: cache the materialized wantlist ([ipfs/go-bitswap#530](https://github.com/ipfs/go-bitswap/pull/530))
169
+ - fix: reduce receive contention ([ipfs/go-bitswap#536](https://github.com/ipfs/go-bitswap/pull/536))
170
+ - Fix ProviderQueryManager test timings ([ipfs/go-bitswap#534](https://github.com/ipfs/go-bitswap/pull/534))
171
+ - fix: rename wiretap to tracer ([ipfs/go-bitswap#531](https://github.com/ipfs/go-bitswap/pull/531))
172
+ - fix: fix race on "responsive" check ([ipfs/go-bitswap#528](https://github.com/ipfs/go-bitswap/pull/528))
173
+ - fix: reduce log verbosity
174
+- github.com/ipfs/go-blockservice (v0.1.7 -> v0.2.1):
175
+ - Version 0.2.1
176
+ - Version 0.2.0 (#87) ([ipfs/go-blockservice#87](https://github.com/ipfs/go-blockservice/pull/87))
177
+ - feat: add context to interfaces (#86) ([ipfs/go-blockservice#86](https://github.com/ipfs/go-blockservice/pull/86))
178
+ - sync: update CI config files (#85) ([ipfs/go-blockservice#85](https://github.com/ipfs/go-blockservice/pull/85))
179
+ - chore: update log ([ipfs/go-blockservice#84](https://github.com/ipfs/go-blockservice/pull/84))
180
+- github.com/ipfs/go-cid (v0.0.7 -> v0.1.0):
181
+ - amend the CidFromReader slice extension math
182
+ - implement CidFromReader
183
+ - chore: fixups from running go vet, go fmt and staticcheck ([ipfs/go-cid#122](https://github.com/ipfs/go-cid/pull/122))
184
+ - s/characters/bytes
185
+ - Fix inaccurate comment for uvarint
186
+ - coverage: more tests for cid
187
+ - coverage: more tests for varint
188
+ - coverage: more tests for builder
189
+ - fix: make tests run with Go 1.15
190
+ - Add the dagjose multiformat
191
+- github.com/ipfs/go-datastore (v0.4.6 -> v0.5.1):
192
+ - Release v0.5.1
193
+ - chore: add lots of interface assertions
194
+ - fix: make NullDatastore satisfy the Batching interface again
195
+ - Update version.json (#183) ([ipfs/go-datastore#183](https://github.com/ipfs/go-datastore/pull/183))
196
+ - feat: add context to interfaces (#181) ([ipfs/go-datastore#181](https://github.com/ipfs/go-datastore/pull/181))
197
+ - sync: update CI config files ([ipfs/go-datastore#182](https://github.com/ipfs/go-datastore/pull/182))
198
+- github.com/ipfs/go-ds-badger (v0.2.7 -> v0.3.0):
199
+ - feat: plumb through contexts (#119) ([ipfs/go-ds-badger#119](https://github.com/ipfs/go-ds-badger/pull/119))
200
+- github.com/ipfs/go-ds-flatfs (v0.4.5 -> v0.5.1):
201
+ - Update version.json
202
+ - fix: add context to DiskUsage()
203
+ - Version 0.5.0 (#99) ([ipfs/go-ds-flatfs#99](https://github.com/ipfs/go-ds-flatfs/pull/99))
204
+ - feat: add contexts on datastore methods (#98) ([ipfs/go-ds-flatfs#98](https://github.com/ipfs/go-ds-flatfs/pull/98))
205
+ - sync: update CI config files (#97) ([ipfs/go-ds-flatfs#97](https://github.com/ipfs/go-ds-flatfs/pull/97))
206
+ - sync: update CI config files ([ipfs/go-ds-flatfs#96](https://github.com/ipfs/go-ds-flatfs/pull/96))
207
+ - fix staticcheck ([ipfs/go-ds-flatfs#92](https://github.com/ipfs/go-ds-flatfs/pull/92))
208
+ - fix typo in readme.go ([ipfs/go-ds-flatfs#89](https://github.com/ipfs/go-ds-flatfs/pull/89))
209
+- github.com/ipfs/go-ds-leveldb (v0.4.2 -> v0.5.0):
210
+ - Version 0.5.0 (#58) ([ipfs/go-ds-leveldb#58](https://github.com/ipfs/go-ds-leveldb/pull/58))
211
+ - feat: plumb through contexts (#57) ([ipfs/go-ds-leveldb#57](https://github.com/ipfs/go-ds-leveldb/pull/57))
212
+ - sync: update CI config files (#56) ([ipfs/go-ds-leveldb#56](https://github.com/ipfs/go-ds-leveldb/pull/56))
213
+ - fix closing of datastore in tests ([ipfs/go-ds-leveldb#52](https://github.com/ipfs/go-ds-leveldb/pull/52))
214
+ - fix staticcheck ([ipfs/go-ds-leveldb#49](https://github.com/ipfs/go-ds-leveldb/pull/49))
215
+ - fix typo in function documentation ([ipfs/go-ds-leveldb#46](https://github.com/ipfs/go-ds-leveldb/pull/46))
216
+- github.com/ipfs/go-ds-measure (v0.1.0 -> v0.2.0):
217
+ - Version 0.2.0 (#39) ([ipfs/go-ds-measure#39](https://github.com/ipfs/go-ds-measure/pull/39))
218
+ - feat: add contexts on datastore methods (#38) ([ipfs/go-ds-measure#38](https://github.com/ipfs/go-ds-measure/pull/38))
219
+ - sync: update CI config files (#37) ([ipfs/go-ds-measure#37](https://github.com/ipfs/go-ds-measure/pull/37))
220
+- github.com/ipfs/go-fetcher (v1.5.0 -> v1.6.1):
221
+ - Version 1.6.1
222
+ - Version 1.6.0 (#29) ([ipfs/go-fetcher#29](https://github.com/ipfs/go-fetcher/pull/29))
223
+ - feat: plumb through context changes (#28) ([ipfs/go-fetcher#28](https://github.com/ipfs/go-fetcher/pull/28))
224
+ - sync: update CI config files (#27) ([ipfs/go-fetcher#27](https://github.com/ipfs/go-fetcher/pull/27))
225
+ - add a fetcher constructor for the case where we already have a session ([ipfs/go-fetcher#26](https://github.com/ipfs/go-fetcher/pull/26))
226
+- github.com/ipfs/go-filestore (v0.0.3 -> v0.1.0):
227
+ - feat: plumb through context changes (#56) ([ipfs/go-filestore#56](https://github.com/ipfs/go-filestore/pull/56))
228
+- github.com/ipfs/go-graphsync (v0.8.0 -> v0.11.0):
229
+ - docs(CHANGELOG): update for v0.11.0 release
230
+ - Merge branch 'release/v0.10.6'
231
+ - update to context datastores (#275) ([ipfs/go-graphsync#275](https://github.com/ipfs/go-graphsync/pull/275))
232
+ - feat!(requestmanager): remove request allocation backpressure (#272) ([ipfs/go-graphsync#272](https://github.com/ipfs/go-graphsync/pull/272))
233
+ - message/pb: stop using gogo/protobuf (#277) ([ipfs/go-graphsync#277](https://github.com/ipfs/go-graphsync/pull/277))
234
+ - mark all test helper funcs via t.Helper (#276) ([ipfs/go-graphsync#276](https://github.com/ipfs/go-graphsync/pull/276))
235
+ - chore(queryexecutor): remove unused RunTraversal
236
+ - chore(responsemanager): remove unused workSignal
237
+ - chore(queryexecutor): fix tests for runtraversal refactor + clean up
238
+ - feat(queryexecutor): merge RunTraversal into QueryExecutor
239
+ - feat(responsemanager): QueryExecutor to separate module - use TaskQueue, add tests
240
+ - Merge branch 'release/v0.10.5'
241
+ - fix(responseassembler): dont hold block data reference in passed on subscribed block link (#268) ([ipfs/go-graphsync#268](https://github.com/ipfs/go-graphsync/pull/268))
242
+ - sync: update CI config files (#266) ([ipfs/go-graphsync#266](https://github.com/ipfs/go-graphsync/pull/266))
243
+ - Check IPLD context cancellation error type instead of string comparison
244
+ - Use `context.CancelFunc` instead of `func()` (#257) ([ipfs/go-graphsync#257](https://github.com/ipfs/go-graphsync/pull/257))
245
+ - fix: bail properly when budget exceeded
246
+ - feat(requestmanager): report inProgressRequestCount on OutgoingRequests event
247
+ - fix(requestmanager): remove failing racy test select block
248
+ - feat(requestmanager): add OutgoingRequeustProcessingListener
249
+ - Merge branch 'release/v0.10.4'
250
+ - fix(allocator): prevent buffer overflow (#248) ([ipfs/go-graphsync#248](https://github.com/ipfs/go-graphsync/pull/248))
251
+ - Merge branch 'release/v0.10.3'
252
+ - Configure message parameters (#247) ([ipfs/go-graphsync#247](https://github.com/ipfs/go-graphsync/pull/247))
253
+ - Stats! (#246) ([ipfs/go-graphsync#246](https://github.com/ipfs/go-graphsync/pull/246))
254
+ - Limit simultaneous incoming requests on a per peer basis (#245) ([ipfs/go-graphsync#245](https://github.com/ipfs/go-graphsync/pull/245))
255
+ - sync: update CI config files (#191) ([ipfs/go-graphsync#191](https://github.com/ipfs/go-graphsync/pull/191))
256
+ - Merge branch 'release/v0.10.2'
257
+ - test(responsemanager): fix flakiness TestCancellationViaCommand (#243) ([ipfs/go-graphsync#243](https://github.com/ipfs/go-graphsync/pull/243))
258
+ - Fix deadlock on notifications (#242) ([ipfs/go-graphsync#242](https://github.com/ipfs/go-graphsync/pull/242))
259
+ - Merge branch 'release/v0.10.1'
260
+ - Free memory on request finish (#240) ([ipfs/go-graphsync#240](https://github.com/ipfs/go-graphsync/pull/240))
261
+ - release: v1.10.0 ([ipfs/go-graphsync#238](https://github.com/ipfs/go-graphsync/pull/238))
262
+ - Add support for IPLD prime's budgets feature in selectors (#235) ([ipfs/go-graphsync#235](https://github.com/ipfs/go-graphsync/pull/235))
263
+ - feat(graphsync): add an index for blocks in the on new block hook (#234) ([ipfs/go-graphsync#234](https://github.com/ipfs/go-graphsync/pull/234))
264
+ - Do not send first blocks extension (#230) ([ipfs/go-graphsync#230](https://github.com/ipfs/go-graphsync/pull/230))
265
+ - Protect Libp2p Connections (#229) ([ipfs/go-graphsync#229](https://github.com/ipfs/go-graphsync/pull/229))
266
+ - test(responsemanager): remove check (#228) ([ipfs/go-graphsync#228](https://github.com/ipfs/go-graphsync/pull/228))
267
+ - feat(graphsync): give missing blocks a named error (#227) ([ipfs/go-graphsync#227](https://github.com/ipfs/go-graphsync/pull/227))
268
+ - Add request limits (#224) ([ipfs/go-graphsync#224](https://github.com/ipfs/go-graphsync/pull/224))
269
+ - Tech Debt Cleanup and Docs Update (#219) ([ipfs/go-graphsync#219](https://github.com/ipfs/go-graphsync/pull/219))
270
+ - Release/v0.9.3 ([ipfs/go-graphsync#218](https://github.com/ipfs/go-graphsync/pull/218))
271
+ - 0.9.2 release ([ipfs/go-graphsync#217](https://github.com/ipfs/go-graphsync/pull/217))
272
+ - fix(requestmanager): remove main thread block on allocation (#216) ([ipfs/go-graphsync#216](https://github.com/ipfs/go-graphsync/pull/216))
273
+ - feat(allocator): add debug logging (#213) ([ipfs/go-graphsync#213](https://github.com/ipfs/go-graphsync/pull/213))
274
+ - fix: spurious warn log (#210) ([ipfs/go-graphsync#210](https://github.com/ipfs/go-graphsync/pull/210))
275
+ - docs(CHANGELOG): update for v0.9.1 release (#212) ([ipfs/go-graphsync#212](https://github.com/ipfs/go-graphsync/pull/212))
276
+ - fix(message): fix dropping of response extensions (#211) ([ipfs/go-graphsync#211](https://github.com/ipfs/go-graphsync/pull/211))
277
+ - docs(CHANGELOG): update change log ([ipfs/go-graphsync#208](https://github.com/ipfs/go-graphsync/pull/208))
278
+ - docs(README): add notice about branch rename
279
+ - fix(graphsync): make sure linkcontext is passed (#207) ([ipfs/go-graphsync#207](https://github.com/ipfs/go-graphsync/pull/207))
280
+ - Merge final v0.6.x commit history, and 0.8.0 changelog (#205) ([ipfs/go-graphsync#205](https://github.com/ipfs/go-graphsync/pull/205))
281
+ - Fix broken link to IPLD selector documentation (#189) ([ipfs/go-graphsync#189](https://github.com/ipfs/go-graphsync/pull/189))
282
+ - fix: check errors before defering a close (#200) ([ipfs/go-graphsync#200](https://github.com/ipfs/go-graphsync/pull/200))
283
+ - chore: fix checks (#197) ([ipfs/go-graphsync#197](https://github.com/ipfs/go-graphsync/pull/197))
284
+ - Merge the v0.6.x commit history (#190) ([ipfs/go-graphsync#190](https://github.com/ipfs/go-graphsync/pull/190))
285
+ - Ready for universal CI (#187) ([ipfs/go-graphsync#187](https://github.com/ipfs/go-graphsync/pull/187))
286
+ - fix(requestmanager): pass through linksystem (#166) ([ipfs/go-graphsync#166](https://github.com/ipfs/go-graphsync/pull/166))
287
+ - fix missing word in section title (#179) ([ipfs/go-graphsync#179](https://github.com/ipfs/go-graphsync/pull/179))
288
+- github.com/ipfs/go-ipfs-blockstore (v0.1.6 -> v0.2.1):
289
+ - fix: revert back to go-ipfs-ds-help@v0.1.1 (#92) ([ipfs/go-ipfs-blockstore#92](https://github.com/ipfs/go-ipfs-blockstore/pull/92))
290
+ - feat: add context to interfaces & plumb through datastore contexts (#89) ([ipfs/go-ipfs-blockstore#89](https://github.com/ipfs/go-ipfs-blockstore/pull/89))
291
+- github.com/ipfs/go-ipfs-config (v0.16.0 -> v0.18.0):
292
+ - Release v0.18.0 (#159) ([ipfs/go-ipfs-config#159](https://github.com/ipfs/go-ipfs-config/pull/159))
293
+ - feat: add Addresses.AppendAnnounce (#135) ([ipfs/go-ipfs-config#135](https://github.com/ipfs/go-ipfs-config/pull/135))
294
+ - feat: omitempty Swarm.EnableRelayHop for circuit v1 migration (#157) ([ipfs/go-ipfs-config#157](https://github.com/ipfs/go-ipfs-config/pull/157))
295
+ - chore: omitempty Experimental.ShardingEnabled (#158) ([ipfs/go-ipfs-config#158](https://github.com/ipfs/go-ipfs-config/pull/158))
296
+ - chore: update comment to match struct
297
+ - Release v0.17.0 (#156) ([ipfs/go-ipfs-config#156](https://github.com/ipfs/go-ipfs-config/pull/156))
298
+ - feat: add a flag to enable the hole punching service (#155) ([ipfs/go-ipfs-config#155](https://github.com/ipfs/go-ipfs-config/pull/155))
299
+ - improve AutoRelay configuration, add config option for static relays ([ipfs/go-ipfs-config#154](https://github.com/ipfs/go-ipfs-config/pull/154))
300
+ - feat: Swarm.RelayService (circuit v2) (#146) ([ipfs/go-ipfs-config#146](https://github.com/ipfs/go-ipfs-config/pull/146))
301
+ - fix: String method on the OptionalString (#153) ([ipfs/go-ipfs-config#153](https://github.com/ipfs/go-ipfs-config/pull/153))
302
+ - sync: update CI config files (#152) ([ipfs/go-ipfs-config#152](https://github.com/ipfs/go-ipfs-config/pull/152))
303
+ - feat: OptionalString type and UnixFSShardingSizeThreshold (#149) ([ipfs/go-ipfs-config#149](https://github.com/ipfs/go-ipfs-config/pull/149))
304
+ - feat: pubsub and ipns pubsub flags (#145) ([ipfs/go-ipfs-config#145](https://github.com/ipfs/go-ipfs-config/pull/145))
305
+ - feat: add an OptionalDuration type (#148) ([ipfs/go-ipfs-config#148](https://github.com/ipfs/go-ipfs-config/pull/148))
306
+- github.com/ipfs/go-ipfs-exchange-interface (v0.0.1 -> v0.1.0):
307
+ - Update version.json (#20) ([ipfs/go-ipfs-exchange-interface#20](https://github.com/ipfs/go-ipfs-exchange-interface/pull/20))
308
+ - sync: update CI config files (#19) ([ipfs/go-ipfs-exchange-interface#19](https://github.com/ipfs/go-ipfs-exchange-interface/pull/19))
309
+ - feat: add context to interface (#18) ([ipfs/go-ipfs-exchange-interface#18](https://github.com/ipfs/go-ipfs-exchange-interface/pull/18))
310
+ - doc: add a lead maintainer
311
+- github.com/ipfs/go-ipfs-exchange-offline (v0.0.1 -> v0.1.1):
312
+ - Version 0.1.1
313
+ - Version 0.1.0 (#43) ([ipfs/go-ipfs-exchange-offline#43](https://github.com/ipfs/go-ipfs-exchange-offline/pull/43))
314
+ - feat: plumb through contexts (#42) ([ipfs/go-ipfs-exchange-offline#42](https://github.com/ipfs/go-ipfs-exchange-offline/pull/42))
315
+ - sync: update CI config files (#41) ([ipfs/go-ipfs-exchange-offline#41](https://github.com/ipfs/go-ipfs-exchange-offline/pull/41))
316
+ - fix staticcheck ([ipfs/go-ipfs-exchange-offline#35](https://github.com/ipfs/go-ipfs-exchange-offline/pull/35))
317
+ - chore(gx): remove gx
318
+- github.com/ipfs/go-ipfs-files (v0.0.8 -> v0.0.9):
319
+ - sync: update CI config files ([ipfs/go-ipfs-files#40](https://github.com/ipfs/go-ipfs-files/pull/40))
320
+ - fix: manually parse the content disposition to preserve directories ([ipfs/go-ipfs-files#42](https://github.com/ipfs/go-ipfs-files/pull/42))
321
+ - fix: round timestamps down by truncating them to seconds ([ipfs/go-ipfs-files#41](https://github.com/ipfs/go-ipfs-files/pull/41))
322
+ - sync: update CI config files ([ipfs/go-ipfs-files#34](https://github.com/ipfs/go-ipfs-files/pull/34))
323
+ - Fix test failure on Windows caused by nil `sys` in mock `FileInfo` ([ipfs/go-ipfs-files#39](https://github.com/ipfs/go-ipfs-files/pull/39))
324
+ - fix staticcheck ([ipfs/go-ipfs-files#35](https://github.com/ipfs/go-ipfs-files/pull/35))
325
+ - fix linters ([ipfs/go-ipfs-files#33](https://github.com/ipfs/go-ipfs-files/pull/33))
326
+- github.com/ipfs/go-ipfs-pinner (v0.1.2 -> v0.2.1):
327
+ - feat: plumb through context changes (#18) ([ipfs/go-ipfs-pinner#18](https://github.com/ipfs/go-ipfs-pinner/pull/18))
328
+- github.com/ipfs/go-ipfs-provider (v0.6.1 -> v0.7.1):
329
+ - Fix go vet and staticcheck ([ipfs/go-ipfs-provider#40](https://github.com/ipfs/go-ipfs-provider/pull/40))
330
+ - feat: plumb through datastore contexts (#39) ([ipfs/go-ipfs-provider#39](https://github.com/ipfs/go-ipfs-provider/pull/39))
331
+- github.com/ipfs/go-ipfs-routing (v0.1.0 -> v0.2.1):
332
+ - Version 0.2.1
333
+ - Bump version to 0.2.0 (#29) ([ipfs/go-ipfs-routing#29](https://github.com/ipfs/go-ipfs-routing/pull/29))
334
+ - feat: plumb through context changes (#28) ([ipfs/go-ipfs-routing#28](https://github.com/ipfs/go-ipfs-routing/pull/28))
335
+ - sync: update CI config files (#27) ([ipfs/go-ipfs-routing#27](https://github.com/ipfs/go-ipfs-routing/pull/27))
336
+ - fix staticcheck ([ipfs/go-ipfs-routing#24](https://github.com/ipfs/go-ipfs-routing/pull/24))
337
+- github.com/ipfs/go-merkledag (v0.4.0 -> v0.5.1):
338
+ - Version 0.5.1
339
+ - Version 0.5.0 (#79) ([ipfs/go-merkledag#79](https://github.com/ipfs/go-merkledag/pull/79))
340
+ - feat: plumb through contexts (#78) ([ipfs/go-merkledag#78](https://github.com/ipfs/go-merkledag/pull/78))
341
+ - sync: update CI config files (#77) ([ipfs/go-merkledag#77](https://github.com/ipfs/go-merkledag/pull/77))
342
+ - expose session construction to other callers
343
+ - fix RawNode incomplete stats
344
+- github.com/ipfs/go-mfs (v0.1.2 -> v0.2.1):
345
+ - Version 0.2.1
346
+ - Version 0.2.0 (#96) ([ipfs/go-mfs#96](https://github.com/ipfs/go-mfs/pull/96))
347
+ - support threshold based automatic sharding and unsharding of directories (#88) ([ipfs/go-mfs#88](https://github.com/ipfs/go-mfs/pull/88))
348
+ - sync: update CI config files (#94) ([ipfs/go-mfs#94](https://github.com/ipfs/go-mfs/pull/94))
349
+ - Fix lint errors ([ipfs/go-mfs#90](https://github.com/ipfs/go-mfs/pull/90))
350
+ - remove Makefile ([ipfs/go-mfs#89](https://github.com/ipfs/go-mfs/pull/89))
351
+- github.com/ipfs/go-namesys (v0.3.1 -> v0.4.0):
352
+ - Release v0.4.0
353
+ - feat: plumb through datastore contexts
354
+ - sync: update CI config files (#23) ([ipfs/go-namesys#23](https://github.com/ipfs/go-namesys/pull/23))
355
+- github.com/ipfs/go-path (v0.1.2 -> v0.2.1):
356
+ - Version 0.2.1
357
+ - Version 0.2.0 (#48) ([ipfs/go-path#48](https://github.com/ipfs/go-path/pull/48))
358
+ - feat: plumb through context changes (#47) ([ipfs/go-path#47](https://github.com/ipfs/go-path/pull/47))
359
+ - sync: update CI config files (#46) ([ipfs/go-path#46](https://github.com/ipfs/go-path/pull/46))
360
+ - Revert "feat: plumb through context changes"
361
+ - feat: plumb through context changes
362
+- github.com/ipfs/go-peertaskqueue (v0.4.0 -> v0.7.0):
363
+ - feat: optimize checking if a new task is "better" ([ipfs/go-peertaskqueue#19](https://github.com/ipfs/go-peertaskqueue/pull/19))
364
+ - Adds customizable prioritization logic for peertracker and peertaskqueue ([ipfs/go-peertaskqueue#17](https://github.com/ipfs/go-peertaskqueue/pull/17))
365
+ - When priority is equal, use FIFO ([ipfs/go-peertaskqueue#16](https://github.com/ipfs/go-peertaskqueue/pull/16))
366
+- github.com/ipfs/go-unixfs (v0.2.5 -> v0.3.1):
367
+ - Version 0.3.1
368
+ - Version 0.3.0 (#114) ([ipfs/go-unixfs#114](https://github.com/ipfs/go-unixfs/pull/114))
369
+ - feat: plumb through datastore context changes
370
+ - Size-based unsharding (#94) ([ipfs/go-unixfs#94](https://github.com/ipfs/go-unixfs/pull/94))
371
+ - sync: update CI config files (#112) ([ipfs/go-unixfs#112](https://github.com/ipfs/go-unixfs/pull/112))
372
+ - chore(deps): move bitfield to ipfs org ([ipfs/go-unixfs#98](https://github.com/ipfs/go-unixfs/pull/98))
373
+ - fix staticcheck ([ipfs/go-unixfs#95](https://github.com/ipfs/go-unixfs/pull/95))
374
+ - fix(directory): initialize size when computing it ([ipfs/go-unixfs#93](https://github.com/ipfs/go-unixfs/pull/93))
375
+ - fix: always return upgradeable instead of basic dir (#92) ([ipfs/go-unixfs#92](https://github.com/ipfs/go-unixfs/pull/92))
376
+ - feat: switch to HAMT based on size (#91) ([ipfs/go-unixfs#91](https://github.com/ipfs/go-unixfs/pull/91))
377
+ - go fmt
378
+ - fix: add pointer receiver
379
+ - add test
380
+ - feat: add UpgradeableDirectory
381
+- github.com/ipfs/interface-go-ipfs-core (v0.5.1 -> v0.5.2):
382
+ - fix: check errors by string ([ipfs/interface-go-ipfs-core#76](https://github.com/ipfs/interface-go-ipfs-core/pull/76))
383
+- github.com/ipfs/tar-utils (v0.0.1 -> v0.0.2):
384
+ - Release v0.0.2 (#8) ([ipfs/tar-utils#8](https://github.com/ipfs/tar-utils/pull/8))
385
+ - sync: update CI config files ([ipfs/tar-utils#7](https://github.com/ipfs/tar-utils/pull/7))
386
+ - sync: update CI config files (#6) ([ipfs/tar-utils#6](https://github.com/ipfs/tar-utils/pull/6))
387
+ - allow .. in file and directory names ([ipfs/tar-utils#5](https://github.com/ipfs/tar-utils/pull/5))
388
+- github.com/ipld/go-car (v0.3.1 -> v0.3.2):
389
+ - Expose selector traversal options for SelectiveCar ([ipld/go-car#251](https://github.com/ipld/go-car/pull/251))
390
+ - Implement API to allow replacing root CIDs in a CARv1 or CARv2
391
+ - blockstore: OpenReadWrite should not modify if it refuses to resume
392
+ - clarify the relation between StoreIdentityCIDs and SetFullyIndexed
393
+ - Implement options to handle `IDENTITY` CIDs gracefully
394
+ - Combine API options for simplicity and logical coherence
395
+ - Add test script for car verify (#236) ([ipld/go-car#236](https://github.com/ipld/go-car/pull/236))
396
+ - cmd/car: add first testscript tests
397
+ - integrate `car/` cli into `cmd/car` (#233) ([ipld/go-car#233](https://github.com/ipld/go-car/pull/233))
398
+ - Add `car get-dag` command (#232) ([ipld/go-car#232](https://github.com/ipld/go-car/pull/232))
399
+ - Separate CLI to separate module (#231) ([ipld/go-car#231](https://github.com/ipld/go-car/pull/231))
400
+ - add `get block` to car cli (#230) ([ipld/go-car#230](https://github.com/ipld/go-car/pull/230))
401
+ - use file size when loading from v1 car (#229) ([ipld/go-car#229](https://github.com/ipld/go-car/pull/229))
402
+ - add interface describing iteration (#228) ([ipld/go-car#228](https://github.com/ipld/go-car/pull/228))
403
+ - Add `list` and `filter` commands (#227) ([ipld/go-car#227](https://github.com/ipld/go-car/pull/227))
404
+ - Add `car split` command (#226) ([ipld/go-car#226](https://github.com/ipld/go-car/pull/226))
405
+ - Make `MultihashIndexSorted` the default index codec for CARv2
406
+ - Add carve utility for updating the index of a car{v1,v2} file (#219) ([ipld/go-car#219](https://github.com/ipld/go-car/pull/219))
407
+ - Ignore records with `IDENTITY` CID in `IndexSorted`
408
+ - Fix index GetAll infinite loop if function always returns `true`
409
+ - Expose the ability to iterate over records in `MultihasIndexSorted`
410
+ - avoid another alloc per read byte
411
+ - avoid allocating on every byte read
412
+ - Implement new index type that also includes mutltihash code
413
+ - Return `nil` as Index reader when reading indexless CARv2
414
+ - Assert `OpenReader` from file does not panic after closure
415
+ - Document performance caveats of `ExtractV1File` and address comments
416
+ - Implement utility to extract CARv1 from a CARv2
417
+ - v2/blockstore: add ReadWrite.Discard
418
+ - update LICENSE files to point to the new gateway
419
+ - re-add root LICENSE file
420
+ - v2: stop using a symlink for LICENSE.md
421
+ - Update the readme with link to examples
422
+ - update package godocs and root level README for v2
423
+ - blockstore: stop embedding ReadOnly in ReadWrite
424
+ - Implement version agnostic streaming CAR block iterator
425
+ - blockstore: use errors when API contracts are broken
426
+ - add the first read-only benchmarks
427
+ - Implement reader block iterator over CARv1 or CARv2
428
+ - Propagate async `blockstore.AllKeysChan` errors via context
429
+ - Add zero-length sections as EOF option to internal CARv1 reader
430
+ - Improve error handing in tests
431
+ - Allow `ReadOption`s to be set when getting or generating index
432
+ - Use `ioutil.TempFile` to simplify file creation in index example
433
+ - Avoid writing to files in testdata
434
+ - blockstore: implement UseWholeCIDs
435
+ - Merge wip-v2 into master (#178) ([ipld/go-car#178](https://github.com/ipld/go-car/pull/178))
436
+- github.com/ipld/go-ipld-prime (v0.12.2 -> v0.14.2):
437
+ - dagcbor: coerce undef to null. ([ipld/go-ipld-prime#308](https://github.com/ipld/go-ipld-prime/pull/308))
438
+ - fluent: add toInterface (#304) ([ipld/go-ipld-prime#304](https://github.com/ipld/go-ipld-prime/pull/304))
439
+ - traversal: s/Walk/WalkLocal/
440
+ - traversal: add a primitive walk function.
441
+ - Remove dependency to `go-wish`
442
+ - mark v0.14.0
443
+ - ([ipld/go-ipld-prime#279](https://github.com/ipld/go-ipld-prime/pull/279))
444
+ - Port `traversal` package tests to quicktest
445
+ - Port `codec` package tests to quicktest
446
+ - changelog: backfill.
447
+ - Gracefully handle `TypedNode` with `nil` type of kind `Map`
448
+ - Gracefully print typed nodes with `nil` type
449
+ - Implement handling of `Link` and `[]byte` in `printer` (#294) ([ipld/go-ipld-prime#294](https://github.com/ipld/go-ipld-prime/pull/294))
450
+ - changelog: backfill for the v0.12.x series.
451
+ - readme: introduce a migration guide.
452
+ - Port `fluent` package tests to quicktest
453
+ - Port `datamodel` package tests to quicktest
454
+ - Port `adl` package tests to quicktest
455
+ - Port `node` package tests to quicktest
456
+ - node/bindnode: support links in ProduceGoTypes
457
+ - bump CI to Go 1.16 and 1.17
458
+ - node/bindnode: support links in schema-type verification
459
+ - node/bindnode: export ProduceGoTypes
460
+ - all: fix "an" typos after the ipld->datamodel refactor
461
+ - node/bindnode: fix test code after two PR merges
462
+ - add LoadSchema APIs to the root package
463
+ - storage: add 'Has' feature. ([ipld/go-ipld-prime#276](https://github.com/ipld/go-ipld-prime/pull/276))
464
+ - node/bindnode: start verifying schema compatibility
465
+ - linking: add LoadRaw and LoadPlusRaw functions to LinkSystem. ([ipld/go-ipld-prime#267](https://github.com/ipld/go-ipld-prime/pull/267))
466
+ - node/bindnode: add support for lists behind kinded unions
467
+ - node/bindnode: also run TestPrototype with just schemas
468
+ - node/bindnode: polish a few TODO panics away
469
+ - node/bindnode: add support for all scalars behind kinded unions
470
+ - node/bindnode: get closer to passing the Links schema tests
471
+ - start using Rod's schema tests from ipld/ipld
472
+ - fully support parsing, encoding, and decoding the schema-schema
473
+ - node/bindnode: add native support for cid.Cid
474
+ - A more Featureful Approach to Storage APIs ([ipld/go-ipld-prime#265](https://github.com/ipld/go-ipld-prime/pull/265))
475
+ - Add a cidlink.Memory storage option (#266) ([ipld/go-ipld-prime#266](https://github.com/ipld/go-ipld-prime/pull/266))
476
+ - Improve docs for AssignNode; and datamodel.Copy function. ([ipld/go-ipld-prime#264](https://github.com/ipld/go-ipld-prime/pull/264))
477
+ - schemadsl: assign the struct representation.
478
+ - schema,tests,gen/go: more tests, gen union fixes. ([ipld/go-ipld-prime#257](https://github.com/ipld/go-ipld-prime/pull/257))
479
+ - fix: deal with LinkRevisit->LinkVisitOnlyOnce change
480
+ - traversal: the link-visit-only-once behavior should require opt-in, rather than defaulting to on.
481
+ - chore: add LinkRevisit:false traversal test
482
+ - traversal: track seen links, and revisit only if configured to do so.
483
+ - fix: use datamodel.Node selectors
484
+ - Revert encode round-trip to leave unencoded node test intact
485
+ - Add more walk tests, including tests for use of SkipMe
486
+ - Round-trip test nodes through custom codec to ensure stability
487
+ - Don't abort block processing when encountering SkipMe
488
+ - traversal: implement monotonically decrementing budgets. ([ipld/go-ipld-prime#260](https://github.com/ipld/go-ipld-prime/pull/260))
489
+ - Use datamodel.Node for "Common" selector variants
490
+ - schema/dmt: first pass at a parser ([ipld/go-ipld-prime#253](https://github.com/ipld/go-ipld-prime/pull/253))
491
+ - drop codectools.
492
+ - drop jst codec. It lives in https://github.com/warpfork/go-jst/ now.
493
+ - drop dagjson2.
494
+ - fix(traversal): properly wrap errors
495
+ - printer: empty maps and lists and structs should stay on one line.
496
+ - schema: turn TypeName into an alias
497
+ - schema/dmt: sync with schema-schema changes, finish Compile
498
+ - schema: add ways to set and access the ImplicitValue for a struct field.
499
+ - schema: accessor for TypeEnum.Representation.
500
+ - schema: finish minimum viable support for describing enum types.
501
+- github.com/libp2p/go-conn-security-multistream (v0.2.1 -> v0.3.0):
502
+ - use the new SecureTransport and SecureMuxer interfaces (#36) ([libp2p/go-conn-security-multistream#36](https://github.com/libp2p/go-conn-security-multistream/pull/36))
503
+ - fix go vet and staticcheck ([libp2p/go-conn-security-multistream#33](https://github.com/libp2p/go-conn-security-multistream/pull/33))
504
+- github.com/libp2p/go-libp2p (v0.15.0 -> v0.16.0):
505
+ - release v0.16.0 ([libp2p/go-libp2p#1246](https://github.com/libp2p/go-libp2p/pull/1246))
506
+ - allow the ping protocol on transient connections ([libp2p/go-libp2p#1244](https://github.com/libp2p/go-libp2p/pull/1244))
507
+ - make the Type field required in the HolePunch protobuf ([libp2p/go-libp2p#1241](https://github.com/libp2p/go-libp2p/pull/1241))
508
+ - reject hole punching attempts when we don't have any public addresses ([libp2p/go-libp2p#1214](https://github.com/libp2p/go-libp2p/pull/1214))
509
+ - refactor the AutoRelay code ([libp2p/go-libp2p#1240](https://github.com/libp2p/go-libp2p/pull/1240))
510
+ - remove dead API link in README ([libp2p/go-libp2p#1233](https://github.com/libp2p/go-libp2p/pull/1233))
511
+ - pass static relays to EnableAutoRelay, deprecate libp2p.StaticRelays and libp2p.DefaultStaticRelays ([libp2p/go-libp2p#1239](https://github.com/libp2p/go-libp2p/pull/1239))
512
+ - feat: plumb through peerstore context changes (#1237) ([libp2p/go-libp2p#1237](https://github.com/libp2p/go-libp2p/pull/1237))
513
+ - emit the EvtPeerConnectednessChanged event ([libp2p/go-libp2p#1230](https://github.com/libp2p/go-libp2p/pull/1230))
514
+ - update go-libp2p-swarm to v0.7.0 ([libp2p/go-libp2p#1226](https://github.com/libp2p/go-libp2p/pull/1226))
515
+ - sync: update CI config files (#1225) ([libp2p/go-libp2p#1225](https://github.com/libp2p/go-libp2p/pull/1225))
516
+ - simplify circuitv2 package structure ([libp2p/go-libp2p#1224](https://github.com/libp2p/go-libp2p/pull/1224))
517
+ - use a random string for the mDNS peer-name ([libp2p/go-libp2p#1222](https://github.com/libp2p/go-libp2p/pull/1222))
518
+ - remove {Un}RegisterNotifee functions from mDNS service ([libp2p/go-libp2p#1220](https://github.com/libp2p/go-libp2p/pull/1220))
519
+ - fix structured logging in holepunch coordination ([libp2p/go-libp2p#1213](https://github.com/libp2p/go-libp2p/pull/1213))
520
+ - fix flaky TestStBackpressureStreamWrite test ([libp2p/go-libp2p#1212](https://github.com/libp2p/go-libp2p/pull/1212))
521
+ - properly close hosts in mDNS tests ([libp2p/go-libp2p#1216](https://github.com/libp2p/go-libp2p/pull/1216))
522
+ - close the ObserverAddrManager when the ID service is closed ([libp2p/go-libp2p#1218](https://github.com/libp2p/go-libp2p/pull/1218))
523
+ - make it possible to pass options to a transport constructor ([libp2p/go-libp2p#1205](https://github.com/libp2p/go-libp2p/pull/1205))
524
+ - remove goprocess from the NATManager ([libp2p/go-libp2p#1193](https://github.com/libp2p/go-libp2p/pull/1193))
525
+ - add an option to start the relay v2 ([libp2p/go-libp2p#1197](https://github.com/libp2p/go-libp2p/pull/1197))
526
+ - fix flaky TestFastDisconnect identify test ([libp2p/go-libp2p#1200](https://github.com/libp2p/go-libp2p/pull/1200))
527
+ - chore: update go-tcp-transport to v0.3.0 ([libp2p/go-libp2p#1203](https://github.com/libp2p/go-libp2p/pull/1203))
528
+ - fix: skip variadic params in constructors ([libp2p/go-libp2p#1204](https://github.com/libp2p/go-libp2p/pull/1204))
529
+ - fix flaky BasicHost tests ([libp2p/go-libp2p#1202](https://github.com/libp2p/go-libp2p/pull/1202))
530
+ - remove dependency on github.com/ipfs/go-detect-race ([libp2p/go-libp2p#1201](https://github.com/libp2p/go-libp2p/pull/1201))
531
+ - fix flaky TestEndToEndSimConnect holepunching test ([libp2p/go-libp2p#1191](https://github.com/libp2p/go-libp2p/pull/1191))
532
+ - autorelay support for circuitv2 relays (#1198) ([libp2p/go-libp2p#1198](https://github.com/libp2p/go-libp2p/pull/1198))
533
+ - reject circuitv2 reservations with nonsensical expiration times ([libp2p/go-libp2p#1199](https://github.com/libp2p/go-libp2p/pull/1199))
534
+ - Tag relay hops in relay implementations ([libp2p/go-libp2p#1188](https://github.com/libp2p/go-libp2p/pull/1188))
535
+ - Add standalone implementation of v1 Relay (#1186) ([libp2p/go-libp2p#1186](https://github.com/libp2p/go-libp2p/pull/1186))
536
+ - remove the context from the libp2p and the Host constructor ([libp2p/go-libp2p#1190](https://github.com/libp2p/go-libp2p/pull/1190))
537
+ - don't use a context to shut down the circuitv2 ([libp2p/go-libp2p#1185](https://github.com/libp2p/go-libp2p/pull/1185))
538
+ - fix: remove v1 go-log dep ([libp2p/go-libp2p#1189](https://github.com/libp2p/go-libp2p/pull/1189))
539
+ - don't use the context to shut down the relay ([libp2p/go-libp2p#1184](https://github.com/libp2p/go-libp2p/pull/1184))
540
+ - Use circuitv2 code (#1183) ([libp2p/go-libp2p#1183](https://github.com/libp2p/go-libp2p/pull/1183))
541
+ - clean up badges in README ([libp2p/go-libp2p#1179](https://github.com/libp2p/go-libp2p/pull/1179))
542
+ - remove recommendation about Go module proxy from README ([libp2p/go-libp2p#1180](https://github.com/libp2p/go-libp2p/pull/1180))
543
+ - merge branch 'hole-punching'
544
+ - don't use a context for closing the ObservedAddrManager ([libp2p/go-libp2p#1175](https://github.com/libp2p/go-libp2p/pull/1175))
545
+ - move the circuit v2 code here ([libp2p/go-libp2p#1174](https://github.com/libp2p/go-libp2p/pull/1174))
546
+ - make QUIC a default transport ([libp2p/go-libp2p#1128](https://github.com/libp2p/go-libp2p/pull/1128))
547
+ - stop using jbenet/go-cienv ([libp2p/go-libp2p#1176](https://github.com/libp2p/go-libp2p/pull/1176))
548
+ - fix flaky TestObsAddrSet test ([libp2p/go-libp2p#1172](https://github.com/libp2p/go-libp2p/pull/1172))
549
+ - clean up messy defer logic in IDService.sendIdentifyResp ([libp2p/go-libp2p#1169](https://github.com/libp2p/go-libp2p/pull/1169))
550
+ - remove secio from README, add noise ([libp2p/go-libp2p#1165](https://github.com/libp2p/go-libp2p/pull/1165))
551
+- github.com/libp2p/go-libp2p-asn-util (v0.0.0-20200825225859-85005c6cf052 -> v0.1.0):
552
+ - Update from upstream and make regeneration easier (#17) ([libp2p/go-libp2p-asn-util#17](https://github.com/libp2p/go-libp2p-asn-util/pull/17))
553
+ - add license file so it can be found by go-licenses ([libp2p/go-libp2p-asn-util#10](https://github.com/libp2p/go-libp2p-asn-util/pull/10))
554
+ - refactor: rename ASN table files ([libp2p/go-libp2p-asn-util#9](https://github.com/libp2p/go-libp2p-asn-util/pull/9))
555
+ - Library for IP -> ASN mapping ([libp2p/go-libp2p-asn-util#1](https://github.com/libp2p/go-libp2p-asn-util/pull/1))
556
+- github.com/libp2p/go-libp2p-autonat (v0.4.2 -> v0.6.0):
557
+ - Version 0.6.0 (#112) ([libp2p/go-libp2p-autonat#112](https://github.com/libp2p/go-libp2p-autonat/pull/112))
558
+ - feat: plumb through contexts from peerstore (#111) ([libp2p/go-libp2p-autonat#111](https://github.com/libp2p/go-libp2p-autonat/pull/111))
559
+ - sync: update CI config files (#110) ([libp2p/go-libp2p-autonat#110](https://github.com/libp2p/go-libp2p-autonat/pull/110))
560
+ - remove context from constructor, implement a proper Close method ([libp2p/go-libp2p-autonat#109](https://github.com/libp2p/go-libp2p-autonat/pull/109))
561
+ - fix stream deadlines ([libp2p/go-libp2p-autonat#107](https://github.com/libp2p/go-libp2p-autonat/pull/107))
562
+ - disable failing integration test ([libp2p/go-libp2p-autonat#108](https://github.com/libp2p/go-libp2p-autonat/pull/108))
563
+ - fix staticcheck ([libp2p/go-libp2p-autonat#103](https://github.com/libp2p/go-libp2p-autonat/pull/103))
564
+- github.com/libp2p/go-libp2p-core (v0.9.0 -> v0.11.0):
565
+ - release v0.11.0 (#217) ([libp2p/go-libp2p-core#217](https://github.com/libp2p/go-libp2p-core/pull/217))
566
+ - remove the ConnHandler (#214) ([libp2p/go-libp2p-core#214](https://github.com/libp2p/go-libp2p-core/pull/214))
567
+ - sync: update CI config files (#216) ([libp2p/go-libp2p-core#216](https://github.com/libp2p/go-libp2p-core/pull/216))
568
+ - remove the Process from the Network interface (#212) ([libp2p/go-libp2p-core#212](https://github.com/libp2p/go-libp2p-core/pull/212))
569
+ - pass the peer ID to SecureInbound in the SecureTransport and SecureMuxer (#211) ([libp2p/go-libp2p-core#211](https://github.com/libp2p/go-libp2p-core/pull/211))
570
+ - save the role (client, server) in the simultaneous connect context (#210) ([libp2p/go-libp2p-core#210](https://github.com/libp2p/go-libp2p-core/pull/210))
571
+ - sync: update CI config files (#209) ([libp2p/go-libp2p-core#209](https://github.com/libp2p/go-libp2p-core/pull/209))
572
+- github.com/libp2p/go-libp2p-discovery (v0.5.1 -> v0.6.0):
573
+ - feat: plumb peerstore contexts changes through (#75) ([libp2p/go-libp2p-discovery#75](https://github.com/libp2p/go-libp2p-discovery/pull/75))
574
+ - remove deprecated types ([libp2p/go-libp2p-discovery#73](https://github.com/libp2p/go-libp2p-discovery/pull/73))
575
+- github.com/libp2p/go-libp2p-kad-dht (v0.13.1 -> v0.15.0):
576
+ - Bump version to 0.15.0 (#755) ([libp2p/go-libp2p-kad-dht#755](https://github.com/libp2p/go-libp2p-kad-dht/pull/755))
577
+ - sync: update CI config files (#754) ([libp2p/go-libp2p-kad-dht#754](https://github.com/libp2p/go-libp2p-kad-dht/pull/754))
578
+ - feat: plumb through datastore contexts (#753) ([libp2p/go-libp2p-kad-dht#753](https://github.com/libp2p/go-libp2p-kad-dht/pull/753))
579
+ - custom ProviderManager that brokers AddrInfos (#751) ([libp2p/go-libp2p-kad-dht#751](https://github.com/libp2p/go-libp2p-kad-dht/pull/751))
580
+ - feat: make compatible with go-libp2p 0.15 ([libp2p/go-libp2p-kad-dht#747](https://github.com/libp2p/go-libp2p-kad-dht/pull/747))
581
+ - sync: update CI config files ([libp2p/go-libp2p-kad-dht#743](https://github.com/libp2p/go-libp2p-kad-dht/pull/743))
582
+ - Disallow GetPublicKey when DisableValues is passed ([libp2p/go-libp2p-kad-dht#604](https://github.com/libp2p/go-libp2p-kad-dht/pull/604))
583
+- github.com/libp2p/go-libp2p-nat (v0.0.6 -> v0.1.0):
584
+ - remove Codecov config file ([libp2p/go-libp2p-nat#39](https://github.com/libp2p/go-libp2p-nat/pull/39))
585
+ - stop using goprocess for shutdown ([libp2p/go-libp2p-nat#38](https://github.com/libp2p/go-libp2p-nat/pull/38))
586
+ - chore: update go-log ([libp2p/go-libp2p-nat#37](https://github.com/libp2p/go-libp2p-nat/pull/37))
587
+ - remove unused field permanent from mapping ([libp2p/go-libp2p-nat#33](https://github.com/libp2p/go-libp2p-nat/pull/33))
588
+- github.com/libp2p/go-libp2p-noise (v0.2.2 -> v0.3.0):
589
+ - add the peer ID to SecureInbound ([libp2p/go-libp2p-noise#104](https://github.com/libp2p/go-libp2p-noise/pull/104))
590
+ - update go-libp2p-core, remove integration test ([libp2p/go-libp2p-noise#102](https://github.com/libp2p/go-libp2p-noise/pull/102))
591
+- github.com/libp2p/go-libp2p-peerstore (v0.2.8 -> v0.4.0):
592
+ - Update version.json (#178) ([libp2p/go-libp2p-peerstore#178](https://github.com/libp2p/go-libp2p-peerstore/pull/178))
593
+ - limit the number of protocols we store per peer ([libp2p/go-libp2p-peerstore#172](https://github.com/libp2p/go-libp2p-peerstore/pull/172))
594
+ - sync: update CI config files (#177) ([libp2p/go-libp2p-peerstore#177](https://github.com/libp2p/go-libp2p-peerstore/pull/177))
595
+ - feat: plumb through datastore contexts (#176) ([libp2p/go-libp2p-peerstore#176](https://github.com/libp2p/go-libp2p-peerstore/pull/176))
596
+ - remove leftover peerstore implementation in the root package ([libp2p/go-libp2p-peerstore#173](https://github.com/libp2p/go-libp2p-peerstore/pull/173))
597
+ - fix: replace deprecated call ([libp2p/go-libp2p-peerstore#168](https://github.com/libp2p/go-libp2p-peerstore/pull/168))
598
+ - feat: remove queue ([libp2p/go-libp2p-peerstore#166](https://github.com/libp2p/go-libp2p-peerstore/pull/166))
599
+ - remove deprecated types ([libp2p/go-libp2p-peerstore#165](https://github.com/libp2p/go-libp2p-peerstore/pull/165))
600
+- github.com/libp2p/go-libp2p-pubsub (v0.5.4 -> v0.6.0):
601
+ - feat: plumb through context changes (#459) ([libp2p/go-libp2p-pubsub#459](https://github.com/libp2p/go-libp2p-pubsub/pull/459))
602
+ - support MinTopicSize without a discovery mechanism
603
+ - clear peerPromises map when fullfilling a promise
604
+ - README: remove obsolete notice, fix example code for tracing.
605
+ - remove peer filter check from subscriptions (#453) ([libp2p/go-libp2p-pubsub#453](https://github.com/libp2p/go-libp2p-pubsub/pull/453))
606
+ - Create peer filter option
607
+- github.com/libp2p/go-libp2p-pubsub-router (v0.4.0 -> v0.5.0):
608
+ - Version 0.5.0
609
+ - feat: plumb through datastore contexts
610
+ - sync: update CI config files (#86) ([libp2p/go-libp2p-pubsub-router#86](https://github.com/libp2p/go-libp2p-pubsub-router/pull/86))
611
+ - Remove arbitrary sleeps from tests ([libp2p/go-libp2p-pubsub-router#87](https://github.com/libp2p/go-libp2p-pubsub-router/pull/87))
612
+ - cleanup: fix staticcheck failures ([libp2p/go-libp2p-pubsub-router#84](https://github.com/libp2p/go-libp2p-pubsub-router/pull/84))
613
+ - Add WithDatastore option. ([libp2p/go-libp2p-pubsub-router#82](https://github.com/libp2p/go-libp2p-pubsub-router/pull/82))
614
+- github.com/libp2p/go-libp2p-quic-transport (v0.12.0 -> v0.15.0):
615
+ - release v0.15.0 (#241) ([libp2p/go-libp2p-quic-transport#241](https://github.com/libp2p/go-libp2p-quic-transport/pull/241))
616
+ - reuse the same router until we change listeners ([libp2p/go-libp2p-quic-transport#240](https://github.com/libp2p/go-libp2p-quic-transport/pull/240))
617
+ - release v0.14.0 ([libp2p/go-libp2p-quic-transport#237](https://github.com/libp2p/go-libp2p-quic-transport/pull/237))
618
+ - fix error assertions in the tracer ([libp2p/go-libp2p-quic-transport#234](https://github.com/libp2p/go-libp2p-quic-transport/pull/234))
619
+ - sync: update CI config files (#235) ([libp2p/go-libp2p-quic-transport#235](https://github.com/libp2p/go-libp2p-quic-transport/pull/235))
620
+ - read the client option from the simultaneous connect context ([libp2p/go-libp2p-quic-transport#230](https://github.com/libp2p/go-libp2p-quic-transport/pull/230))
621
+- github.com/libp2p/go-libp2p-swarm (v0.5.3 -> v0.8.0):
622
+ - Version 0.8.0 (#292) ([libp2p/go-libp2p-swarm#292](https://github.com/libp2p/go-libp2p-swarm/pull/292))
623
+ - feat: plumb contexts through from peerstore (#290) ([libp2p/go-libp2p-swarm#290](https://github.com/libp2p/go-libp2p-swarm/pull/290))
624
+ - release v0.7.0 ([libp2p/go-libp2p-swarm#289](https://github.com/libp2p/go-libp2p-swarm/pull/289))
625
+ - update go-tcp-transport to v0.4.0 ([libp2p/go-libp2p-swarm#287](https://github.com/libp2p/go-libp2p-swarm/pull/287))
626
+ - remove the ConnHandler ([libp2p/go-libp2p-swarm#286](https://github.com/libp2p/go-libp2p-swarm/pull/286))
627
+ - sync: update CI config files (#288) ([libp2p/go-libp2p-swarm#288](https://github.com/libp2p/go-libp2p-swarm/pull/288))
628
+ - remove a lot of incorrect statements from the README ([libp2p/go-libp2p-swarm#284](https://github.com/libp2p/go-libp2p-swarm/pull/284))
629
+ - unexport the DialSync ([libp2p/go-libp2p-swarm#281](https://github.com/libp2p/go-libp2p-swarm/pull/281))
630
+ - add an error return value to the constructor ([libp2p/go-libp2p-swarm#280](https://github.com/libp2p/go-libp2p-swarm/pull/280))
631
+ - use functional options to configure the swarm ([libp2p/go-libp2p-swarm#279](https://github.com/libp2p/go-libp2p-swarm/pull/279))
632
+ - stop using goprocess to control teardown ([libp2p/go-libp2p-swarm#278](https://github.com/libp2p/go-libp2p-swarm/pull/278))
633
+ - read and use the direction from the simultaneous connect context ([libp2p/go-libp2p-swarm#277](https://github.com/libp2p/go-libp2p-swarm/pull/277))
634
+ - simplify the DialSync code ([libp2p/go-libp2p-swarm#272](https://github.com/libp2p/go-libp2p-swarm/pull/272))
635
+ - remove redundant self-dialing check, simplify starting of dialWorkerLoop ([libp2p/go-libp2p-swarm#273](https://github.com/libp2p/go-libp2p-swarm/pull/273))
636
+ - add a test case for the testing package ([libp2p/go-libp2p-swarm#276](https://github.com/libp2p/go-libp2p-swarm/pull/276))
637
+ - simplify limiter by removing the injected isFdConsumingFnc ([libp2p/go-libp2p-swarm#274](https://github.com/libp2p/go-libp2p-swarm/pull/274))
638
+ - update badges ([libp2p/go-libp2p-swarm#271](https://github.com/libp2p/go-libp2p-swarm/pull/271))
639
+ - remove unused context in Swarm.dialWorkerLoop ([libp2p/go-libp2p-swarm#268](https://github.com/libp2p/go-libp2p-swarm/pull/268))
640
+ - remove Codecov config ([libp2p/go-libp2p-swarm#270](https://github.com/libp2p/go-libp2p-swarm/pull/270))
641
+ - fix race condition in TestFailFirst ([libp2p/go-libp2p-swarm#269](https://github.com/libp2p/go-libp2p-swarm/pull/269))
642
+- github.com/libp2p/go-libp2p-testing (v0.4.2 -> v0.5.0):
643
+ - chore: update go-libp2p-core to v0.10.0 ([libp2p/go-libp2p-testing#38](https://github.com/libp2p/go-libp2p-testing/pull/38))
644
+ - sync: update CI config files (#37) ([libp2p/go-libp2p-testing#37](https://github.com/libp2p/go-libp2p-testing/pull/37))
645
+- github.com/libp2p/go-libp2p-tls (v0.2.0 -> v0.3.1):
646
+ - release v0.3.1 ([libp2p/go-libp2p-tls#101](https://github.com/libp2p/go-libp2p-tls/pull/101))
647
+ - set a random certificate subject ([libp2p/go-libp2p-tls#100](https://github.com/libp2p/go-libp2p-tls/pull/100))
648
+ - sync: update CI config files (#96) ([libp2p/go-libp2p-tls#96](https://github.com/libp2p/go-libp2p-tls/pull/96))
649
+ - add the peer ID to SecureInbound ([libp2p/go-libp2p-tls#94](https://github.com/libp2p/go-libp2p-tls/pull/94))
650
+ - sync: update CI config files ([libp2p/go-libp2p-tls#91](https://github.com/libp2p/go-libp2p-tls/pull/91))
651
+- github.com/libp2p/go-libp2p-transport-upgrader (v0.4.6 -> v0.5.0):
652
+ - increase timeout in TestConnectionsClosedIfNotAccepted on CI ([libp2p/go-libp2p-transport-upgrader#85](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/85))
653
+ - add the peer ID to SecureInbound ([libp2p/go-libp2p-transport-upgrader#83](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/83))
654
+- github.com/libp2p/go-msgio (v0.0.6 -> v0.1.0):
655
+ - sync: update CI config files (#27) ([libp2p/go-msgio#27](https://github.com/libp2p/go-msgio/pull/27))
656
+ - remove .gxignore file ([libp2p/go-msgio#24](https://github.com/libp2p/go-msgio/pull/24))
657
+ - remove Codecov config ([libp2p/go-msgio#26](https://github.com/libp2p/go-msgio/pull/26))
658
+ - remove "Chan" type ([libp2p/go-msgio#23](https://github.com/libp2p/go-msgio/pull/23))
659
+- github.com/libp2p/go-nat (v0.0.5 -> v0.1.0):
660
+ - pass a context to DiscoverGateway ([libp2p/go-nat#23](https://github.com/libp2p/go-nat/pull/23))
661
+- github.com/libp2p/go-reuseport (v0.0.2 -> v0.1.0):
662
+ - stop using github.com/pkg/errors ([libp2p/go-reuseport#85](https://github.com/libp2p/go-reuseport/pull/85))
663
+ - sync: update CI config files (#84) ([libp2p/go-reuseport#84](https://github.com/libp2p/go-reuseport/pull/84))
664
+- github.com/libp2p/go-reuseport-transport (v0.0.5 -> v0.1.0):
665
+ - remove Codecov config file ([libp2p/go-reuseport-transport#36](https://github.com/libp2p/go-reuseport-transport/pull/36))
666
+ - chore: update go-log to v2 ([libp2p/go-reuseport-transport#35](https://github.com/libp2p/go-reuseport-transport/pull/35))
667
+ - sync: update CI config files ([libp2p/go-reuseport-transport#31](https://github.com/libp2p/go-reuseport-transport/pull/31))
668
+- github.com/libp2p/go-tcp-transport (v0.2.8 -> v0.4.0):
669
+ - release v0.4.0 ([libp2p/go-tcp-transport#108](https://github.com/libp2p/go-tcp-transport/pull/108))
670
+ - sync: update CI config files (#107) ([libp2p/go-tcp-transport#107](https://github.com/libp2p/go-tcp-transport/pull/107))
671
+ - remove the deprecated IPFS_REUSEPORT command line flag ([libp2p/go-tcp-transport#104](https://github.com/libp2p/go-tcp-transport/pull/104))
672
+ - add options to the constructor ([libp2p/go-tcp-transport#99](https://github.com/libp2p/go-tcp-transport/pull/99))
673
+ - remove the context from the libp2p constructor in README ([libp2p/go-tcp-transport#101](https://github.com/libp2p/go-tcp-transport/pull/101))
674
+ - don't use libp2p.ChainOption in README ([libp2p/go-tcp-transport#102](https://github.com/libp2p/go-tcp-transport/pull/102))
675
+ - remove incorrect statement about dns addresses in README ([libp2p/go-tcp-transport#100](https://github.com/libp2p/go-tcp-transport/pull/100))
676
+ - use the assigned role when upgrading a sim open connection ([libp2p/go-tcp-transport#95](https://github.com/libp2p/go-tcp-transport/pull/95))
677
+ - chore: update go-log to v2 ([libp2p/go-tcp-transport#97](https://github.com/libp2p/go-tcp-transport/pull/97))
678
+ - simplify dial timeout context ([libp2p/go-tcp-transport#94](https://github.com/libp2p/go-tcp-transport/pull/94))
679
+- github.com/libp2p/go-yamux/v2 (v2.2.0 -> v2.3.0):
680
+ - limit the number of concurrent incoming streams ([libp2p/go-yamux#66](https://github.com/libp2p/go-yamux/pull/66))
681
+ - drastically reduce allocations in ring buffer implementation (#64) ([libp2p/go-yamux#64](https://github.com/libp2p/go-yamux/pull/64))
682
+ - sync: update CI config files (#63) ([libp2p/go-yamux#63](https://github.com/libp2p/go-yamux/pull/63))
683
+ - remove call to asyncNotify in Stream.Read
684
+- github.com/libp2p/zeroconf/v2 (v2.0.0 -> v2.1.1):
685
+ - fix flaky TTL test ([libp2p/zeroconf#18](https://github.com/libp2p/zeroconf/pull/18))
686
+ - implement a clean shutdown of the probe method ([libp2p/zeroconf#16](https://github.com/libp2p/zeroconf/pull/16))
687
+ - remove dependency on the backoff library ([libp2p/zeroconf#17](https://github.com/libp2p/zeroconf/pull/17))
688
+ - Don't stop browsing after ~15min ([libp2p/zeroconf#13](https://github.com/libp2p/zeroconf/pull/13))
689
+ - fix delays when sending initial probe packets ([libp2p/zeroconf#14](https://github.com/libp2p/zeroconf/pull/14))
690
+ - improve starting of mDNS service in tests, stop using pkg/errors ([libp2p/zeroconf#15](https://github.com/libp2p/zeroconf/pull/15))
691
+ - update import path to include v2 in README ([libp2p/zeroconf#11](https://github.com/libp2p/zeroconf/pull/11))
692
+- github.com/lucas-clemente/quic-go (v0.23.0 -> v0.24.0):
693
+ - don't unlock the receive stream mutex for copying from STREAM frames ([lucas-clemente/quic-go#3290](https://github.com/lucas-clemente/quic-go/pull/3290))
694
+ - List projects using quic-go ([lucas-clemente/quic-go#3266](https://github.com/lucas-clemente/quic-go/pull/3266))
695
+ - disable Path MTU Discovery on Windows ([lucas-clemente/quic-go#3276](https://github.com/lucas-clemente/quic-go/pull/3276))
696
+ - enter the regular run loop if no undecryptable packet was processed ([lucas-clemente/quic-go#3268](https://github.com/lucas-clemente/quic-go/pull/3268))
697
+ - Allow use of custom port value in Alt-Svc header. ([lucas-clemente/quic-go#3272](https://github.com/lucas-clemente/quic-go/pull/3272))
698
+ - disable the goconst linter ([lucas-clemente/quic-go#3286](https://github.com/lucas-clemente/quic-go/pull/3286))
699
+ - use x/net/ipv{4,6} to construct oob info when writing packets (#3278) ([lucas-clemente/quic-go#3278](https://github.com/lucas-clemente/quic-go/pull/3278))
700
+ - run gofmt to add the new go:build tags ([lucas-clemente/quic-go#3277](https://github.com/lucas-clemente/quic-go/pull/3277))
701
+ - fix log string in client example ([lucas-clemente/quic-go#3264](https://github.com/lucas-clemente/quic-go/pull/3264))
702
+- github.com/multiformats/go-multiaddr (v0.4.0 -> v0.4.1):
703
+ - add the plaintextv2 protocol ([multiformats/go-multiaddr#165](https://github.com/multiformats/go-multiaddr/pull/165))
704
+- github.com/multiformats/go-multihash (v0.0.15 -> v0.1.0):
705
+ - bump version to v0.1.0 ([multiformats/go-multihash#151](https://github.com/multiformats/go-multihash/pull/151))
706
+ - add version.json per tooling convention.
707
+ - murmur3 support (#150) ([multiformats/go-multihash#150](https://github.com/multiformats/go-multihash/pull/150))
708
+ - Add variations of sha2 ([multiformats/go-multihash#149](https://github.com/multiformats/go-multihash/pull/149))
709
+ - don't use pointers for Multihash.String
710
+ - Add blake3 hash and sharness tests ([multiformats/go-multihash#147](https://github.com/multiformats/go-multihash/pull/147))
711
+ - remove Makefile ([multiformats/go-multihash#142](https://github.com/multiformats/go-multihash/pull/142))
712
+ - fix staticcheck ([multiformats/go-multihash#141](https://github.com/multiformats/go-multihash/pull/141))
713
+ - New SumStream function reads from io.Reader ([multiformats/go-multihash#138](https://github.com/multiformats/go-multihash/pull/138))
714
+- github.com/warpfork/go-testmark (v0.3.0 -> v0.9.0):
715
+ - testexec: will now always set up tmpdirs.
716
+ - testexec: fix typo in error message.
717
+ - testexec: subtest ("then-*") feature ([warpfork/go-testmark#7](https://github.com/warpfork/go-testmark/pull/7))
718
+ - testexec: quote error from child; attribution better via more t.Helper.
719
+ - Improve documentation of format.
720
+ - Rename Hunk.BlockTag -> InfoString.
721
+ - testexec: will now create tmpdirs and files for you if you have an 'fs' entry tree.
722
+ - testexec: getting exit codes correctly. ([warpfork/go-testmark#6](https://github.com/warpfork/go-testmark/pull/6))
723
+ - fix parsing CRLF files, part 3 ([warpfork/go-testmark#5](https://github.com/warpfork/go-testmark/pull/5))
724
+ - fix parsing CRLF files, part 2 ([warpfork/go-testmark#4](https://github.com/warpfork/go-testmark/pull/4))
725
+ - testexec: support both simple sequence and script mode.
726
+ - Proper tests for read function.
727
+ - avoid creeping extra linebreaks at the end of a patched document.
728
+ - refrain from making double linebreaks when patching with content that ends in a linebreak.
729
+ - Merge branch 'testexec'
730
+ - add support for parsing CRLF line endings ([warpfork/go-testmark#3](https://github.com/warpfork/go-testmark/pull/3))
731
+ - link to patch example code
732
+ - More readme; and, parsing recommendations document.
733
+ - Further improve readme.
734
+
735
+### ❤️ Contributors
736
+
737
+| Contributor | Commits | Lines ± | Files Changed |
738
+|-------------|---------|---------|---------------|
739
+| Will | 13 | +73226/-130481 | 43 |
740
+| Masih H. Derkani | 99 | +10549/-5799 | 489 |
741
+| hannahhoward | 43 | +5515/-3293 | 233 |
742
+| Daniel Martí | 60 | +5312/-2883 | 208 |
743
+| Marten Seemann | 175 | +4839/-3254 | 396 |
744
+| Eric Myhre | 73 | +3924/-3328 | 175 |
745
+| Jessica Schilling | 52 | +2709/-2386 | 75 |
746
+| Rod Vagg | 30 | +2719/-1703 | 79 |
747
+| vyzo | 10 | +3516/-177 | 87 |
748
+| Gus Eggert | 64 | +1677/-1416 | 147 |
749
+| Adin Schmahmann | 23 | +1708/-381 | 95 |
750
+| Lucas Molas | 14 | +1557/-365 | 48 |
751
+| Will Scott | 7 | +1846/-15 | 34 |
752
+| Steven Allen | 32 | +537/-897 | 56 |
753
+| Cory Schwartz | 3 | +614/-109 | 12 |
754
+| rht | 3 | +576/-4 | 7 |
755
+| Simon Zhu | 9 | +352/-51 | 16 |
756
+| Petar Maymounkov | 7 | +173/-167 | 23 |
757
+| RubenKelevra | 1 | +107/-188 | 1 |
758
+| jwh | 2 | +212/-80 | 7 |
759
+| longfeiW | 1 | +4/-249 | 10 |
760
+| guseggert | 5 | +230/-21 | 11 |
761
+| Kevin Neaton | 8 | +137/-80 | 13 |
762
+| Takashi Matsuda | 1 | +199/-0 | 5 |
763
+| Andrey Kostakov | 1 | +107/-49 | 2 |
764
+| Jesse Bouwman | 1 | +151/-0 | 7 |
765
+| web3-bot | 39 | +136/-3 | 52 |
766
+| Marcin Rataj | 16 | +62/-57 | 25 |
767
+| Marco Munizaga | 1 | +118/-0 | 2 |
768
+| Aaron Riekenberg | 4 | +64/-52 | 6 |
769
+| Ian Davis | 4 | +81/-32 | 7 |
770
+| Jorropo | 2 | +79/-19 | 6 |
771
+| Mohsin Zaidi | 1 | +89/-1 | 20 |
772
+| Andey Robins | 1 | +70/-3 | 3 |
773
+| gammazero | 3 | +40/-25 | 4 |
774
+| Steve Loeppky | 2 | +26/-27 | 3 |
775
+| Dimitris Apostolou | 1 | +25/-25 | 15 |
776
+| Sudarshan Reddy | 1 | +9/-40 | 1 |
777
+| Richard Littauer | 2 | +42/-1 | 3 |
778
+| pymq | 1 | +32/-8 | 2 |
779
+| Dirk McCormick | 2 | +23/-1 | 2 |
780
+| Nicholas Bollweg | 1 | +21/-0 | 1 |
781
+| anorth | 1 | +14/-6 | 2 |
782
+| Jack Loughran | 1 | +16/-0 | 2 |
783
+| whyrusleeping | 2 | +11/-2 | 2 |
784
+| bt90 | 1 | +13/-0 | 1 |
785
+| Yi Cao | 1 | +10/-0 | 1 |
786
+| Max | 1 | +7/-3 | 1 |
787
+| Juan Batiz-Benet | 2 | +8/-2 | 2 |
788
+| Keenan Nemetz | 1 | +8/-0 | 1 |
789
+| muXxer | 1 | +3/-3 | 1 |
790
+| galargh | 2 | +3/-3 | 3 |
791
+| Didrik Nordström | 1 | +2/-4 | 1 |
792
+| Ben Lubar | 1 | +3/-3 | 1 |
793
+| arjunraghurama | 1 | +5/-0 | 1 |
794
+| Whyrusleeping | 1 | +3/-2 | 1 |
795
+| TUSF | 1 | +3/-2 | 3 |
796
+| mathew-cf | 1 | +3/-1 | 2 |
797
+| Stephen Whitmore | 1 | +2/-2 | 1 |
798
+| Song Zhu | 1 | +2/-2 | 1 |
799
+| Michael Muré | 1 | +4/-0 | 1 |
800
+| Alex Good | 1 | +4/-0 | 2 |
801
+| aarshkshah1992 | 1 | +2/-1 | 1 |
802
+| susarlanikhilesh | 1 | +1/-1 | 1 |
803
+| falstack | 1 | +1/-1 | 1 |
804
+| Michael Vorburger ⛑️ | 1 | +1/-1 | 1 |
805
+| Ismail Khoffi | 1 | +1/-1 | 1 |
806
+| George Xie | 1 | +1/-1 | 1 |
807
+| Bryan Stenson | 1 | +1/-1 | 1 |
808
+| Lars Gierth | 1 | +1/-0 | 1 |
809
+
810
## v0.10.0 2021-09-30
811
812
We're happy to announce go-ipfs 0.10.0. This release brings some big changes to the IPLD internals of go-ipfs that make working with non-UnixFS DAGs easier than ever. There are also a variety of new commands and configuration options available.