A simple Smalltalk package to handle comparisons of software version numbers.
| versionString version |
versionString := self fetchVersionStringFromSomewhere.
versionNumber := VersionNumber versionString: versionString.
(versionNumber between: '3.0' and '12.7.1')
ifFalse: [self error: 'incompatible version']
Tested in Pharo 13. It's likely compatible with other Smalltalk versions and dialects. If anyone finds that it's not compatible with their Smalltalk environment, I'd welcome pull requests.