-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
'parulin' via qubes-devel, 2026-07-28 17:33 +02:00:
> [...]
Since this is a response to Ben's comment, let me quote it in full:
> IMHO documenting the branch naming scheme should be a requirement to
> close this issue. Because the issue was discussed on qubes-devel, but
> the final decision was not shared there, and I didn't find a PR that
> set the new names (so it appears to be a build config rather than in
> repository code), and the end result is not an intuitive naming
> scheme:
>
> - `latest` is not the latest
It's the latest released version of Qubes OS. And the version that is in
general recommended to use.
> - `development` name was not discussed and it is very long, could have
> been "testing", the same name we use for unstable releases
I think devel[opment], is pretty common use. See for example our "devel"
repo that also tracks the main git branch.
> Comparison with other projects:
>
> - [Qubes](
https://doc.qubes-os.org/en/r4.3/)
> - defaults to `r4.3`, unlike the others
> - developers use `development`, unlike the others that use `latest`
> - names are not chronologically ordered, the branch chooser shows
> as `latest`, `r4.3`, `r4.2`, `development`, but `development`
> should be on the left side of `latest`, like the others.
> - has EOL version for now, but there are plans to remove it
> - [borgbackup](
https://borgbackup.readthedocs.io/en/stable/#):
> - defaults to `stable`
> - there are specific versions to choose (they don't remove old versions)
> - developers use `latest`, chronologically sorted
> - has EOL version
> - [Securedrop workstation](
https://workstation.securedrop.org/en/stable/):
> - defaults to `stable`
> - developers use `latest`
> - no EOL version
> - [Python](
https://docs.python.org/3/)
> - URL defaults to the major stable release `3`
> - branch chooser defaults to the last release, 3.14.6
> - doesn't use branch names, only for `dev` and `pre`
> - has EOL versions
> - [RTD](
https://docs.readthedocs.com/platform/stable/):
> - defaults to `stable`
> - other branches are not listed via the branch chooser but if you
> type `latest` in the URL you get the developers version with a
> warning: _This is the latest development version. Some features
> may not yet be available in the published stable version. Read the
> stable version of this documentation._
> - no idea about EOL version, might be hidden
>
> - [RTD - Versions](
https://docs.readthedocs.com/platform/latest/versions.html):
>
>> Having a “stable” and “latest” branch so that users can see the
>> current release and the upcoming changes.
>
> We don't have that.
>
> - [RTD - Versions are Git tags and branches](
https://docs.readthedocs.com/platform/latest/versions.html#versions-are-git-tags-and-branches)
>
>> Read the Docs also creates a `latest` version that points to the
>> default branch defined in your Git repository (usually `main`). This
>> version should always exist and is the default version for your
>> project.
>
> `lastest` It is the "default version of the project", doesn't mean it
> is the default we should use. It certainly isn't the default RTD uses
> when visiting
https://docs.readthedocs.com, it will choose `stable`.
>
> - [RTD - Versioning workflows](
https://docs.readthedocs.com/platform/latest/versions.html#versioning-workflows)
>
>> The `latest` version points to the most up to date development code.
>> If you develop on a branch that is different than the default for
>> your version control system, set the **Default Branch** to the branch
>> you use.
>
> I think I have made enough points that:
>
> - replace `development` branch for `latest`
> - point `stable` branch to the last stable release
> - default to `stable` branch
I wasn't involved in deciding what names to use, but to me the current
scheme makes a lot of sense.
What is called "latest", "stable", etc. and what is the default to look
at is very different from project to project (I mean in projects in
general, not RTD specifically). And "latest" in particular is inherently
ambiguous. Is it the latest development version? The latest release? The
latest version of the docs (for which branch?)?
So I think we should pick something that makes sense for our project and
the current scheme does this, in my opinion:
- It defaults to the latest release (what most users want to look at),
with the version number so that links are more stable.
- The list is followed by older versions.
- The "latest" alias allows links that always point to the latest
released version. (A redirect, if supported by RTD, would be nicer
for this)
- development branch listed last, since most users don't want to look
at that version and anybody that needs it, knows enough to understand
the differences.
In your examples the Python example is rather similar. Another very
similar example would be Fedora's user docs:
https://docs.fedoraproject.org/en-US/fedora/latest/
(you might need to scroll in the sidebar after clicking on the version,
to see the full list)
- Default "latest", meaning "latest release".
- Versioned numbers for older releases.
- Special name for development version ("rawhide")
I wouldn't worry so much about what's the default in RTD. From the
person reading the docs, RTD is an implementation detail and their
default doesn't match clearly on Qubes anyway:
- For some duration we have multiple supported releases.
- "stable" is not wrong, but a bit odd naming, since we mostly just
talk about releases, without further categorizing (unlike for example
the Linux kernel)
- "latest" is ambiguous and not what most users want to look at
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmpp1IgACgkQkO9xfO/x
ly+tFQ//QewZbYnnpgCEw+96Yu4jx3hAIUFl0vahwmFQvAtkM9YMj9GTla9jw3Tb
dFqYLFuOZstSNgdQnEKtRohaRP0LhyQs/NV0mJg2CQxL/YAIFMPk1xvtCXKQwdwk
bOs4TMtGoNfeVXkjnlxnqgwindtMj55BuSpsKIjlFTATX/iFqbLeGehTAZfv9CFp
hKxFMy+kyhzR9sp59SWZHvZtWcdJhm4NKW3zkFs79z0Zv6THaZNyAsKz9jtufQYh
hW4dGY2Lt/frufV6CAsb9tIP6g+LJSFeBHxaqMGCaMS9OKK1SCNxGjhH4bmQfuE7
PhWqo6r+ARSrNh+SSWnI279H4xtDTWvmOocL+e9RynF1BYqHmFIDUreeAWgYxFJL
9wsalEbVru6DCxDRMPezLE8qyoGgWpnh1GIcsTkyUpg8T56Ws8wiVDg1HuvxsjZ8
G2kVawcoBUuT5GXjxRt2jUpzVn9uTuEea8igYp0HAJjgxwWf0wu7nNA9hnQatgKa
KUvYogM7RTH0rEZAJ2muUCHV2JaI2S+I6o/RMyr+YoYsDzZtCjiaBQ4tUKcdmIDt
IPMhqyS74LMH1QkcG59a8XK2Gco82gpaRGywQ34NOCMQFQmIxwMhCAVA+a0rEb7h
DVO+dzXu3N4qJ0B3G7Y8O2YLe/FO+ZvdAQxEN9zGH8H7+b6inp4=
=+vE6
-----END PGP SIGNATURE-----