Have you ever installed or developed a new SAMSON Extension, only to find that SAMSON refuses to load it at startup? If you’re working in molecular modeling and relying on Extensions for your research or development, this can be frustrating.
This issue often has a clear cause: version compatibility between the Extension and SAMSON’s Software Development Kit (SDK).
Understanding Extension Compatibility
When SAMSON starts up, it verifies whether each installed Extension is compatible with the version of SAMSON you’re running. But what does “compatible” mean here?
Compatibility is determined according to the concept of semantic versioning. Both SAMSON and the SDK it uses follow a versioning scheme: major.minor.patch. When an Extension is developed, it is built against a specific version of the SDK. At runtime, SAMSON checks whether the SDK version used to build the Extension is compatible with the current SAMSON SDK version.
The Compatibility Rules
According to the SAMSON documentation, version compatibility follows two strict rules:
- The
majorversion numbers of SAMSON and the SDK used to build the Extension must be identical. - The
minorversion of the SDK used to build the Extension must be less than the current SAMSON SDKminorversion.
For example, if your SAMSON is version 1.7.8, then Extensions built with SDK versions like 1.3.5 or 1.7.7 are compatible. However, one built with 1.8.0 is not. SAMSON will refuse to load it because the minor SDK version is too new—it might rely on functionality that doesn’t exist yet in your SAMSON version.
Why Does This Matter?
This compatibility system helps ensure stability. Loading an Extension built with a later version of the SDK could lead to missing methods or behavior changes, breaking your workflow or causing unpredictable bugs.
For researchers and developers, understanding this system helps avoid confusion and lost time. Before attempting to load an Extension, verify which SDK version it was built with—this is often indicated in the documentation or project settings.
Automatic Updates Can Help
If you’re using an older SAMSON version, you may miss out on new or updated Extensions that require a later SDK version.
Fortunately, SAMSON supports automatic updates. If you’re online, SAMSON automatically updates Extensions during startup—but only if those updates are compatible with your current SAMSON version.
For the smoothest experience, it’s a good idea to regularly update SAMSON to the latest public release. This ensures maximum compatibility with the growing number of Extensions published on SAMSON Connect.
Best Practice
If your Extension doesn’t load:
- Check your SAMSON version (e.g.,
1.7.8). - Check the SDK version the Extension was built with (e.g.,
1.8.0). - Ensure the SDK’s
majorversion matches that of SAMSON exactly. - Ensure the SDK’s
minorversion is less than that of SAMSON. - Consider updating SAMSON if it is outdated.
This small check could save a lot of debugging time.
For more technical details, visit the official documentation page: https://documentation.samson-connect.net/users/latest/versioning/
SAMSON and all SAMSON Extensions are free for non-commercial use. You can download SAMSON at https://www.samson-connect.net.
