For molecular modelers diving into the capabilities of SAMSON, ensuring that your extensions run smoothly alongside the latest platform updates can sometimes be a puzzling task. Fortunately, SAMSON adheres to a well-defined compatibility approach, making it easier to know when and why your extensions will function as expected. Here’s what you need to know about SAMSON Extension compatibility and versioning to keep your workflows uninterrupted.
The Core Idea: Compatibility Through Semantic Versioning
SAMSON Extensions rely on a specific version of the Software Development Kit (SDK) used to develop them. SAMSON verifies the compatibility of an extension by comparing the SDK version it was built with to its own SDK version. This process adheres to semantic versioning, where SDK versions follow a major.minor.patch format.
- Major versions (e.g.,
1.x.xvs.2.x.x): Non-compatible. If the major version differs, SAMSON won’t load the extension, as significant changes may introduce breaking updates. - Minor versions: Compatible as long as the extension’s SDK version is smaller than SAMSON’s own SDK version.
- Patch versions: Always compatible, as patch updates only introduce bug fixes or minor tweaks.
For example, extensions built with SDK version 1.3.5 can run on SAMSON SDK version 1.7.8. However, an extension built with SDK version 1.8.5 would not be compatible with SAMSON SDK version 1.7.8 because of the minor version limitation.
Automatic Updates Keep Extensions Fresh
One key advantage of SAMSON is its ability to automatically update extensions whenever new compatible versions become available on SAMSON Connect, provided there’s an internet connection. For instance, if a user has SAMSON 1.7.8 installed and an extension built with SDK 1.5.2, the system will automatically download an update if a compatible SDK version (e.g., 1.6.4) is published. This ensures extensions benefit from enhanced functionality or bug fixes with minimal input from users.
What Happens with Major Updates?
If SAMSON releases a new major version (e.g., 2.0.0), extensions built using older SDK versions will only work if the user updates SAMSON to the matching major version. Otherwise, SAMSON will continue using the last compatible version of the extension until an appropriate update takes place.
A Practical Example for Clarity
Let’s consider a scenario:
- The user has SAMSON version 1.7.8 installed.
- An extension built with SDK version 1.5.2 is in use. This works seamlessly because the major versions are identical, and 1.5.2 is compatible with 1.7.8.
- If a new extension version built with SDK 1.6.4 is released, it’s automatically updated, as it remains compatible with SAMSON 1.7.8.
- If SAMSON 2.0.0 is released and developers create extensions built with SDK 2.0.0, users will need to update their SAMSON version to benefit from these new extensions.
Why This Matters to You
Consistency in your workflow hinges on using compatible SAMSON Extensions. Regular updates of SAMSON ensure access to new features, fixes, and compatibility improvements, all of which can optimize your molecular modeling tasks. And by understanding how semantic versioning works in SAMSON, you can better plan updates and choose compatible extensions with confidence.
For more detailed information, we invite you to explore the official documentation at https://documentation.samson-connect.net/users/latest/versioning/.
SAMSON and all SAMSON Extensions are free for non-commercial use. You can download SAMSON at https://www.samson-connect.net.
