Extension versioning

I am using 3D Slicer 5.2.2, and have a number of extensions installed, including SlicerDMRI:
GitHub - SlicerDMRI/SlicerDMRI: Diffusion MRI analysis and visualization in 3D Slicer open source medical imaging platform.

According to the ExtensionManager in 3D Slicer, the SlicerDMRI version I have is 6207e52 (2023-02-23). The repository at issue only contains an old tag.

As far as I know, for CMake-based projects, the version is usually hosted in a *.cmake (e.g. SlicerVersion.cmake) file.

I am wondering how stable versions for extensions should be dealt with or are installed or picked by the Extension Manager.


The ExtensionsIndex repository stores what version of an extension (tag, branch, or hash) should be used for each Slicer version (in scm* fields in the .s4ext files).

For example, version of each extension that should be used with Slicer-5.4 are specified in this branch: GitHub - Slicer/ExtensionsIndex at 5.4

OK, thanks for info Andras.

In 3D Slicer, extension versions are managed through the Extension Manager, which ensures you have the latest stable version. The version you mentioned, 6207e52, corresponds to a release or update from the repository.

It is a simple commit. If you look at the tags and/or releases of the repository you’ll realize about the relevance of the question.

I only had a quick look at the extension index repository, and saw that there is a non-negligible amount of extensions that specify a non-tagged version for their scmrevision, which potentially implies that these are not necessarily stable.