It is my understanding that most programmers would expect a version number of Major.Minor.Patch to be semantic versioning. Since a change in a Major number indicates a breaking change then I would expect something to have broken.
Over the last few years of seeing the SWI-Prolog releases and the corresponding numbering the only things I know for certain are
- The numbers do increase and are sequential

- When the second number (Minor) is even it is a stable release
- That version numbers created from a Git Pull have the commit hash appended.
- There is another variation of the version that I see so rarely I canβt remember off the top of my head.
- The stable versions at times do increment the Patch value if a backward patch is made.
- There is a documentation page on version numbers: SWI-Prolog Versions
Personally I like seeing software with low Major numbers and large Minor numbers even with Minor numbers in the hundreds if the really are following semantic versioning. ![]()
EDIT
After reading reply by Jan W.
Example of DIRTY version. (ref)
SWI-Prolog version 8.5.7-26-g4a0a2091e-DIRTY