For molecular modelers working with sophisticated software platforms like SAMSON, ensuring that all tools and extensions run smoothly can sometimes be a challenging task. This is where version compatibility becomes critical: each SAMSON Extension depends on specific versions of SAMSON’s Software Development Kit (SDK) to function as intended. Understanding how SAMSON handles compatibility can save valuable time and avoid compatibility issues, so let’s dive in!
How SAMSON Ensures Compatibility
On startup, SAMSON automatically checks the compatibility between its own version and the SDK version used to build each installed SAMSON Extension. A SAMSON Extension is loaded only if its SDK version is compatible with the current version of SAMSON.
The Semantic Versioning Policy
SAMSON follows a strict semantic versioning policy, which simplifies understanding compatibility:
- Both the SAMSON version and the SDK version follow a
major.minor.patchformat. - Compatibility is ensured under two key conditions:
- The
majornumber of the SAMSON version must match themajornumber of the SDK version. - The
minornumber of the SDK version must be smaller than or equal to theminornumber of the SAMSON version.
If these requirements are not met, SAMSON will not load the incompatible extension to prevent errors and instability. For instance:
- SDK version
1.3.5is compatible with SAMSON version1.7.8because they share the samemajorversion and the SDK’sminorversion (3) is smaller than the SAMSON’sminorversion (7). - However, SDK version
1.8.5is not compatible with SAMSON version1.7.8, as the SDK’sminorversion is higher.
Why It Matters
The strict versioning policy ensures that when you run an extension, its features and functionality are fully supported, avoiding unpredictable behavior or crashes. This is especially useful if you work with advanced simulations and require reliable results. By adhering to these rules, SAMSON helps you focus on your research instead of troubleshooting extensions.
Automatic Updates Simplify the Process
Another benefit of this system is the automatic update functionality. When new, compatible versions of SAMSON Extensions are released on SAMSON Connect, SAMSON will update them automatically during startup, provided you have an Internet connection. For example:
- If you are using SAMSON version
1.7.8with an extension based on SDK1.5.2, and a new version of the extension built with SDK1.6.4becomes available, SAMSON updates it seamlessly because the versions are compatible. - However, if SAMSON version
2.0.0and a new extension built with its SDK are released, but you haven’t updated SAMSON from version1.7.8, the extension will not be updated, maintaining compatibility with your current setup.
Updating Regularly Is Key
To take full advantage of new features, bug fixes, and compatible extensions, it is recommended to update SAMSON regularly. This ensures that your workflows remain uninterrupted and your tools are always up to date.
To learn more about versioning and compatibility in SAMSON, visit the official documentation here.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Don’t hesitate to get started and explore its capabilities today!
