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

fix: move changelog entries to correct version #3541

Merged
merged 5 commits into from
Mar 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
# 0.39.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3221]: https://github.com/libp2p/rust-libp2p/pull/3221

# 0.39.0

- Move `ConnectionId` to `libp2p-swarm`. See [PR 3221].
- Move `PendingPoint` to `libp2p-swarm` and make it crate-private. See [PR 3221].
- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312
[PR 3221]: https://github.com/libp2p/rust-libp2p/pull/3221

# 0.38.0

Expand Down
2 changes: 1 addition & 1 deletion core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-core"
edition = "2021"
rust-version = "1.60.0"
description = "Core traits and structs of libp2p"
version = "0.39.0"
version = "0.39.1"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
2 changes: 1 addition & 1 deletion libp2p/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ libp2p-quic = { version = "=0.7.0-alpha.2", path = "../transports/quic", optiona
libp2p-tcp = { version = "0.39.0", path = "../transports/tcp", optional = true }
libp2p-tls = { version = "=0.1.0-alpha.2", path = "../transports/tls", optional = true }
libp2p-uds = { version = "0.38.0", path = "../transports/uds", optional = true }
libp2p-webrtc = { version = "=0.4.0-alpha.2", path = "../transports/webrtc", optional = true }
libp2p-webrtc = { version = "=0.4.0-alpha.3", path = "../transports/webrtc", optional = true }
libp2p-websocket = { version = "0.41.0", path = "../transports/websocket", optional = true }

[target.'cfg(not(target_os = "unknown"))'.dependencies]
Expand Down
9 changes: 6 additions & 3 deletions protocols/autonat/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.10.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3153]: https://github.com/libp2p/rust-libp2p/pull/3153

# 0.10.0

- Update to `libp2p-core` `v0.39.0`.
Expand All @@ -8,10 +14,7 @@

- Update to `libp2p-swarm` `v0.42.0`.

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312
[PR 3153]: https://github.com/libp2p/rust-libp2p/pull/3153

# 0.9.1

