Library extension G'MIC Prerelease 3.0.1

That’s not an ideal convention either, as you have libraries that have a number in their name anyway, like e.g. libbz2, which would make it ambiguous to distinguish what is part of the version, and what is part of the name.

In the Mingw-w64 world, if you want add the SOVERSION to the dll, you would usually use a hyphen, so we have e.g.:

libarchive-13.dll
libbz2-1.dll
libpng16-16.dll

etc.

Also note that this is customarily done to distinguish major ABI changes in the library, so one doesn’t have to rebuild every time a minor/patch version is released, so I wouldn’t recommend putting the whole version in the name (on Windows). OpenCV does this for example, and it is very annoying (time wasting, environmentally not friendly, etc.) to have to rebuild everything depending on it for a minor version. On Linux this is not a problem because a major version symlink is created/maintained automatically e.g. libgmic.so.3 → libgmic.so.3.0.1 so it is always usable…

Finally, for many projects, the library ABI version (SOVERSION), at some point diverges and is independent of the project version…