ipfs / kubo

An IPFS implementation in Go
https://docs.ipfs.tech/how-to/command-line-quick-start/
Other
16.19k stars 3.02k forks source link

Release v0.10 #8176

Closed BigLep closed 3 years ago

BigLep commented 3 years ago

go-ipfs 0.10.0 Release

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.

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 for details.

πŸ›  TLDR: BREAKING CHANGES

Keep reading to learn more details.

πŸ”¦ Highlights

🌲 IPLD Levels Up

The handling of data serialization as well as many aspects of DAG traversal and pathing have been migrated from older libraries, including go-merkledag and go-ipld-format to the new go-ipld-prime library and its components. This allows us to use many of the newer tools afforded by go-ipld-prime, stricter and more uniform codec implementations, support for additional (pluggable) codecs, and some minor performance improvements.

This is significant refactor of a core component that touches many parts of IPFS, and does come with some breaking changes:

β“‚ Multibase Command

go-ipfs now provides utility commands for working with multibase:

$ echo -n hello | ipfs multibase encode -b base16 > file-mbase16
$ cat file-mbase16
f68656c6c6f

$ ipfs multibase decode file-mbase16
hello

$ cat file-mbase16 | ipfs multibase decode
hello

$ ipfs multibase transcode -b base2 file-mbase16
00110100001100101011011000110110001101111

See ipfs multibase --help for more examples.

πŸ”¨ Bitswap now supports greater configurability

This release adds an Internal section to the configuration file that is designed to help advanced users optimize their setups without needing a custom binary. The Internal section is not guaranteed to be the same from release to release and may not be covered by migrations. If you use the Internal section you should be making sure to check the config documentation between releases for any changes.

🐚 Programmatic shell completions command

ipfs commands completion bash will generate a bash completion script for go-ipfs commands

πŸ“œ Profile collection command

Performance profiles can now be collected using ipfs diag profile. If you need to do some debugging or have an issue to submit the collected profiles are very useful to have around.

🍎 Mac OS notarized binaries

The go-ipfs and related migration binaries (for both Intel and Apple Sillicon) are now signed and notarized to make Mac OS installation easier.

πŸ‘¨β€πŸ‘©β€πŸ‘¦ Improved MDNS

There is a completed implementation of the revised libp2p MDNS spec. This should result in better MDNS discovery and better local/offline operation as a result.

πŸš— CAR import statistics

dag import command now supports --stats option which will include the number of imported blocks and their total size in the output.

πŸ•Έ Peering command

This release adds swarm peering command for easy management of the peering subsystem. Peer in the peering subsystem is maintained to be connected at all times, and gets reconnected on disconnect with a back-off.

See ipfs swarm peering --help for more details.

βœ… Release Checklist

For each RC published in each stage:

Checklist:

⁉️ Do you have questions?

The best place to ask your questions about IPFS, how it works and what you can do with it is at discuss.ipfs.io. We are also available at the #lobby:ipfs.io Matrix channel which is bridged with other chat platforms.

eminence commented 3 years ago

improvements that will enable us to release faster with more effort.

more effort, or less effort?

BigLep commented 3 years ago

@eminence : doh - fixed - thanks!

aschmahmann commented 3 years ago

Changelog