Expand Down
2 changes: 1 addition & 1 deletion protocols/autonat/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-autonat"
edition = "2021"
rust-version = "1.62.0"
description = "NAT and firewall detection for libp2p"
version = "0.10.0"
version = "0.10.1"
authors = ["David Craven <david@craven.ch>", "Elena Frank <elena.frank@protonmail.com>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
9 changes: 6 additions & 3 deletions protocols/dcutr/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.9.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.9.0

- Update to `libp2p-core` `v0.39.0`.
Expand All @@ -11,13 +17,10 @@

- Rename types in public API to follow naming conventions defined in [issue 2217]. See [PR 3214].

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3213]: https://github.com/libp2p/rust-libp2p/pull/3213
[PR 3153]: https://github.com/libp2p/rust-libp2p/pull/3153
[issue 2217]: https://github.com/libp2p/rust-libp2p/issues/2217
[PR 3214]: https://github.com/libp2p/rust-libp2p/pull/3214
[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.8.1

Expand Down
2 changes: 1 addition & 1 deletion protocols/dcutr/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-dcutr"
edition = "2021"
rust-version = "1.62.0"
description = "Direct connection upgrade through relay"
version = "0.9.0"
version = "0.9.1"
authors = ["Max Inden <mail@max-inden.de>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
10 changes: 6 additions & 4 deletions protocols/floodsub/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# 0.42.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.42.0

- Update to `libp2p-core` `v0.39.0`.

- Update to `libp2p-swarm` `v0.42.0`.

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.41.0

- Update to `libp2p-core` `v0.38.0`.
Expand Down
2 changes: 1 addition & 1 deletion protocols/floodsub/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-floodsub"
edition = "2021"
rust-version = "1.62.0"
description = "Floodsub protocol for libp2p"
version = "0.42.0"
version = "0.42.1"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
9 changes: 6 additions & 3 deletions protocols/gossipsub/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.44.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.44.0

- Update to `prometheus-client` `v0.19.0`. See [PR 3207].
Expand All @@ -14,13 +20,10 @@
It is preferred to import the gossipsub protocol as a module (`use libp2p::gossipsub;`), and refer to its types via `gossipsub::`.
For example: `gossipsub::Behaviour` or `gossipsub::RawMessage`. See [PR 3303].

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3207]: https://github.com/libp2p/rust-libp2p/pull/3207/
[PR 3303]: https://github.com/libp2p/rust-libp2p/pull/3303/
[PR 3381]: https://github.com/libp2p/rust-libp2p/pull/3381/
[discussion 2174]: https://github.com/libp2p/rust-libp2p/discussions/2174
[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.43.0

Expand Down
2 changes: 1 addition & 1 deletion protocols/gossipsub/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-gossipsub"
edition = "2021"
rust-version = "1.62.0"
description = "Gossipsub protocol for libp2p"
version = "0.44.0"
version = "0.44.1"
authors = ["Age Manning <Age@AgeManning.com>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
9 changes: 6 additions & 3 deletions protocols/identify/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.42.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.42.0

- Update to `libp2p-core` `v0.39.0`.
Expand All @@ -9,11 +15,8 @@

- Don't close the stream when reading the identify info in `protocol::recv`. See [PR 3344].

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3208]: https://github.com/libp2p/rust-libp2p/pull/3208
[PR 3344]: https://github.com/libp2p/rust-libp2p/pull/3344
[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.41.1

Expand Down
2 changes: 1 addition & 1 deletion protocols/identify/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-identify"
edition = "2021"
rust-version = "1.62.0"
description = "Nodes identifcation protocol for libp2p"
version = "0.42.0"
version = "0.42.1"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
9 changes: 6 additions & 3 deletions protocols/kad/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.43.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.43.0

- Update to `libp2p-core` `v0.39.0`.
Expand All @@ -10,11 +16,8 @@

- Bump MSRV to 1.65.0.

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3239]: https://github.com/libp2p/rust-libp2p/pull/3239
[PR 3287]: https://github.com/libp2p/rust-libp2p/pull/3287
[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.42.1

Expand Down
2 changes: 1 addition & 1 deletion protocols/kad/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-kad"
edition = "2021"
rust-version = "1.65.0"
description = "Kademlia protocol for libp2p"
version = "0.43.0"
version = "0.43.1"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
9 changes: 6 additions & 3 deletions protocols/relay/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.15.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.15.0

- Rename types as per [discussion 2174].
Expand All @@ -11,11 +17,8 @@

- Update to `libp2p-swarm` `v0.42.0`.

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3238]: https://github.com/libp2p/rust-libp2p/pull/3238
[discussion 2174]: https://github.com/libp2p/rust-libp2p/issues/2174
[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.14.0

Expand Down
2 changes: 1 addition & 1 deletion protocols/relay/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-relay"
edition = "2021"
rust-version = "1.62.0"
description = "Communications relaying for libp2p"
version = "0.15.0"
version = "0.15.1"
authors = ["Parity Technologies <admin@parity.io>", "Max Inden <mail@max-inden.de>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
10 changes: 6 additions & 4 deletions protocols/rendezvous/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# 0.12.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.12.0

- Update to `libp2p-core` `v0.39.0`.

- Update to `libp2p-swarm` `v0.42.0`.

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.11.0

- De- and encode protobuf messages using `prost-codec`. See [PR 3058].
Expand Down
2 changes: 1 addition & 1 deletion protocols/rendezvous/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-rendezvous"
edition = "2021"
rust-version = "1.62.0"
description = "Rendezvous protocol for libp2p"
version = "0.12.0"
version = "0.12.1"
authors = ["The COMIT guys <hello@comit.network>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
9 changes: 6 additions & 3 deletions transports/noise/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# 0.42.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.42.0

- Update to `libp2p-core` `v0.39.0`.
Expand All @@ -6,11 +12,8 @@

- Deprecate `LegacyConfig` without replacement. See [PR 3265].

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3227]: https://github.com/libp2p/rust-libp2p/pull/3227
[PR 3265]: https://github.com/libp2p/rust-libp2p/pull/3265
[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.41.0

Expand Down
2 changes: 1 addition & 1 deletion transports/noise/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-noise"
edition = "2021"
rust-version = "1.60.0"
description = "Cryptographic handshake protocol using the noise framework."
version = "0.42.0"
version = "0.42.1"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
8 changes: 5 additions & 3 deletions transports/plaintext/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
# 0.39.0

- Update to `libp2p-core` `v0.39.0`.
# 0.39.1 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.39.0

- Update to `libp2p-core` `v0.39.0`.

# 0.38.0

- Add more specific error reporting and remove `prost::Error` from public API. See [PR 3058].
Expand Down
2 changes: 1 addition & 1 deletion transports/plaintext/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "libp2p-plaintext"
edition = "2021"
rust-version = "1.60.0"
description = "Plaintext encryption dummy protocol for libp2p"
version = "0.39.0"
version = "0.39.1"
authors = ["Parity Technologies <admin@parity.io>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down
12 changes: 7 additions & 5 deletions transports/webrtc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# 0.4.0-alpha.3 - unreleased

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.4.0-alpha.2

- Update to `libp2p-noise` `v0.42.0`.

- Update to `libp2p-core` `v0.39.0`.

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

# 0.4.0-alpha

- Initial alpha release.
- Initial alpha release.
2 changes: 1 addition & 1 deletion transports/webrtc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "libp2p-webrtc"
version = "0.4.0-alpha.2"
version = "0.4.0-alpha.3"
Copy link
Member

Choose a reason for hiding this comment

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

Do I understand correctly that one can import this new libp2p-webrtc version through the v0.51.0 libp2p meta crate, as the v0.51.0 libp2p meta crate does not pin a specific version, more specifically 0.4.0-alpha.2 (note that there is no =)?

https://github.com/libp2p/rust-libp2p/blob/v0.51.0/Cargo.toml#L126

Should we release v0.51.1 of the libp2p meta crate, pinning all the alpha releases, like we did for v0.50.1? Similar to #3540? Otherwise we will get into the same trouble once we release a breaking new alpha of libp2p-{quic,tls,webrtc}, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. I thought that we did pin those? Did my PR for moving the code into the libp2p directory mess this up?

Copy link
Member

Choose a reason for hiding this comment

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

On master we do, but not v0.51.0.


A thought that I had just now: Are we doing alphas wrong? What if we never bump the versions behind the alpha tag, but instead use major, minor and patch just like for any other crate? In this case, we would bump to libp2p-webrtc 0.4.1-alpha. For breaking changes we would do 0.5.0-alpha. That should stop cargo from automatically upgrading to breaking changes, thus causing pain to users. We would no longer need to pin xxx-alpha versions via = in the dependent's Cargo.toml.

@thomaseizinger am I missing something?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We do alphas correctly as per the semver spec. Given that pre-releases allow for breaking changes, one could argue that cargo should pin them by default and not upgrade from one to the other.

I am not sure if this has ever been considered.

Copy link
Member

Choose a reason for hiding this comment

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

Any objections to the above suggestion? As far as I can tell it solves all our issues.

  • No more accidental automatic upgrade, unless intended (patch version bump).
  • No issues with transient dependencies, e.g. having to pin libp2p-tls in both libp2p-quic and libp2p where libp2p-quic is as well an alpha, thus needing a bump, thus needing a bump in libp2p, ...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think my preference would be to remove the dependencies instead and have users deal with it or we just drop the pre-release entirely.

Copy link
Member

Choose a reason for hiding this comment

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

I think my preference would be to remove the dependencies instead

I am in favor of removing libp2p-quic and libp2p-webrtc from the meta crate.

and have users deal with it or we just drop the pre-release entirely.

How would they deal with a breaking change in libp2p-tls? Would they pin it even though it is a transient dependency? The above suggestion solves this issue.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

and have users deal with it or we just drop the pre-release entirely.

How would they deal with a breaking change in libp2p-tls? Would they pin it even though it is a transient dependency? The above suggestion solves this issue.

That is still one we'd have to pin within libp2p-quic but I think pinning alpha's within other alpha's is simply something that you have to accept?

I think my preference would be to remove the dependencies instead

I am in favor of removing libp2p-quic and libp2p-webrtc from the meta crate.

libp2p-tls too right? Or should we promote that one as non-alpha? To be honest, I don't see why it would be alpha, we are depending on rustls there which is quite tested already, no?

authors = ["Parity Technologies <admin@parity.io>"]
description = "WebRTC transport for libp2p"
repository = "https://github.com/libp2p/rust-libp2p"
Expand Down