For molecular modelers and developers, maintaining compatibility between their tools is essential for ensuring a smooth and productive workflow. If you’re working with SAMSON Extensions, one critical aspect is understanding how compatibility is managed between SAMSON itself and the Software Development Kit (SDK) used to create the extensions.
When you launch SAMSON, it performs a compatibility check to ensure that each SAMSON Extension installed is compatible with its current version. This process is crucial because a mismatch in versions can cause extensions to not function as intended, or not load at all. Here’s how it works:
The Compatibility Check Explained
SAMSON follows a semantic versioning policy, where versions are structured as major.minor.patch. Extensions built with an SDK version must match SAMSON’s versioning rules to be loaded correctly:
- The
majorversion numbers (e.g.,majorSDKandmajorSAMSON) must be identical. This indicates that there are no breaking changes in the base functionality. - The
minorversion number of the SDK (minorSDK) must be smaller than or equal to theminorversion number of SAMSON (minorSAMSON). This means SAMSON can handle all the functionalities of the older SDK version used in the extension.
For example, let’s say you have SAMSON version 1.7.8. Extensions developed using SDK versions 1.3.x or 1.7.x will be compatible and load successfully. However, an extension built with SDK version 1.8.x will not be compatible with SAMSON 1.7.8 because the minorSDK version exceeds that of SAMSON.
What Happens With New Releases?
As SAMSON evolves, developers work on newer versions of both the platform and the SDK that powers the extensions. If a new SDK version (e.g., 2.0.0) is released but the user doesn’t update SAMSON, older extensions will remain functional, provided their SDK version is compatible with the current SAMSON version. This ensures that your workflow isn’t disrupted unnecessarily by updates you might not yet be ready to implement.
If, however, a developer releases an updated extension built with SDK 2.0.0, SAMSON version 1.7.8 won’t load it because the major version numbers differ. This underscores the importance of keeping SAMSON updated to maintain access to new extensions and improvements.
Automatic Updates for Convenience
One of the convenient features SAMSON offers is automatic updates for extensions. As long as your SAMSON version is compatible with the extension’s SDK version, SAMSON will automatically fetch and update your extensions when new versions are published on SAMSON Connect and an internet connection is available. This ensures that you always benefit from the latest features and bug fixes without extra effort.
For instance, imagine you’re using SAMSON version 1.7.8, and currently, a SAMSON Extension built with SDK version 1.5.2 is installed. In this case, SAMSON will automatically update the extension to any newer version built with a compatible SDK (e.g., 1.6.4) as long as it remains within the version boundaries defined above.
Conclusion
Managing compatibility between SAMSON and its extensions allows molecular modelers to focus on their research rather than worrying about technical mismatches. Keeping SAMSON updated not only improves functionality but also ensures you continue accessing extensions and tools that enhance your molecular modeling experience.
You can consult more detailed information on SAMSON’s versioning and compatibility policies on their official documentation page here: https://documentation.samson-connect.net/users/latest/versioning/.
SAMSON and all SAMSON Extensions are free for non-commercial use. You can download SAMSON and begin using it today at SAMSON Connect.
