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

Reply via email to