When a SAMSON Extension doesn’t load, it’s easy to assume something is wrong with your system or the extension itself. But in many cases, the issue boils down to one thing: version compatibility.
This post unpacks how SAMSON checks compatibility between its core version and the version of the SDK used to build Extensions. Understanding this will help you troubleshoot mismatches and keep your simulations running smoothly.
SDK Compatibility at Startup
When you start SAMSON, it checks the version number of each Extension’s Software Development Kit (SDK) against its own internal SDK version. SAMSON will only load an Extension if the builds are compatible.
So, what does compatible mean in this context?
SAMSON follows semantic versioning. Any version is expressed as major.minor.patch. For example, 1.7.8 refers to major version 1, minor version 7, and patch version 8.
An Extension is considered compatible if:
- The major version of SAMSON and the SDK are the same.
- The minor version of the SDK is less than the minor version of SAMSON.
Why? Because if you built your Extension using SDK version 1.8.x but your SAMSON is at 1.7.x, it may not support some functions your Extension calls. Upgrading SAMSON ensures these functions are available.
Examples That Clarify Everything
Let’s say your installed SAMSON is version 1.7.8.
- An Extension built with SDK
1.3.5→ ✅ Loads (same major, lower minor). - An Extension built with SDK
1.5.2→ ✅ Loads (same major, lower minor). - An Extension built with SDK
1.8.5→ ❌ Does not load (minor is higher).
This is because an SDK with a higher minor version might rely on features or API functions that don’t exist in your installed SAMSON version.
How Auto-Updates Help (But Also Have Limits)
SAMSON offers automatic updates of Extensions through SAMSON Connect. When new compatible versions of an Extension become available and you’re online, SAMSON will update the Extension during startup.
However, auto-updates respect your installed SAMSON SDK version. Even if a more recent version of the Extension exists, SAMSON will not install it if it’s built with a non-compatible SDK.
If your Extension isn’t updating or loading, here’s a checklist:
- Check the major version of your SAMSON installation. Does it match the Extension’s SDK version?
- Compare the minor version of the SDK used to build the Extension. It must be less than that of your SAMSON version.
- Update SAMSON if needed to improve compatibility with newer Extensions.
A Quick Tip for Extension Developers
While SAMSON doesn’t enforce a strict versioning policy for your Extension’s own version number, you should still version your Extensions using major.minor.patch. This helps users keep track of changes, even though SAMSON only evaluates the build SDK version to determine compatibility.
Version mismatches are a quiet culprit in many troubleshooting cases. Keeping your SAMSON installation up to date and aligning SDK versions can save you hours of confusion.
🧬 Learn more in the full documentation.
SAMSON and all SAMSON Extensions are free for non-commercial use. You can get SAMSON at www.samson-connect.net.
