The spec is here: https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Runtime.Version.html
So '~' is not a valid characters. Changing the definition not only require a change in the build script but also, at least, in Runtime.Version, inside the version of a module descriptor (stored inside the jars) and maybe in their consumer code. so the bar for such change is quite high ... regards, Rémi ----- Original Message ----- > From: "Erik Joelsson" <[email protected]> > To: "Vladimir Petko" <[email protected]>, [email protected], > "core-libs-dev" <[email protected]> > Sent: Wednesday, April 8, 2026 3:56:39 PM > Subject: Re: [External] : Proposal: allow tildes in --with-version-opt > On 4/7/26 18:06, Vladimir Petko wrote: >> Dear OpenJDK developers, >> >> The versioning scheme of OpenJDK is described in JEP 223 [1] and JEP 322 [2]. >> >> The OPT string is described as: “$OPT, matching ([-a-zA-Z0-9\.]+) --- >> Additional build information, if desired. In the case of an internal >> build this will often contain the date and time of the build.[1]” >> >> Debian and Ubuntu use the OPT string to convey packaging information, >> including the distribution (Debian or Ubuntu) and the package version. >> >> The OpenJDK version string in stable releases of Debian has the >> following package version format: >> <upstream-version>-<version>~deb<debian >> release-number>u<update-version>, e.g., “21.0.10+7-1~deb13u1”. Ubuntu >> uses the same convention, e.g., “21.0.10+7-1~25.10”. >> >> The OPT string sanitisation converts the OPT value to “1deb13u1” and >> “125.10”, stripping the ‘~’ symbol. >> >> I was wondering if it would be possible to file an enhancement issue >> or JEP (if needed) to allow the ‘~’ symbol in the OPT version string. > > I don't think this is an unreasonable proposal. Technically it should be > quite simple to implement in the build. I'm not sure what the process > for changing the definitions in the JEPs is though. > > /Erik
