For molecular modelers working with SAMSON, one of the most critical aspects to grasp is how version compatibility affects the functionality of SAMSON Extensions. Extensions are an integral part of SAMSON’s modular platform, and ensuring they work seamlessly with your installed version of SAMSON can save time and prevent frustration.
Why Version Compatibility Matters
Extensions rely on the SAMSON Software Development Kit (SDK) to function. Both SAMSON and its SDK follow a semantic versioning scheme, which impacts compatibility between SAMSON and its Extensions. This semantic versioning system is particularly useful if you're developing or making use of specialized extensions since it ensures that updates are predictable and measurable in terms of compatibility.
How Compatibility Works
SAMSON's versioning rules dictate how Extensions are loaded during start-up. Specifically, SAMSON compares its internal version number (major.minor.patch) with the version number of the SDK used to build the Extension. As per the documentation:
- Major compatibility: Extensions are only loaded if the
majornumbers of SAMSON and the SDK match. For example, an Extension built using SDK version 1.x.x will only work with SAMSON versions starting with 1.x.x. - Minor flexibility: An Extension's
minorSDK version must be less than or equal to theminorversion of SAMSON. For example, an SDK version 1.3.x Extension is compatible with SAMSON version 1.7.x but not 1.2.x.
This ensures that Extensions can rely on functions without worrying about incompatible changes or missing features.
Managing Automatic Updates
Another useful feature of SAMSON is its ability to handle automatic updates of Extensions. SAMSON automatically updates an Extension if a new, compatible version becomes available on SAMSON Connect, and an Internet connection is present. This feature guarantees you always have the latest stable bug fixes and additions that remain compatible with your installed SAMSON version.
However, if a new major version of SAMSON is released and a new version of an Extension depending on the updated SDK is also published, SAMSON will not update incompatible Extensions. This helps maintain stability for your current workload without the risk of bringing in a non-functional update.
A Practical Example
Imagine you're working with SAMSON version 1.7.8. At start-up, SAMSON checks the SDK version of your Extensions. An Extension built with SDK version 1.5.2 will load just fine since it is compatible. If a new Extension update built with SDK 1.6.4 becomes available, SAMSON will automatically apply that update because it's still within the compatible range.
However, if version 2.0.0 of SAMSON and its SDK is released, Extensions requiring SDK 2.x.x will not load unless you update your SAMSON installation to version 2.x.x. This ensures a well-integrated and stable working environment.
Stay Current and Save Time
To make your modeling experience even smoother, make sure you regularly update your SAMSON installation. This practice ensures you always have access to new features and are in sync with the latest Extensions available on SAMSON Connect.
You can explore more about the versioning details on the official documentation page here: https://documentation.samson-connect.net/users/latest/versioning/.
SAMSON and all SAMSON Extensions are free for non-commercial use. Download it today at SAMSON Connect.
