For molecular modelers who rely on SAMSON for their research, ensuring the compatibility of SAMSON Extensions with your platform version can be crucial. Extensions enable custom workflows and advanced functionalities, but they must be compatible with the version of SAMSON you are running. Misaligned versions may lead to extensions failing to load or function properly, causing workflow interruptions.
How SAMSON Handles Extension Compatibility
SAMSON uses a versioning system based on semantic versioning to ensure compatibility. Each version of SAMSON and its Software Development Kit (SDK) is assigned a version number following the major.minor.patch format. When starting up, SAMSON compares its version number with the SDK version number of each SAMSON Extension and only loads an extension if the SDK’s version is compatible. This system minimizes the risk of running incompatible extensions.
For compatibility, the following rules apply:
- The major version numbers of SAMSON and the SDK used to build the extension must be identical.
- The minor version number of the SDK should be smaller than that of SAMSON. This ensures backward compatibility, where improvements and fixes in SAMSON won’t break extensions built with older SDK versions.
For example, let’s say you are running SAMSON version 1.7.8. A SAMSON Extension built with SDK version 1.5.2 will load successfully because the major version matches (both 1), and the minor SDK version 5 is smaller than SAMSON’s minor version 7. However, an SDK version 1.8.5 would not be compatible with SAMSON version 1.7.8 because its minor version 8 exceeds SAMSON’s.
Automatic Updates and Long-Term Compatibility
One of the convenient features of SAMSON is its ability to automatically update extensions when new compatible versions become available on SAMSON Connect. Here’s how it works:
- If your SAMSON version is older (e.g.,
1.7.8) but still compatible with the SDK version used to build a new extension (e.g., SDK1.6.4), SAMSON will automatically update the extension during startup when an Internet connection is available. - However, if a new major version of SAMSON (e.g.,
2.0.0) and SDK is released, extensions built with this newer SDK will not be updated or loaded unless you update SAMSON to match the new version.
This approach ensures stability—no extensions will suddenly stop working due to major version mismatches. However, updating SAMSON regularly allows you to take full advantage of the latest features and fixes.
Practical Tips for Users
To avoid compatibility issues, consider the following best practices:
- Keep SAMSON updated: New versions of SAMSON often come with feature improvements and expanded backward compatibility with older SDKs. Use SAMSON’s automatic update feature to stay current.
- Check compatibility before installing new extensions: When downloading an extension from SAMSON Connect, verify that its SDK version aligns with your SAMSON version.
- Understand version numbering: Remember that the major version number determines compatibility. Matching major versions between SAMSON and SDKs is critical, while minor updates generally enhance functionality without breaking compatibility.
Compatibility features in SAMSON safeguard your workflows and minimize disruptions caused by version mismatches, ensuring a smooth experience with your extensions.
Interested in learning more about SAMSON’s versioning system and compatibility? Visit the official documentation for detailed information.
SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON at SAMSON Connect.
