Finschia / cosmwasm

Fast and reusable WebAssembly smart contract runtime(and library) for finschia-sdk.
Apache License 2.0
27 stars 14 forks source link

semantic versioning rule #310

Open loloicci opened 1 year ago

loloicci commented 1 year ago

This repository now uses versions formatted x.x.x-y.y.y-zzz where x.x.x is the original CosmWasm's release version, y.y.y is our release version and zzz is the additional info (e.g. dynamiclink1). This does not observe the semantic versioning 2.0.0 (https://semver.org/spec/v2.0.0.html).

Problems: Observing semantic versioning, -y.y.y-zzz means this is the prerelease version of x.x.x, so this means the version before the original's x.x.x has lower priority than it.

Solution: Using "build metadata" and use versions formatted "x.x.x+y.y.y-zzz" or "x.x.x+finschia-y.y.y-zzz". This has the same priority as "x.x.x".

loloicci commented 1 year ago

if we use our original version "x.x.x" and publish the compatibility table with the original CosmWasm, our "x.x.x" should be newer than the original. This is because rust/cargo cannot patch newer version with older version.

zemyblue commented 1 year ago

How about replacing the current v1.1.1-0.7.0 with v1.0.0? And how about setting the version with the dynamic link function to v1.0.0+dynamiclink1?

loloicci commented 1 year ago

How about replacing the current v1.1.1-0.7.0 with v1.0.0?

as I said in https://github.com/Finschia/cosmwasm/issues/310#issuecomment-1607082301, we should use a newer version than the compatible original for using [patch] feature of cargo.