Closed halms closed 3 weeks ago
related: java latest resolves to the loom variant
@finalchild In case of Java it is because there is no other (OpenJDK) 24.x version and Loom versions were not properly treated as early access by https://github.com/joschi/java-metadata for unknown reason. Also Java vendors adhere to proper semantic versioning which makes it easier to compare, sort etc. while 3.13.0t
certainly is not.
to be clear, this is limited to python-build, correct? I think what we should probably do is have both a setting and tool option for configuring this but make the default non-free threaded
or maybe as a simpler option, it appears that python-build configures this with PYTHON_BUILD_FREE_THREADING=1
so what we could instead do is just never use the "t" variants but people could install it by setting that env var and we could just document that.
This specific behavior (t
suffix) only affects python-build
.
The precompiled versions use a freethreaded
build tag to differentiate.
Setting the env var works for python-build
, but not for precompiled.
Maybe I'm off here, but ideally I'd see the freethreaded version as a separate variant like cpython-freethreaded-3.13
or just freethreaded-3.13
or something like that.
While it might be interesting to support explicitly choosing these version/builds, I think this is out of scope for this bug.
For now the focus is probably really just ignoring the t
versions.
Probably removing these from the candidate list is easier than having the solver not pick the t
version by default?
For now the focus is probably really just ignoring the
t
versions.
that's what my "simpler" solution is
Describe the bug Python 3.13 is released now and it allows an optional experimental support for free-threading (no GIL). These builds usually have a
t
suffix andpython-build
supports those. Now the version selection logic of mise prefers3.13.0t
over3.13.0
when specifyingmise use python@3.13
. (It works fine withmise use python@3.13.0
)I assume this to be an annoying case because for some tools an appended letter means some kind of minor/patch version (e.g. OpenSSL 1).
To Reproduce
mise doctor
output