Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.37 #2901

Closed
17 of 30 tasks
MarcoPolo opened this issue Aug 1, 2024 · 0 comments
Closed
17 of 30 tasks

v0.37 #2901

MarcoPolo opened this issue Aug 1, 2024 · 0 comments

Comments

@MarcoPolo
Copy link
Collaborator

MarcoPolo commented Aug 1, 2024

🗺 What's left for release

Possibly deferred

Deferred

Breaking Changes

  • The libp2p.MultiaddrResolver option now takes an interface rather than a
    specific pointer. This decouples the resolver from a specific implementation
    and also defines a better interface that is aware of bounds.
    • The swarm exports a new type ResolverFromMaDNS that implements this interface from a *madns.Resolver. The one line diff is essentially:
    -libp2p.MultiaddrResolver(rslv)
    +libp2p.MultiaddrResolver(swarm.ResolverFromMaDNS{Resolver: rslv})

🔦 Highlights

HTTP Peer ID Authentication (#2854)

Authenticate a peer's identity over HTTP. This works on both libp2p stream backed HTTP transports and standard HTTP transports. There is also browser support in the js-libp2p module: https://github.com/libp2p/js-libp2p-http-fetch/tree/main.

See the spec for more details on how it works: https://github.com/libp2p/specs/blob/master/http/peer-id-auth.md

Experimental WithFxOption (#2956)

A new libp2p Config option lets you add custom Fx options to the libp2p constructor. Use this to get access to and provide libp2p services.

For example, this allows you to easily get a reference to the ID Service of a libp2p Node. Refer to this test for a concrete code example:

func TestGetIDService(t *testing.T) {
var id identify.IDService
host, err := New(
NoTransports,
WithFxOption(fx.Populate(&id)),
)
require.NoError(t, err)
defer host.Close()
require.NotNil(t, id)
}

In the future we'd like to expose the Fx options libp2p uses to construct itself so that users can better customize their libp2p nodes and integrate it seamlessly into their applications.

Changelog

From v0.36.5 to v0.37.0

Full Changelog: v0.36.5...v0.37.0

New Contributors

✅ Release Checklist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant