Skip to content

*: Prepare v0.40.0-rc.1 release#2290

Merged
mxinden merged 2 commits into
libp2p:masterfrom
mxinden:prepare-v0.40.0-rc.1
Oct 15, 2021
Merged

*: Prepare v0.40.0-rc.1 release#2290
mxinden merged 2 commits into
libp2p:masterfrom
mxinden:prepare-v0.40.0-rc.1

Conversation

@mxinden

@mxinden mxinden commented Oct 14, 2021

Copy link
Copy Markdown
Member

I would like to cut a new release of:

  • A release candidate of all sub-crates (libp2p-XXX)
  • multistream-select
  • A release candidate of the libp2p crate - v0.40.0-rc.1

The reasoning for cutting release candidates for now, instead of a full release, is the amount of changes since the last release (see changelogs), especially #2248.

Any objections?

@thomaseizinger thomaseizinger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If #2248 is the main concern, shouldn't libp2p-core also get a RC instead of a new minor version?

@mxinden

mxinden commented Oct 14, 2021

Copy link
Copy Markdown
Member Author

If #2248 is the main concern, shouldn't libp2p-core also get a RC instead of a new minor version?

My reasoning above was under the assumption that pretty much no one depends on any of the libp2p-XXX crates directly, but always through the main libp2p crate. Now that assumption is inconsistent with the reason why we have those sub-crates in the first place.

If #2248 is the main concern, shouldn't libp2p-core also get a RC instead of a new minor version?

Yes. Though that would imply that all other libp2p-XXX crates would need to be released as release candidates as well, as they would depend on the libp2p-core release candidate.

I need to give this more thought. Especially as this will not be the last time we cut a release candidate. I am now leaning towards cutting a release candidate of all the crates first, even though that is a bit of manual work.

More input welcome @thomaseizinger!

@thomaseizinger

Copy link
Copy Markdown
Contributor

If #2248 is the main concern, shouldn't libp2p-core also get a RC instead of a new minor version?

Yes. Though that would imply that all other libp2p-XXX crates would need to be released as release candidates as well, as they would depend on the libp2p-core release candidate.

I need to give this more thought. Especially as this will not be the last time we cut a release candidate. I am now leaning towards cutting a release candidate of all the crates first, even though that is a bit of manual work.

I didn't think of that but that is a good point. I agree that if we want to do RCs, then doing an RC for all crates is probably the way to go.

Is a RC very different from depending on a Git revision? Perhaps we can just create an RC tag and encourage people to test with this version rather than going for all the churn of cutting a lot of RC. Even with a RC, people would have to manually update.

@mxinden

mxinden commented Oct 15, 2021

Copy link
Copy Markdown
Member Author

rather than going for all the churn of cutting a lot of RC.

With a couple of RegExs this wasn't actually that hard. I will test out the full release candidate process via a crates release of each of the libp2p-XXX crates this time. Let's see whether it is worth it.

@mxinden mxinden merged commit a905665 into libp2p:master Oct 15, 2021
@mxinden

mxinden commented Oct 15, 2021

Copy link
Copy Markdown
Member Author

I tagged and published the following releases:

  • libp2p-core-0.30.0-rc.1
  • libp2p-deflate-0.30.0-rc.1
  • libp2p-dns-0.30.0-rc.1
  • libp2p-floodsub-0.31.0-rc.1
  • libp2p-gossipsub-0.33.0-rc.1
  • libp2p-identify-0.31.0-rc.1
  • libp2p-kad-0.32.0-rc.1
  • libp2p-mdns-0.32.0-rc.1
  • libp2p-metrics-0.1.0-rc.1
  • libp2p-mplex-0.30.0-rc.1
  • libp2p-noise-0.33.0-rc.1
  • libp2p-ping-0.31.0-rc.1
  • libp2p-plaintext-0.30.0-rc.1
  • libp2p-pnet-0.22.0-rc.1
  • libp2p-relay-0.4.0-rc.1
  • libp2p-rendezvous-0.1.0-rc.1
  • libp2p-request-response-0.13.0-rc.1
  • libp2p-swarm-0.31.0-rc.1
  • libp2p-swarm-derive-0.25.0-rc.1
  • libp2p-tcp-0.30.0-rc.1
  • libp2p-uds-0.30.0-rc.1
  • libp2p-wasm-ext-0.30.0-rc.1
  • libp2p-websocket-0.31.0-rc.1
  • libp2p-yamux-0.34.0-rc.1
  • multistream-select-0.10.4
  • v0.40.0-rc.1

Downstream testing with the libp2p v0.40.0-rc.1 release candidate would be much appreciated.

@mxinden

mxinden commented Oct 15, 2021

Copy link
Copy Markdown
Member Author

Also, given that this is a rather large release, I am happy to support with the upgrade process. Feel free to ping me on your upgrade pull request.

@kpp

kpp commented Oct 15, 2021

Copy link
Copy Markdown
Contributor

KademliaBucketInserts is not in the root of kad anymore.

@mxinden

mxinden commented Oct 15, 2021

Copy link
Copy Markdown
Member Author

@kpp v0.40.0-rc.2 and libp2p-kad-0.32.0-rc.2 are tagged and published.

@kpp

kpp commented Oct 15, 2021

Copy link
Copy Markdown
Contributor

#2214 Should be somehow addressed in the https://docs.rs/libp2p/0.40.0-rc.2/libp2p/swarm/trait.NetworkBehaviour.html docs.

@mxinden

mxinden commented Oct 18, 2021

Copy link
Copy Markdown
Member Author

#2214 Should be somehow addressed in the https://docs.rs/libp2p/0.40.0-rc.2/libp2p/swarm/trait.NetworkBehaviour.html docs.

Good point @kpp. Do you want to propose a patch?

@kpp

kpp commented Oct 18, 2021

Copy link
Copy Markdown
Contributor

Do you want to propose a patch?

Sorry, I am not sure what's the difference between event_process = false and true to write a doc about it.

There is no fn inject_connection_closed override for MultiHandler which is a pain when implementing NetworkBehaviour with type ProtocolsHandler = MultiHandler<...>. How do I upgrade it to a new version https://github.com/paritytech/substrate/blob/d1ec40b49847fdb6dae8f00ab7ab08cef7dd10fc/client/network/src/discovery.rs#L556 ?

@thomaseizinger

Copy link
Copy Markdown
Contributor

Do you want to propose a patch?

Sorry, I am not sure what's the difference between event_process = false and true to write a doc about it.

The docs currently say that by default, we require NetworkBehaviour_EventProcess_. That default changed so really only the current section needs to be negated.

Sorry that I missed this as part of the PR. If none beats me to it, I'll send an update in the next couple of days!

@elenaf9

elenaf9 commented Oct 20, 2021

Copy link
Copy Markdown
Member

Thank you for the release @mxinden! Our upgrade went well and everything is working as expected.

@mxinden

mxinden commented Oct 27, 2021

Copy link
Copy Markdown
Member Author

I have cut another release candidate (tagged and published) mostly due to #2304.

Let me know in case you are seeing any oddities with rc.3. If not, I would promote the release candidate to a proper release in the next couple of days. (//CC @AgeManning)

mxinden added a commit to mxinden/rust-libp2p that referenced this pull request Oct 29, 2021
The default behaviour changed with
libp2p#2214. This updates the doc
comment.

Initially raised in
libp2p#2290 (comment).
@mxinden

mxinden commented Oct 29, 2021

Copy link
Copy Markdown
Member Author

There is no fn inject_connection_closed override for MultiHandler which is a pain when implementing NetworkBehaviour with type ProtocolsHandler = MultiHandler<...>. How do I upgrade it to a new version https://github.com/paritytech/substrate/blob/d1ec40b49847fdb6dae8f00ab7ab08cef7dd10fc/client/network/src/discovery.rs#L556 ?

I am a bit confused. MultiHandler does not implement NetworkBehaviour in the first place and thus also doesn't implement inject_connection_closed @kpp.

mxinden added a commit that referenced this pull request Oct 30, 2021
The default behaviour changed with
#2214. This updates the doc
comment.

Initially raised in
#2290 (comment).
@mxinden

mxinden commented Oct 30, 2021

Copy link
Copy Markdown
Member Author

I just branched off of master with v0.40, where further release candidates or the final release will be cut off of.

With that, master will now track the next (upcoming) release line, v0.41.

@mxinden

mxinden commented Nov 1, 2021

Copy link
Copy Markdown
Member Author

For the record v0.40.0 is tagged and published #2323.

santos227 pushed a commit to santos227/rustlib that referenced this pull request Jun 20, 2022
The default behaviour changed with
libp2p/rust-libp2p#2214. This updates the doc
comment.

Initially raised in
libp2p/rust-libp2p#2290 (comment).
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

Successfully merging this pull request may close these issues.

4 participants