Mod dependency version has some vague definition in the ModDependency it states
The minimum version requirement of this dependency.
which basically means we can technically always get away with newest version regardless of version field without violating the VS's API.
However, in reality it could very well brake things if mod developers expect exact or specific semver constraint e.g. mod's dependency saying "mod":"1", in semver constraint it would mean any version 1.x.y is good but 2.x.y is not, in VS's API's definition both 1.x.y and 2.x.y are good.
We surely can't (and shouldn't?) solve the VS dependency definitions in Rustique. I'll try articulate this issue better and post on VS forum or discord, get more some input and do some research on what mod developers typically expect.
Side note
There's this weird definition in the Wiki specifically for game version
The game uses SemVer to compare, so for example "1.15.0" > "1.15.0-rc.3" > "1.15.0-rc.2" > "1.15.0-pre.1". You can set the value to an empty string or an asterisk ("game": "*") to allow compatibility with all versions.
Minimal code to reproduce
tmp=$(mktemp -d)
rustique-cli -m "$tmp" install combatoverhaul@0.12.7
# this should install combatoverhaul 0.12.7 (which it does)
# and overhaullib 1.17.5 which it doesn't honor the strict dep and installs latest version which is (atm) 1.18.2
rustique-cli -m "$tmp" list # to see dependencies and what's installed
rustique.log
Mod dependency version has some vague definition in the
ModDependencyit stateswhich basically means we can technically always get away with newest version regardless of version field without violating the VS's API.
However, in reality it could very well brake things if mod developers expect exact or specific semver constraint e.g. mod's dependency saying
"mod":"1", in semver constraint it would mean any version1.x.yis good but2.x.yis not, in VS's API's definition both1.x.yand2.x.yare good.We surely can't (and shouldn't?) solve the VS dependency definitions in Rustique. I'll try articulate this issue better and post on VS forum or discord, get more some input and do some research on what mod developers typically expect.
Side note
There's this weird definition in the Wiki specifically for
gameversionMinimal code to reproduce
rustique.log