ElementsProject / lightning

Core Lightning — Lightning Network implementation focusing on spec compliance and performance
Other
2.85k stars 902 forks source link

Rust-bins: Upgrade tonic to v0.12 for v0.1.8 #7597

Closed nepet closed 2 months ago

nepet commented 2 months ago

Upgrade tonic to v0.12 for rust bins v0.1.8

Description

This PR upgrades the tonic dependency of the rust libraries to v0.12. Latest version used was v0.8. Tonic had some major bugfixes in between these versions. We need to upgrade tonic for downstream consumers of our libs to be able to upgrade tonic as well.

This PR also introduces a new versioning scheme where we bump the minor semver version on any breaking api change such as the removal of deprecated calls as well as changes to the requirements of fields.

The whole rust lib stack cln-grpc cln-rpc cln-plugin and cln-grpc-plugin is now on v0.2.x, on top of tag cln v24.02.2 for the underlying message scheme.

nepet commented 2 months ago

Thanks for rebasing @ShahanaFarooqui, but rebasing on master will change the API that is used by the rust crates version v0.1.8. v0.1.8 points to 12f50ee20c740d1e2302c75eb5b5091d8a796d1d which is based on core lightning version v24.02.

The reason for this PR was to bump the version to a new minor version that allows us to upgrade dependencies (like tonic from v0.1.8 to v0.12.0 in this case) on patch versions and we used two different target branches for #7597 and #7598 to update the dependencies of v0.1.8 separately from v0.1.9 as greenlight is using v0.1.8 for compatibility reasons at the moment.

However, it turned out that the reason for an "urgent" update of the tonic crate disappeared and since greenlight will eventually use a newer version of the rust crates, this PR became unnecessary.

Let's just bump the rust crates form v0.1.9 to v0.2.0 together with the tonic upgrade on #7598 and drop this PR toghether with a comlicated update strategy on different branches.

nepet commented 2 months ago

Closed, moved to #7598