Full Changelog - github.com/ipfs/go-ipfs: - fuse: load unixfs adls as their dagpb substrates - enable the legacy mDNS implementation - test: add dag get --ouput-codec test - change ipfs dag get flag name from format to output-codec - test: check behavior of loading UnixFS sharded directories with missing shards - remove dag put option shortcuts - change names of ipfs dag put flags to make changes clearer - feat: dag import --stats (#8237) ([ipfs/go-ipfs#8237](https://github.com/ipfs/go-ipfs/pull/8237)) - feat: ipfs-webui v2.13.0 (#8430) ([ipfs/go-ipfs#8430](https://github.com/ipfs/go-ipfs/pull/8430)) - feat(cli): add daemon option --agent-version-suffix (#8419) ([ipfs/go-ipfs#8419](https://github.com/ipfs/go-ipfs/pull/8419)) - feat: multibase transcode command (#8403) ([ipfs/go-ipfs#8403](https://github.com/ipfs/go-ipfs/pull/8403)) - fix: take the lock while listing peers - feature: 'ipfs swarm peering' command (#8147) ([ipfs/go-ipfs#8147](https://github.com/ipfs/go-ipfs/pull/8147)) - fix(sharness): add extra check in flush=false in files write - chore: update IPFS Desktop testing steps (#8393) ([ipfs/go-ipfs#8393](https://github.com/ipfs/go-ipfs/pull/8393)) - add more buttons; remove some sections covered in the docs; general cleanup - Cosmetic fixups in examples (#8325) ([ipfs/go-ipfs#8325](https://github.com/ipfs/go-ipfs/pull/8325)) - perf: use performance-enhancing FUSE mount options - ci: publish Docker images for bifrost-* branches - chore: add comments to peerlog plugin about being unsupported - test: add unit tests for peerlog config parsing - ci: preload peerlog plugin, disable by default - fix(mkreleaselog): specify the parent commit when diffing - update go-libp2p to v0.15.0-rc.1 ([ipfs/go-ipfs#8354](https://github.com/ipfs/go-ipfs/pull/8354)) - feat: add 'ipfs multibase' commands (#8180) ([ipfs/go-ipfs#8180](https://github.com/ipfs/go-ipfs/pull/8180)) - support bitswap configurability (#8268) ([ipfs/go-ipfs#8268](https://github.com/ipfs/go-ipfs/pull/8268)) - IPLD Prime In IPFS: Target Merge Branch (#7976) ([ipfs/go-ipfs#7976](https://github.com/ipfs/go-ipfs/pull/7976)) - ci: upgrade to Go 1.16.7 on CI ([ipfs/go-ipfs#8324](https://github.com/ipfs/go-ipfs/pull/8324)) - Add flag to create parent directories in files cp command ([ipfs/go-ipfs#8340](https://github.com/ipfs/go-ipfs/pull/8340)) - fix: avoid out of bounds error when rendering short hashes ([ipfs/go-ipfs#8318](https://github.com/ipfs/go-ipfs/pull/8318)) - fix: remove some deprecated calls ([ipfs/go-ipfs#8296](https://github.com/ipfs/go-ipfs/pull/8296)) - perf: set an appropriate capacity ([ipfs/go-ipfs#8244](https://github.com/ipfs/go-ipfs/pull/8244)) - Fix: Use a pointer type on IpfsNode.Peering ([ipfs/go-ipfs#8331](https://github.com/ipfs/go-ipfs/pull/8331)) - fix: macos notarized fs-repo-migrations (#8333) ([ipfs/go-ipfs#8333](https://github.com/ipfs/go-ipfs/pull/8333)) - README.md: Add MacPorts to install section ([ipfs/go-ipfs#8220](https://github.com/ipfs/go-ipfs/pull/8220)) - feat: register first block metric by default ([ipfs/go-ipfs#8332](https://github.com/ipfs/go-ipfs/pull/8332)) - Build a go-ipfs:extras docker image ([ipfs/go-ipfs#8142](https://github.com/ipfs/go-ipfs/pull/8142)) - fix/go-ipfs-as-a-library ([ipfs/go-ipfs#8266](https://github.com/ipfs/go-ipfs/pull/8266)) - Expose additional migration APIs (#8153) ([ipfs/go-ipfs#8153](https://github.com/ipfs/go-ipfs/pull/8153)) - point ipfs to pinner that syncs on every pin (#8231) ([ipfs/go-ipfs#8231](https://github.com/ipfs/go-ipfs/pull/8231)) - docs: chocolatey package name - Disambiguate online/offline naming in sharness tests ([ipfs/go-ipfs#8254](https://github.com/ipfs/go-ipfs/pull/8254)) - Rename DOCKER_HOST to TEST_DOCKER_HOST to avoid conflicts ([ipfs/go-ipfs#8283](https://github.com/ipfs/go-ipfs/pull/8283)) - feat: add an "ipfs diag profile" command ([ipfs/go-ipfs#8291](https://github.com/ipfs/go-ipfs/pull/8291)) - Merge branch 'release' - feat: improve mkreleaslog ([ipfs/go-ipfs#8290](https://github.com/ipfs/go-ipfs/pull/8290)) - Add test with expected failure for #3503 ([ipfs/go-ipfs#8280](https://github.com/ipfs/go-ipfs/pull/8280)) - Create PATCH_RELEASE_TEMPLATE.md - fix document error ([ipfs/go-ipfs#8271](https://github.com/ipfs/go-ipfs/pull/8271)) - feat: webui v2.12.4 - programmatic shell completions ([ipfs/go-ipfs#8043](https://github.com/ipfs/go-ipfs/pull/8043)) - test: gateway response for bafkqaaa - doc(README): update chat links (and misc fixes) ([ipfs/go-ipfs#8222](https://github.com/ipfs/go-ipfs/pull/8222)) - link to the actual doc (#8126) ([ipfs/go-ipfs#8126](https://github.com/ipfs/go-ipfs/pull/8126)) - Improve peer hints for pin remote add (#8143) ([ipfs/go-ipfs#8143](https://github.com/ipfs/go-ipfs/pull/8143)) - fix(mkreleaselog): support multiple commit authors ([ipfs/go-ipfs#8214](https://github.com/ipfs/go-ipfs/pull/8214)) - fix(mkreleaselog): handle commit 0 ([ipfs/go-ipfs#8121](https://github.com/ipfs/go-ipfs/pull/8121)) - bump snap to build with Go 1.16 - chore: update CHANGELOG - chore: switch tar-utils dep to ipfs org - feat: print error on bootstrap failure ([ipfs/go-ipfs#8166](https://github.com/ipfs/go-ipfs/pull/8166)) - fix: typo in migration error - refactor: improved humanNumber and humanSI - feat: humanized durations in stat provide - feat: humanized numbers in stat provide - feat: add a text output encoding for the stats provide command - fix: webui-2.12.3 - refactor(pinmfs): log error if pre-existing pin failed (#8056) ([ipfs/go-ipfs#8056](https://github.com/ipfs/go-ipfs/pull/8056)) - config.md: fix typos/improve wording ([ipfs/go-ipfs#8031](https://github.com/ipfs/go-ipfs/pull/8031)) - fix(peering_test) : Fix the peering_test to check the connection explicitly added ([ipfs/go-ipfs#8140](https://github.com/ipfs/go-ipfs/pull/8140)) - build: ignore generated files in changelog ([ipfs/go-ipfs#7712](https://github.com/ipfs/go-ipfs/pull/7712)) - update version to 0.10.0-dev ([ipfs/go-ipfs#8136](https://github.com/ipfs/go-ipfs/pull/8136)) - github.com/ipfs/go-bitswap (v0.3.4 -> v0.4.0): - More stats, knobs and tunings (#514) ([ipfs/go-bitswap#514](https://github.com/ipfs/go-bitswap/pull/514)) - fix: fix a map access race condition in the want index ([ipfs/go-bitswap#523](https://github.com/ipfs/go-bitswap/pull/523)) - fix: make blockstore cancel test less timing dependent ([ipfs/go-bitswap#507](https://github.com/ipfs/go-bitswap/pull/507)) - fix(decision): fix a datarace on disconnect ([ipfs/go-bitswap#508](https://github.com/ipfs/go-bitswap/pull/508)) - optimize the lookup which peers are waiting for a given block ([ipfs/go-bitswap#486](https://github.com/ipfs/go-bitswap/pull/486)) - fix: hold the task worker lock when starting task workers ([ipfs/go-bitswap#504](https://github.com/ipfs/go-bitswap/pull/504)) - fix: Nil dereference while using SetSendDontHaves ([ipfs/go-bitswap#488](https://github.com/ipfs/go-bitswap/pull/488)) - Fix flaky tests in message queue ([ipfs/go-bitswap#497](https://github.com/ipfs/go-bitswap/pull/497)) - Fix flaky DontHaveTimeoutManger tests ([ipfs/go-bitswap#495](https://github.com/ipfs/go-bitswap/pull/495)) - sync: update CI config files ([ipfs/go-bitswap#485](https://github.com/ipfs/go-bitswap/pull/485)) - github.com/ipfs/go-blockservice (v0.1.4 -> v0.1.7): - update go-bitswap to v0.3.4 ([ipfs/go-blockservice#78](https://github.com/ipfs/go-blockservice/pull/78)) - fix staticcheck ([ipfs/go-blockservice#75](https://github.com/ipfs/go-blockservice/pull/75)) - fix: handle missing session exchange in Session ([ipfs/go-blockservice#73](https://github.com/ipfs/go-blockservice/pull/73)) - github.com/ipfs/go-datastore (v0.4.5 -> v0.4.6): - sync: update CI config files ([ipfs/go-datastore#175](https://github.com/ipfs/go-datastore/pull/175)) - speedup tests ([ipfs/go-datastore#177](https://github.com/ipfs/go-datastore/pull/177)) - test: reduce element count when the race detector is enabled ([ipfs/go-datastore#176](https://github.com/ipfs/go-datastore/pull/176)) - fix staticcheck ([ipfs/go-datastore#173](https://github.com/ipfs/go-datastore/pull/173)) - remove Makefile ([ipfs/go-datastore#172](https://github.com/ipfs/go-datastore/pull/172)) - github.com/ipfs/go-ds-badger (v0.2.6 -> v0.2.7): - Log start and end of GC rounds ([ipfs/go-ds-badger#115](https://github.com/ipfs/go-ds-badger/pull/115)) - github.com/ipfs/go-fs-lock (v0.0.6 -> v0.0.7): - chore: update log ([ipfs/go-fs-lock#24](https://github.com/ipfs/go-fs-lock/pull/24)) - sync: update CI config files ([ipfs/go-fs-lock#21](https://github.com/ipfs/go-fs-lock/pull/21)) - fix TestLockedByOthers on Windows ([ipfs/go-fs-lock#19](https://github.com/ipfs/go-fs-lock/pull/19)) - github.com/ipfs/go-ipfs-config (v0.14.0 -> v0.16.0): - feat: add Internal and Internal.Bitswap config options - feat: add an OptionalInteger type - fix: make sure the Priority type properly implements the JSON marshal/unmarshal interfaces - fix: remove deprecated calls ([ipfs/go-ipfs-config#138](https://github.com/ipfs/go-ipfs-config/pull/138)) - sync: update CI config files ([ipfs/go-ipfs-config#132](https://github.com/ipfs/go-ipfs-config/pull/132)) - remove period, fix staticcheck ([ipfs/go-ipfs-config#131](https://github.com/ipfs/go-ipfs-config/pull/131)) - github.com/ipfs/go-ipfs-pinner (v0.1.1 -> v0.1.2): - Fix/minimize rebuild (#15) ([ipfs/go-ipfs-pinner#15](https://github.com/ipfs/go-ipfs-pinner/pull/15)) - Define ErrNotPinned alongside the Pinner interface - fix staticcheck ([ipfs/go-ipfs-pinner#11](https://github.com/ipfs/go-ipfs-pinner/pull/11)) - fix: remove the rest of the pb backed pinner ([ipfs/go-ipfs-pinner#9](https://github.com/ipfs/go-ipfs-pinner/pull/9)) - Remove old ipldpinner that has been replaced by dspinner ([ipfs/go-ipfs-pinner#7](https://github.com/ipfs/go-ipfs-pinner/pull/7)) - optimize CheckIfPinned ([ipfs/go-ipfs-pinner#6](https://github.com/ipfs/go-ipfs-pinner/pull/6)) - github.com/ipfs/go-ipfs-provider (v0.5.1 -> v0.6.1): - Update to IPLD Prime (#32) ([ipfs/go-ipfs-provider#32](https://github.com/ipfs/go-ipfs-provider/pull/32)) - github.com/ipfs/go-ipld-git (v0.0.4 -> v0.1.1): - return ErrUnexpectedEOF when Decode input is too short - Update go-ipld-git to a go-ipld-prime codec (#46) ([ipfs/go-ipld-git#46](https://github.com/ipfs/go-ipld-git/pull/46)) - fix staticcheck ([ipfs/go-ipld-git#49](https://github.com/ipfs/go-ipld-git/pull/49)) - change WriteTo to the standard signature ([ipfs/go-ipld-git#47](https://github.com/ipfs/go-ipld-git/pull/47)) - don't copy mutexes ([ipfs/go-ipld-git#48](https://github.com/ipfs/go-ipld-git/pull/48)) - github.com/ipfs/go-ipns (v0.1.0 -> v0.1.2): - fix: remove deprecated calls ([ipfs/go-ipns#30](https://github.com/ipfs/go-ipns/pull/30)) - remove Makefile ([ipfs/go-ipns#27](https://github.com/ipfs/go-ipns/pull/27)) - github.com/ipfs/go-log/v2 (v2.1.3 -> v2.3.0): - Stop defaulting to color output on non-TTY ([ipfs/go-log#116](https://github.com/ipfs/go-log/pull/116)) - feat: add ability to use custom zap core ([ipfs/go-log#114](https://github.com/ipfs/go-log/pull/114)) - fix staticcheck ([ipfs/go-log#112](https://github.com/ipfs/go-log/pull/112)) - test: fix flaky label test ([ipfs/go-log#111](https://github.com/ipfs/go-log/pull/111)) - per-subsystem log-levels ([ipfs/go-log#109](https://github.com/ipfs/go-log/pull/109)) - fix: don't panic on invalid log labels ([ipfs/go-log#110](https://github.com/ipfs/go-log/pull/110)) - github.com/ipfs/go-merkledag (v0.3.2 -> v0.4.0): - Use IPLD-prime: target merge branch ([ipfs/go-merkledag#67](https://github.com/ipfs/go-merkledag/pull/67)) - sync: update CI config files ([ipfs/go-merkledag#70](https://github.com/ipfs/go-merkledag/pull/70)) - staticcheck ([ipfs/go-merkledag#69](https://github.com/ipfs/go-merkledag/pull/69)) - Fix bug in dagutils MergeDiffs. (#59) ([ipfs/go-merkledag#59](https://github.com/ipfs/go-merkledag/pull/59)) - chore: add tests to verify allowable data layouts ([ipfs/go-merkledag#58](https://github.com/ipfs/go-merkledag/pull/58)) - github.com/ipfs/go-namesys (v0.3.0 -> v0.3.1): - fix: remove deprecated call to pk.Bytes ([ipfs/go-namesys#19](https://github.com/ipfs/go-namesys/pull/19)) - github.com/ipfs/go-path (v0.0.9 -> v0.1.2): - fix: give one minute timeouts to function calls instead of block retrievals ([ipfs/go-path#44](https://github.com/ipfs/go-path/pull/44)) - IPLD Prime In IPFS: Target Merge Branch (#36) ([ipfs/go-path#36](https://github.com/ipfs/go-path/pull/36)) - remove Makefile ([ipfs/go-path#40](https://github.com/ipfs/go-path/pull/40)) - sync: update CI config files ([ipfs/go-path#39](https://github.com/ipfs/go-path/pull/39)) - github.com/ipfs/go-peertaskqueue (v0.2.0 -> v0.4.0): - add stats - Have a configurable maximum active work per peer ([ipfs/go-peertaskqueue#10](https://github.com/ipfs/go-peertaskqueue/pull/10)) - sync: update CI config files ([ipfs/go-peertaskqueue#13](https://github.com/ipfs/go-peertaskqueue/pull/13)) - fix staticcheck ([ipfs/go-peertaskqueue#12](https://github.com/ipfs/go-peertaskqueue/pull/12)) - fix go vet ([ipfs/go-peertaskqueue#11](https://github.com/ipfs/go-peertaskqueue/pull/11)) - github.com/ipfs/go-unixfsnode (null -> v1.1.3): - make UnixFSHAMTShard implement the ADL interface (#11) ([ipfs/go-unixfsnode#11](https://github.com/ipfs/go-unixfsnode/pull/11)) - github.com/ipfs/interface-go-ipfs-core (v0.4.0 -> v0.5.1): - IPLD In IPFS: Target Merge Branch (#67) ([ipfs/interface-go-ipfs-core#67](https://github.com/ipfs/interface-go-ipfs-core/pull/67)) - fix staticcheck ([ipfs/interface-go-ipfs-core#72](https://github.com/ipfs/interface-go-ipfs-core/pull/72)) - remove Makefile ([ipfs/interface-go-ipfs-core#70](https://github.com/ipfs/interface-go-ipfs-core/pull/70)) - github.com/ipld/go-codec-dagpb (v1.2.0 -> v1.3.0): - fix staticcheck warnings ([ipld/go-codec-dagpb#29](https://github.com/ipld/go-codec-dagpb/pull/29)) - update go-ipld-prime, use go:generate - allow decoding PBNode fields in any order - expose APIs without Reader/Writer overhead - preallocate 1KiB on the stack for marshals - encode directly with a []byte - decode directly with a []byte - remove unnecessary xerrors dep - github.com/ipld/go-ipld-prime (v0.9.1-0.20210324083106-dc342a9917db -> v0.12.2): - Printer feature ([ipld/go-ipld-prime#238](https://github.com/ipld/go-ipld-prime/pull/238)) - schema: keep TypeSystem names ordered - schema/dmt: redesign with bindnode and add Compile - codec: make cbor and json codecs use ErrUnexpectedEOF - bindnode: fix for stringjoin struct emission when first field is the empty string ([ipld/go-ipld-prime#239](https://github.com/ipld/go-ipld-prime/pull/239)) - schema: typekind names are not capitalized. - Bindnode fixes continued ([ipld/go-ipld-prime#233](https://github.com/ipld/go-ipld-prime/pull/233)) - helper methods for encoding and decoding ([ipld/go-ipld-prime#232](https://github.com/ipld/go-ipld-prime/pull/232)) - mark v0.12.0 - Major refactor: extract datamodel package. ([ipld/go-ipld-prime#228](https://github.com/ipld/go-ipld-prime/pull/228)) - Fix ExploreRecursive stopAt condition, add tests, add error return to Explore (#229) ([ipld/go-ipld-prime#229](https://github.com/ipld/go-ipld-prime/pull/229)) - selector: add tests which are driven by language-agnostic spec fixtures. ([ipld/go-ipld-prime#231](https://github.com/ipld/go-ipld-prime/pull/231)) - selector: Improve docs for implementors. (#227) ([ipld/go-ipld-prime#227](https://github.com/ipld/go-ipld-prime/pull/227)) - Bindnode fixes of opportunity ([ipld/go-ipld-prime#226](https://github.com/ipld/go-ipld-prime/pull/226)) - node/bindnode: redesign the shape of unions in Go ([ipld/go-ipld-prime#223](https://github.com/ipld/go-ipld-prime/pull/223)) - summary of the v0.11.0 changelog should holler even more about how cool bindnode is. - mark v0.11.0 - node/bindnode: mark as experimental in its godoc. - codecs: more docs, a terminology guide, consistency in options. ([ipld/go-ipld-prime#221](https://github.com/ipld/go-ipld-prime/pull/221)) - Changelog backfill. - selectors: docs enhancements, new construction helpers. ([ipld/go-ipld-prime#199](https://github.com/ipld/go-ipld-prime/pull/199)) - Changelog backfill. - Allow parsing of single Null tokens from refmt - Add link conditions for 'stop-at' expression in ExploreRecursive selector ([ipld/go-ipld-prime#214](https://github.com/ipld/go-ipld-prime/pull/214)) - Remove base64 padding for dag-json bytes as per spec - node/bindnode: temporarily skip Links schema test - test: add test for traversal of typed node links - fix: typed links LinkTargetNodePrototype should return ReferencedType - Make `go vet` happy - Add MapSortMode to MarshalOptions - Add {Unm,M}arshalOptions for explicit mode switching for cbor vs dagcbor - Sort map entries marshalling dag-cbor - node/bindnode: first pass at inferring IPLD schemas - Add {Unm,M}arshalOptions for explicit mode switching for json vs dagjson - Make tests pass with sorted dag-json output - Sort map entries marshalling dag-json - Simplify refmt usage - Fix failing test using dagjson encoding - Fix some failing tests using dagjson - Remove pretty-printing - Update readme linking to specs and meta repo. - Fix example names so they render on go.pkg.dev. - fluent/quip: remove in favor of qp - node/basic: add Chooser - schema: add TypedPrototype - node/bindnode: rethink and better document APIs - node/tests: cover yet more interface methods - node/tests: cover more error cases for scalar kinds - node/tests: add more extensive scalar kind tests - node/bindnode: start running all schema tests - mark v0.10.0 - More changelog grooming. - Changelog grooming. - node/tests: put most of the schema test cases here - Add more explicit discussion of indicies to ListIterator. - node/bindnode: start of a reflect-based Node implementation - add DeepEqual and start using it in tests - Add enumerate methods to the multicodec registries. ([ipld/go-ipld-prime#176](https://github.com/ipld/go-ipld-prime/pull/176)) - Make a multicodec.Registry type available. ([ipld/go-ipld-prime#172](https://github.com/ipld/go-ipld-prime/pull/172)) - fluent/qp: don't panic on string panics - Allow emitting & parsing of bytes per dagjson codec spec ([ipld/go-ipld-prime#166](https://github.com/ipld/go-ipld-prime/pull/166)) - Package docs for dag-cbor. - Update package docs. - schema/gen/go: apply gofmt automatically ([ipld/go-ipld-prime#163](https://github.com/ipld/go-ipld-prime/pull/163)) - schema/gen/go: fix remaining vet warnings on generated code - schema/gen/go: batch file writes via a bytes.Buffer ([ipld/go-ipld-prime#161](https://github.com/ipld/go-ipld-prime/pull/161)) - schema/gen/go: avoid Maybe pointers for small types - fix readme formatting typo - feat(linksystem): add reification to LinkSystem ([ipld/go-ipld-prime#158](https://github.com/ipld/go-ipld-prime/pull/158)) - github.com/libp2p/go-addr-util (v0.0.2 -> v0.1.0): - stop using the deprecated go-multiaddr-net package ([libp2p/go-addr-util#34](https://github.com/libp2p/go-addr-util/pull/34)) - Remove `IsFDCostlyTransport` ([libp2p/go-addr-util#31](https://github.com/libp2p/go-addr-util/pull/31)) - github.com/libp2p/go-libp2p (v0.14.3 -> v0.15.0): - chore: update go-tcp-transport to v0.2.8 - implement the new mDNS spec, move the old mDNS implementation (#1161) ([libp2p/go-libp2p#1161](https://github.com/libp2p/go-libp2p/pull/1161)) - remove deprecated basichost.New constructor ([libp2p/go-libp2p#1156](https://github.com/libp2p/go-libp2p/pull/1156)) - Make BasicHost.evtLocalAddrsUpdated event emitter stateful. ([libp2p/go-libp2p#1147](https://github.com/libp2p/go-libp2p/pull/1147)) - fix: deflake multipro echo test ([libp2p/go-libp2p#1149](https://github.com/libp2p/go-libp2p/pull/1149)) - fix(basic_host): stream not closed when context done ([libp2p/go-libp2p#1148](https://github.com/libp2p/go-libp2p/pull/1148)) - chore: update deps ([libp2p/go-libp2p#1141](https://github.com/libp2p/go-libp2p/pull/1141)) - remove secio from examples ([libp2p/go-libp2p#1143](https://github.com/libp2p/go-libp2p/pull/1143)) - remove deprecated Filter option ([libp2p/go-libp2p#1132](https://github.com/libp2p/go-libp2p/pull/1132)) - fix: remove deprecated call ([libp2p/go-libp2p#1136](https://github.com/libp2p/go-libp2p/pull/1136)) - test: fix flaky example test ([libp2p/go-libp2p#1135](https://github.com/libp2p/go-libp2p/pull/1135)) - remove deprecated identify.ClientVersion ([libp2p/go-libp2p#1133](https://github.com/libp2p/go-libp2p/pull/1133)) - remove Go version requirement and note about Go modules from README ([libp2p/go-libp2p#1126](https://github.com/libp2p/go-libp2p/pull/1126)) - Error assignment fix ([libp2p/go-libp2p#1124](https://github.com/libp2p/go-libp2p/pull/1124)) - perf/basic_host: Don't handle address change if we hasn't anyone ([libp2p/go-libp2p#1115](https://github.com/libp2p/go-libp2p/pull/1115)) - github.com/libp2p/go-libp2p-core (v0.8.5 -> v0.9.0): - feat: remove unused metrics (#208) ([libp2p/go-libp2p-core#208](https://github.com/libp2p/go-libp2p-core/pull/208)) - feat: keep addresses for longer (#207) ([libp2p/go-libp2p-core#207](https://github.com/libp2p/go-libp2p-core/pull/207)) - remove deprecated key stretching struct / function (#203) ([libp2p/go-libp2p-core#203](https://github.com/libp2p/go-libp2p-core/pull/203)) - remove deprecated Bytes method from the Key interface (#204) ([libp2p/go-libp2p-core#204](https://github.com/libp2p/go-libp2p-core/pull/204)) - remove deprecated functions in the peer package (#205) ([libp2p/go-libp2p-core#205](https://github.com/libp2p/go-libp2p-core/pull/205)) - remove deprecated constructor for the insecure transport (#206) ([libp2p/go-libp2p-core#206](https://github.com/libp2p/go-libp2p-core/pull/206)) - feat: add helper functions for working with addr infos (#202) ([libp2p/go-libp2p-core#202](https://github.com/libp2p/go-libp2p-core/pull/202)) - fix: make timestamps strictly increasing (#201) ([libp2p/go-libp2p-core#201](https://github.com/libp2p/go-libp2p-core/pull/201)) - ci: use github-actions for compatibility testing (#200) ([libp2p/go-libp2p-core#200](https://github.com/libp2p/go-libp2p-core/pull/200)) - sync: update CI config files (#189) ([libp2p/go-libp2p-core#189](https://github.com/libp2p/go-libp2p-core/pull/189)) - remove minimum Go version from README (#199) ([libp2p/go-libp2p-core#199](https://github.com/libp2p/go-libp2p-core/pull/199)) - remove flaky tests (#194) ([libp2p/go-libp2p-core#194](https://github.com/libp2p/go-libp2p-core/pull/194)) - reduce default timeouts to 15s (#192) ([libp2p/go-libp2p-core#192](https://github.com/libp2p/go-libp2p-core/pull/192)) - fix benchmark of key verifications (#190) ([libp2p/go-libp2p-core#190](https://github.com/libp2p/go-libp2p-core/pull/190)) - fix staticcheck errors (#191) ([libp2p/go-libp2p-core#191](https://github.com/libp2p/go-libp2p-core/pull/191)) - doc: document Close on Transport (#188) ([libp2p/go-libp2p-core#188](https://github.com/libp2p/go-libp2p-core/pull/188)) - add a helper function to go directly from a string to an AddrInfo (#184) ([libp2p/go-libp2p-core#184](https://github.com/libp2p/go-libp2p-core/pull/184)) - github.com/libp2p/go-libp2p-http (v0.2.0 -> v0.2.1): - remove Makefile ([libp2p/go-libp2p-http#70](https://github.com/libp2p/go-libp2p-http/pull/70)) - fix staticcheck ([libp2p/go-libp2p-http#67](https://github.com/libp2p/go-libp2p-http/pull/67)) - Revert "increase buffer size" - Increase read buffer size to reduce poll system calls ([libp2p/go-libp2p-http#66](https://github.com/libp2p/go-libp2p-http/pull/66)) - github.com/libp2p/go-libp2p-kad-dht (v0.12.2 -> v0.13.1): - Extract validation from ProtocolMessenger ([libp2p/go-libp2p-kad-dht#741](https://github.com/libp2p/go-libp2p-kad-dht/pull/741)) - remove codecov.yml ([libp2p/go-libp2p-kad-dht#742](https://github.com/libp2p/go-libp2p-kad-dht/pull/742)) - integrate some basic opentelemetry tracing ([libp2p/go-libp2p-kad-dht#734](https://github.com/libp2p/go-libp2p-kad-dht/pull/734)) - feat: delete GetValues ([libp2p/go-libp2p-kad-dht#728](https://github.com/libp2p/go-libp2p-kad-dht/pull/728)) - chore: skip flaky test when race detector is enabled ([libp2p/go-libp2p-kad-dht#731](https://github.com/libp2p/go-libp2p-kad-dht/pull/731)) - Dont count connection times in usefulness ([libp2p/go-libp2p-kad-dht#660](https://github.com/libp2p/go-libp2p-kad-dht/pull/660)) - Routing table refresh should NOT block ([libp2p/go-libp2p-kad-dht#705](https://github.com/libp2p/go-libp2p-kad-dht/pull/705)) - update bootstrapPeers to be func() []peer.AddrInfo (#716) ([libp2p/go-libp2p-kad-dht#716](https://github.com/libp2p/go-libp2p-kad-dht/pull/716)) - github.com/libp2p/go-libp2p-noise (v0.2.0 -> v0.2.2): - remove note about go modules in README ([libp2p/go-libp2p-noise#100](https://github.com/libp2p/go-libp2p-noise/pull/100)) - fix: remove deprecated call to pk.Bytes ([libp2p/go-libp2p-noise#99](https://github.com/libp2p/go-libp2p-noise/pull/99)) - github.com/libp2p/go-libp2p-peerstore (v0.2.7 -> v0.2.8): - Fix perfomance issue in updating addr book ([libp2p/go-libp2p-peerstore#141](https://github.com/libp2p/go-libp2p-peerstore/pull/141)) - Fix test flakes ([libp2p/go-libp2p-peerstore#164](https://github.com/libp2p/go-libp2p-peerstore/pull/164)) - Only remove records during GC ([libp2p/go-libp2p-peerstore#135](https://github.com/libp2p/go-libp2p-peerstore/pull/135)) - sync: update CI config files ([libp2p/go-libp2p-peerstore#160](https://github.com/libp2p/go-libp2p-peerstore/pull/160)) - fix: fix some race conditions in the ds address book ([libp2p/go-libp2p-peerstore#161](https://github.com/libp2p/go-libp2p-peerstore/pull/161)) - address lints and test failures ([libp2p/go-libp2p-peerstore#159](https://github.com/libp2p/go-libp2p-peerstore/pull/159)) - stop using the deprecated go-multiaddr-net package ([libp2p/go-libp2p-peerstore#158](https://github.com/libp2p/go-libp2p-peerstore/pull/158)) - github.com/libp2p/go-libp2p-pubsub (v0.4.2 -> v0.5.4): - make slowness a warning, with a user configurable threshold - reduce log spam from empty heartbeat messages - fix: code review - add support for custom protocol matching function - fix: remove deprecated Bytes call (#436) ([libp2p/go-libp2p-pubsub#436](https://github.com/libp2p/go-libp2p-pubsub/pull/436)) - cleanup: fix vet and staticcheck failures (#435) ([libp2p/go-libp2p-pubsub#435](https://github.com/libp2p/go-libp2p-pubsub/pull/435)) - Revert noisy newline changes - fix: avoid panic when peer is blacklisted after connection - release priority locks early when handling batches - don't respawn writer if we fail to open a stream; declare it a peer error - batch process dead peer notifications - use a priority lock instead of a semaphore - do the notification in a goroutine - emit new peer notification without holding the semaphore - use a semaphore for new peer notifications so that we don't block the event loop - don't accumulate pending goroutines from new connections - rename RawTracer's DroppedInSubscribe into UndeliverableMessage - add a new RawTracer event to track messages dropped in Subscribe - add an option to configure the Subscription output queue length - fix some comments - expose more events for RawTracer - Make close concurrent safe - Fix close of closed channel - Update README to point to correct example directory (#424) ([libp2p/go-libp2p-pubsub#424](https://github.com/libp2p/go-libp2p-pubsub/pull/424)) - fix: remove deprecated and never used topic descriptors (#423) ([libp2p/go-libp2p-pubsub#423](https://github.com/libp2p/go-libp2p-pubsub/pull/423)) - Refactor Gossipsub Parameters To Make Them More Configurable (#421) ([libp2p/go-libp2p-pubsub#421](https://github.com/libp2p/go-libp2p-pubsub/pull/421)) - add tests for gs features and custom protocols - add support for custom gossipsub protocols and feature tests - RIP travis, Long Live CircleCI (#414) ([libp2p/go-libp2p-pubsub#414](https://github.com/libp2p/go-libp2p-pubsub/pull/414)) - Ignore transient connections (#412) ([libp2p/go-libp2p-pubsub#412](https://github.com/libp2p/go-libp2p-pubsub/pull/412)) - demote log spam to debug - fix bug - add last amount of validation - add threshold validation - strengthen validation - rename checkSignature to checkSigningPolicy - rename validation.Publish to PushLocal - fix TestValidate, add TestValidate2 - skip flaky test until we can fix it - implement synchronous validation for locally published messages - expose internalTracer as RawTracer - export rejection named string constants - more intelligent handling of ip whitelist check - remove obsolete explicit IP whitelisting in favor of subnets - add subnet whitelisting for IPColocation - github.com/libp2p/go-libp2p-quic-transport (v0.11.2 -> v0.12.0): - sync: update CI config files (#228) ([libp2p/go-libp2p-quic-transport#228](https://github.com/libp2p/go-libp2p-quic-transport/pull/228)) - fix closing of streams in example ([libp2p/go-libp2p-quic-transport#221](https://github.com/libp2p/go-libp2p-quic-transport/pull/221)) - close all UDP connections when the reuse is closed ([libp2p/go-libp2p-quic-transport#216](https://github.com/libp2p/go-libp2p-quic-transport/pull/216)) - fix staticcheck ([libp2p/go-libp2p-quic-transport#217](https://github.com/libp2p/go-libp2p-quic-transport/pull/217)) - sync: update CI config files (#214) ([libp2p/go-libp2p-quic-transport#214](https://github.com/libp2p/go-libp2p-quic-transport/pull/214)) - implement a Transport.Close that waits for the reuse's GC to finish ([libp2p/go-libp2p-quic-transport#211](https://github.com/libp2p/go-libp2p-quic-transport/pull/211)) - don't compare peer IDs when hole punching ([libp2p/go-libp2p-quic-transport#210](https://github.com/libp2p/go-libp2p-quic-transport/pull/210)) - add hole punching support (#194) ([libp2p/go-libp2p-quic-transport#194](https://github.com/libp2p/go-libp2p-quic-transport/pull/194)) - github.com/libp2p/go-libp2p-swarm (v0.5.0 -> v0.5.3): - sync: update CI config files ([libp2p/go-libp2p-swarm#263](https://github.com/libp2p/go-libp2p-swarm/pull/263)) - remove incorrect call to InterceptAddrDial ([libp2p/go-libp2p-swarm#260](https://github.com/libp2p/go-libp2p-swarm/pull/260)) - speed up the TestFDLimitUnderflow test ([libp2p/go-libp2p-swarm#262](https://github.com/libp2p/go-libp2p-swarm/pull/262)) - sync: update CI config files (#248) ([libp2p/go-libp2p-swarm#248](https://github.com/libp2p/go-libp2p-swarm/pull/248)) - github.com/libp2p/go-libp2p-testing (v0.4.0 -> v0.4.2): - fix deadlock in the transport's serve function ([libp2p/go-libp2p-testing#35](https://github.com/libp2p/go-libp2p-testing/pull/35)) - fix: cleanup transport suite ([libp2p/go-libp2p-testing#34](https://github.com/libp2p/go-libp2p-testing/pull/34)) - Address `go vet` and `saticcheck` issues ([libp2p/go-libp2p-testing#33](https://github.com/libp2p/go-libp2p-testing/pull/33)) - Defer closing stream for reading ([libp2p/go-libp2p-testing#32](https://github.com/libp2p/go-libp2p-testing/pull/32)) - github.com/libp2p/go-libp2p-tls (v0.1.3 -> v0.2.0): - fix: don't fail the handshake when the libp2p extension is critical ([libp2p/go-libp2p-tls#88](https://github.com/libp2p/go-libp2p-tls/pull/88)) - fix deprecated call to key.Bytes ([libp2p/go-libp2p-tls#86](https://github.com/libp2p/go-libp2p-tls/pull/86)) - fix usage of deprecated peer.IDB58Decode ([libp2p/go-libp2p-tls#77](https://github.com/libp2p/go-libp2p-tls/pull/77)) - remove setting of the TLS 1.3 GODEBUG flag ([libp2p/go-libp2p-tls#68](https://github.com/libp2p/go-libp2p-tls/pull/68)) - improve the error message returned when peer verification fails ([libp2p/go-libp2p-tls#57](https://github.com/libp2p/go-libp2p-tls/pull/57)) - update to Go 1.14 ([libp2p/go-libp2p-tls#54](https://github.com/libp2p/go-libp2p-tls/pull/54)) - Update deps and fix tests ([libp2p/go-libp2p-tls#43](https://github.com/libp2p/go-libp2p-tls/pull/43)) - github.com/libp2p/go-libp2p-transport-upgrader (v0.4.2 -> v0.4.6): - chore: update deps ([libp2p/go-libp2p-transport-upgrader#78](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/78)) - fix typo in error message ([libp2p/go-libp2p-transport-upgrader#77](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/77)) - fix staticcheck ([libp2p/go-libp2p-transport-upgrader#74](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/74)) - don't listen on all interfaces in tests ([libp2p/go-libp2p-transport-upgrader#73](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/73)) - stop using the deprecated go-multiaddr-net ([libp2p/go-libp2p-transport-upgrader#72](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/72)) - github.com/libp2p/go-libp2p-xor (v0.0.0-20200501025846-71e284145d58 -> v0.0.0-20210714161855-5c005aca55db): - Add immutable remove operation ([libp2p/go-libp2p-xor#14](https://github.com/libp2p/go-libp2p-xor/pull/14)) - fix go vet and staticcheck ([libp2p/go-libp2p-xor#11](https://github.com/libp2p/go-libp2p-xor/pull/11)) - github.com/libp2p/go-reuseport-transport (v0.0.4 -> v0.0.5): - remove note about Go modules in README ([libp2p/go-reuseport-transport#32](https://github.com/libp2p/go-reuseport-transport/pull/32)) - stop using the deprecated go-multiaddr-net package ([libp2p/go-reuseport-transport#30](https://github.com/libp2p/go-reuseport-transport/pull/30)) - github.com/libp2p/go-socket-activation (v0.0.2 -> v0.1.0): - chore: stop using the deprecated go-multiaddr-net package ([libp2p/go-socket-activation#16](https://github.com/libp2p/go-socket-activation/pull/16)) - fix staticcheck ([libp2p/go-socket-activation#13](https://github.com/libp2p/go-socket-activation/pull/13)) - github.com/libp2p/go-tcp-transport (v0.2.4 -> v0.2.8): - disable metrics collection on Windows ([libp2p/go-tcp-transport#93](https://github.com/libp2p/go-tcp-transport/pull/93)) - sync: update CI config files (#90) ([libp2p/go-tcp-transport#90](https://github.com/libp2p/go-tcp-transport/pull/90)) - chore: update go-libp2p-transport-upgrader and go-reuseport-transport ([libp2p/go-tcp-transport#84](https://github.com/libp2p/go-tcp-transport/pull/84)) - github.com/libp2p/go-ws-transport (v0.4.0 -> v0.5.0): - chore: update go-libp2p-transport-upgrader and go-libp2p-core ([libp2p/go-ws-transport#103](https://github.com/libp2p/go-ws-transport/pull/103)) - remove deprecated type ([libp2p/go-ws-transport#102](https://github.com/libp2p/go-ws-transport/pull/102)) - sync: update CI config files ([libp2p/go-ws-transport#101](https://github.com/libp2p/go-ws-transport/pull/101)) - chore: various cleanups required to get vet/staticcheck/test to pass ([libp2p/go-ws-transport#100](https://github.com/libp2p/go-ws-transport/pull/100)) - github.com/lucas-clemente/quic-go (v0.21.2 -> v0.23.0): - update to Go 1.17.x ([lucas-clemente/quic-go#3258](https://github.com/lucas-clemente/quic-go/pull/3258)) - quicvarint: export Min and Max (#3253) ([lucas-clemente/quic-go#3253](https://github.com/lucas-clemente/quic-go/pull/3253)) - drop support for Go 1.15 ([lucas-clemente/quic-go#3247](https://github.com/lucas-clemente/quic-go/pull/3247)) - quicvarint: add Reader and Writer interfaces (#3233) ([lucas-clemente/quic-go#3233](https://github.com/lucas-clemente/quic-go/pull/3233)) - fix race when stream.Read and CancelRead are called concurrently ([lucas-clemente/quic-go#3241](https://github.com/lucas-clemente/quic-go/pull/3241)) - also count coalesced 0-RTT packets in the integration tests ([lucas-clemente/quic-go#3251](https://github.com/lucas-clemente/quic-go/pull/3251)) - remove draft versions 32 and 34 from README (#3244) ([lucas-clemente/quic-go#3244](https://github.com/lucas-clemente/quic-go/pull/3244)) - update Changelog ([lucas-clemente/quic-go#3245](https://github.com/lucas-clemente/quic-go/pull/3245)) - optimize hasOutstandingCryptoPackets in sentPacketHandler ([lucas-clemente/quic-go#3230](https://github.com/lucas-clemente/quic-go/pull/3230)) - permit underlying conn to implement batch interface directly ([lucas-clemente/quic-go#3237](https://github.com/lucas-clemente/quic-go/pull/3237)) - cancel the PTO timer when all Handshake packets are acknowledged ([lucas-clemente/quic-go#3231](https://github.com/lucas-clemente/quic-go/pull/3231)) - fix flaky INVALID_TOKEN server test ([lucas-clemente/quic-go#3223](https://github.com/lucas-clemente/quic-go/pull/3223)) - drop support for QUIC draft version 32 and 34 ([lucas-clemente/quic-go#3217](https://github.com/lucas-clemente/quic-go/pull/3217)) - fix flaky 0-RTT integration test ([lucas-clemente/quic-go#3224](https://github.com/lucas-clemente/quic-go/pull/3224)) - use batched reads ([lucas-clemente/quic-go#3142](https://github.com/lucas-clemente/quic-go/pull/3142)) - add a config option to disable sending of Version Negotiation packets ([lucas-clemente/quic-go#3216](https://github.com/lucas-clemente/quic-go/pull/3216)) - remove the RetireBugBackwardsCompatibilityMode ([lucas-clemente/quic-go#3213](https://github.com/lucas-clemente/quic-go/pull/3213)) - remove outdated ackhandler test case ([lucas-clemente/quic-go#3212](https://github.com/lucas-clemente/quic-go/pull/3212)) - remove unused StripGreasedVersions function ([lucas-clemente/quic-go#3214](https://github.com/lucas-clemente/quic-go/pull/3214)) - fix incorrect usage of errors.Is ([lucas-clemente/quic-go#3215](https://github.com/lucas-clemente/quic-go/pull/3215)) - return error on SendMessage when session is closed ([lucas-clemente/quic-go#3218](https://github.com/lucas-clemente/quic-go/pull/3218)) - remove a redundant error check ([lucas-clemente/quic-go#3210](https://github.com/lucas-clemente/quic-go/pull/3210)) - update golangci-lint to v1.41.1 ([lucas-clemente/quic-go#3205](https://github.com/lucas-clemente/quic-go/pull/3205)) - Update doc for dialer in http3.RoundTripper ([lucas-clemente/quic-go#3208](https://github.com/lucas-clemente/quic-go/pull/3208)) - github.com/multiformats/go-multiaddr (v0.3.3 -> v0.4.0): - remove forced dependency on deprecated go-maddr-filter ([multiformats/go-multiaddr#162](https://github.com/multiformats/go-multiaddr/pull/162)) - remove deprecated SwapToP2pMultiaddrs ([multiformats/go-multiaddr#161](https://github.com/multiformats/go-multiaddr/pull/161)) - remove Makefile ([multiformats/go-multiaddr#163](https://github.com/multiformats/go-multiaddr/pull/163)) - remove deprecated filter functions ([multiformats/go-multiaddr#157](https://github.com/multiformats/go-multiaddr/pull/157)) - remove deprecated NetCodec ([multiformats/go-multiaddr#159](https://github.com/multiformats/go-multiaddr/pull/159)) - add Noise ([multiformats/go-multiaddr#156](https://github.com/multiformats/go-multiaddr/pull/156)) - Add TLS protocol ([multiformats/go-multiaddr#153](https://github.com/multiformats/go-multiaddr/pull/153)) - github.com/multiformats/go-multicodec (v0.2.0 -> v0.3.0): - Export reserved range constants (#53) ([multiformats/go-multicodec#53](https://github.com/multiformats/go-multicodec/pull/53)) - make Code.Set accept valid code numbers - replace Of with Code.Set, implementing flag.Value - add multiformats/multicodec as a git submodule - update the generator with the "status" CSV column - Run `go generate` to generate the latest codecs - Add lookup for multicodec code by string name ([multiformats/go-multicodec#40](https://github.com/multiformats/go-multicodec/pull/40))

❀️ Contributors

Contributor Commits Lines Β± Files Changed
Daniel MartΓ­ 42 +8549/-6587 170
Eric Myhre 55 +5883/-6715 395
Marten Seemann 100 +1814/-2028 275
Steven Allen 80 +1573/-1998 127
hannahhoward 18 +1721/-671 53
Will 2 +1114/-1217 18
Andrew Gillis 2 +1220/-720 14
gammazero 3 +43/-1856 10
Masih H. Derkani 3 +960/-896 8
Adin Schmahmann 25 +1458/-313 44
vyzo 27 +986/-353 60
Will Scott 6 +852/-424 16
Rod Vagg 19 +983/-255 66
Petar Maymounkov 6 +463/-179 22
web3-bot 10 +211/-195 24
adlrocha 1 +330/-75 15
RubenKelevra 2 +128/-210 2
Ian Davis 3 +200/-109 17
Cory Schwartz 3 +231/-33 7
Keenan Nemetz 1 +184/-71 2
Randy Reddig 2 +187/-53 8
Takashi Matsuda 3 +201/-2 7
guseggert 4 +161/-20 9
Lucas Molas 5 +114/-47 27
nisdas 4 +115/-45 7
Michael MurΓ© 6 +107/-33 24
Richard Ramos 2 +113/-9 3
Marcin Rataj 12 +88/-24 13
Ondrej Prazak 2 +104/-6 4
Michal Dobaczewski 2 +77/-28 3
Jorropo 3 +9/-75 4
Andey Robins 1 +70/-3 3
Gus Eggert 10 +34/-31 12
noot 1 +54/-9 5
Maxim Merzhanov 1 +29/-24 1
Adrian Lanzafame 1 +30/-13 2
Bogdan Stirbat 1 +22/-16 2
Shad Sterling 1 +28/-3 1
Jesse Bouwman 5 +30/-0 5
Pavel Karpy 1 +19/-7 2
lasiar 5 +14/-10 5
Dennis Trautwein 1 +20/-4 2
Louis Thibault 1 +22/-1 2
whyrusleeping 2 +21/-1 2
aarshkshah1992 3 +12/-8 3
Peter Rabbitson 2 +20/-0 2
bt90 2 +17/-2 2
Dominic Della Valle 1 +13/-1 2
Audrius Butkevicius 1 +12/-1 1
Brian Strauch 1 +9/-3 1
Aarsh Shah 2 +1/-11 2
Whyrusleeping 1 +11/-0 1
Max 1 +7/-3 1
vallder 1 +3/-5 1
Michael Burns 3 +2/-6 3
Lasse Johnsen 1 +4/-4 2
snyh 1 +5/-2 1
Hector Sanjuan 2 +3/-2 2
市川恭佑 (ebi) 1 +1/-3 1
godcong 2 +2/-1 2
Mathis Engelbart 1 +1/-2 1
folbrich 1 +1/-1 1
Med Mouine 1 +1/-1 1

Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started:

ianopolous commented 3 years ago

My reading of this is that this doesn't include the pending move of the blockstore from cids to multihashes. Is that correct?

aschmahmann commented 3 years ago

@ianopolous correct. That is currently planned to be a release all of its own (i.e. that will be the only change in that release in order to ease people through the migration). It's currently scheduled for v0.12.0

b5 commented 3 years ago

Is anyone aware of anything like https://deno.land/benchmarks for go-ipfs? The switch to go-ipld-prime under the hood is very exciting (thanks @hannahhoward !). To help assess release candidates, I'd really appreciate the sanity checks an automated set of benchmarks run between releases would provide.

aschmahmann commented 3 years ago

Early testers ping for RC1 testing πŸ˜„

Jorropo commented 3 years ago

<List of items with PRs and/or Issues to be considered for this release>

8177 pls ?

obo20 commented 3 years ago

Early testers ping for RC testing πŸ˜„

  • [ ] pacman.store (@RubenKelevra)
  • [ ] Infura (@MichaelMure)
  • [ ] Textile (@sanderpick)
  • [x] Pinata (@obo20)
  • [ ] RTrade (@postables)
  • [ ] QRI (@b5)
  • [ ] Siderus (@koalalorenzo)
  • [ ] Charity Engine (@Rytiss, @tristanolive)
  • [ ] Fission (@bmann)

Things are looking good on our end. We've been running this on a segment of our infrastructure and there are no issues to report as of yet.

tabcat commented 3 years ago

tracking orbit-db support: https://github.com/orbitdb/orbit-db/issues/909

kallisti5 commented 3 years ago

Any thoughts on #8413 ? Seems like an easy add with a big usability improvement.

BigLep commented 3 years ago

Per 2021-09-09 verbal:

  1. Clearer callout on the breaking changes TLDR (e.g., ipfs-dag break)
  2. Clearer documentation on how to migrate
  3. Need to call out determinstic CBOR encoding
  4. Need to add callouts for the various items Rod found
  5. We need to track down that the JS HTTP tests didn't run (related to OrbitDB also finding failures during their test runs). This may just need to be a tracking issue for cases where Go is ahead of JS.
BigLep commented 3 years ago

@Jorropo:

8177 pls ?

This won't make it in this release

@kallisti5:

Any thoughts on #8413 ? Seems like an easy add with a big usability improvement.

This won't make it in this release

lidel commented 3 years ago

v0.10.0-rc2

Just published RC2 on github, dist.ipfs.io, NPM and dockerhub.

:point_right: We are planning to ship the final release around Thursday 30th (TBD), mind the window for testing is a bit short.

Changes since -rc1

Call for feedback

Early testers – ping for v0.10.0-rc2 testing πŸ˜„

MichaelMure commented 3 years ago

Would it be reasonable to include this merkledag fix ?

tabcat commented 3 years ago

tests are passing locally using https://github.com/orbitdb/orbit-db/issues/913 (will be merged and published very soon) + go-ipfs@0.10.0-rc2. :+1:

aschmahmann commented 3 years ago

@MichaelMure IIUC that fix doesn't effect really effect the go-ipfs binary, but might be useful in some edge cases with go-ipfs as a library.

If so then we can do a go-merkledag release. I'd prefer not to add much more into the release if we can to expedite getting it out.

If there's a more pressing need or problem that I'm missing lmk (here, on the go-merkeldag PR, or in a DM)

eminence commented 3 years ago

perhaps https://docs.ipfs.io/install/command-line/#official-distributions could be updated to reference the 0.10 release

lidel commented 3 years ago

Good catch @eminence! I've opened https://github.com/ipfs/ipfs-docs/pull/904 but this is a good candidate for automation (or adding a special 'latest' dir to dist.ipfs.io releases).