* Remove unused resolver in basic host
* Refactor Swarm.resolveAddrs
Refactors how DNS Address resolution works.
* lint
* Move MultiaddrDNSResolver interface to core
* Reserve output space for addresses left to resolve
* feat: core/transport: Add SkipResolver interface (#2989)
* Rebase on top of resolveAddrs refactor
* Add comments
* Sanitize address inputs when returning a reservation message (#3006)
* docs: remove documentation indicating that mplex is enabled by default
* feat: expose yamux ID as a constant
* feat: expose mplex ID as a constant
* reword muxer config documentation
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
This is a backwards incompatible change and will require a major version bump
plus an announcement. Users can choose to re-enable SECIO by passing
`libp2p.Security(secio.ID, secio.New)` to the constructor.
0. I imported whyrusleeping/go-smux-* into go mod.
1. To handle post-1.0 tags, I renamed all of our "gx" tags to "gx/v..." as we
did with the rest of libp2p.
2. This broke _everything_ because `go mod` absolutely can't deal with deleted
tags if any transitive go.sum file mentions the tag.
3. To fix this, I first got rid of all mentions of these 2.x+incompatible tags.
4. Unfortunately, I realized this was still going to be a nightmare for
downstream users as a `go get github.com/libp2p/go-libp2p@latest` on a fresh
clone (no go mod cache) would fail. I didn't want to have to explain to all
of our downstream users "please delete your go.sum files!".
5. So I did what I should have done in the first place:
a. I restored those tags.
b. I forked all the whyrusleeping/go-smux-* repositories (and
whyrusleeping/yamux) into the libp2p org where.
c. I removed all tags but the _new_ go-mod tags on those new libp2p repos.
What does this mean for downstream users? If they manually import any of these
stream muxer repos, they'll have to fix their imports. Otherwise, it shouldn't
make a difference.