If you're a molecular modeler using the powerful SAMSON integrative molecular design platform, you've likely experienced the frustration of navigating compatibility when it comes to extensions. SAMSON Extensions significantly enhance functionality, but ensuring they work smoothly with your current SAMSON version can be a key concern. Let's delve into how SAMSON manages compatibility and how you can benefit from its seamless approach.
Understanding Extension Compatibility
When SAMSON starts up, it performs a crucial check: it compares its own version number with the version of the Software Development Kit (SDK) used to build each SAMSON Extension. The extension will only load if the SDK version used is compatible with SAMSON's version. This ensures that functionalities added or updated in newer SDK versions won't cause unexpected errors in your workflow.
The compatibility check adheres to a simple but strict semantic versioning policy. A specific version of SAMSON's SDK (e.g., majorSDK.minorSDK.patchSDK) is compatible with a SAMSON version (e.g., majorSAMSON.minorSAMSON.patchSAMSON) if and only if:
- Both major version numbers (majorSDK and majorSAMSON) are identical.
- The minor version number of the SDK (minorSDK) is smaller than the minor version number of SAMSON (minorSAMSON).
For example, SDK versions 1.3.5 and 1.7.7 are compatible with SAMSON version 1.7.8, while SDK version 1.8.5 is not. This ensures that extensions using newer functionalities are not loaded into an older SAMSON version that doesn't support them, maintaining stability.
Automatic Updates of Extensions
SAMSON takes care of keeping your extensions up to date—provided you have an internet connection. For instance, if you're running SAMSON version 1.7.8, and a new version of an extension built with SDK version 1.6.4 becomes available on SAMSON Connect, SAMSON will automatically update the extension during startup. This automatic update ensures you're always equipped with the latest tools and improvements while keeping compatibility intact.
What Happens If You Don't Update?
Let's say SAMSON and its SDK are updated to version 2.0.0, and the developer of an extension releases a new version built with this updated SDK. If you do not update SAMSON from your current version (e.g., 1.7.8), the platform will not update the extension. Instead, it will retain the most recent compatible version of the extension—ensuring that your projects continue uninterrupted while encouraging you to benefit from the latest features by updating SAMSON.
It's worth noting that extensions themselves have their own version numbers (major.minor.patch). While this can inform users about updates and changes, SAMSON only checks the SDK version of the extension to determine compatibility, making the process straightforward for users.
Stay Up-to-Date!
Compatibility issues can be a major hurdle for molecular modelers, especially when time-sensitive projects are involved. Taking advantage of SAMSON's automatic update feature and semantic versioning policy can save you time and effort, ensuring reliability and functionality.
For more detailed guidance on SAMSON's versioning system, visit the official SAMSON documentation.
SAMSON and all SAMSON Extensions are free for non-commercial use. You can download the platform at SAMSON Connect.
