Understanding SAMSON Extension Compatibility Made Simple

For molecular modelers developing or using extensions in SAMSON, ensuring compatibility between extensions and platform versions can be a key concern. Extensions are vital tools that enhance functionality, yet making sure they run smoothly with the SAMSON platform requires understanding an important concept: version compatibility based on semantic versioning.

Why Compatibility Matters

SAMSON Extensions rely on a specific version of the Software Development Kit (SDK) to compile and run effectively. During startup, SAMSON checks whether the SDK version used to build each installed extension is compatible with its current platform version. If incompatibility is detected, the extension is not loaded. This ensures the stability of SAMSON and prevents errors that could stem from unsupported versions, but it also means users need to be aware of compatibility rules.

The Compatibility Rule: Simple but Crucial

Understanding the compatibility rule helps maintain a smooth experience. A SAMSON SDK version majorSDK.minorSDK.patchSDK is compatible with a SAMSON platform version majorSAMSON.minorSAMSON.patchSAMSON if the following conditions are met:

  • The majorSDK version number is identical to the majorSAMSON version number.
  • The minorSDK version number is smaller than or equal to the minorSAMSON version number.

For example:

  • SDK 1.3.5 and SDK 1.7.7 are compatible with SAMSON 1.7.8, because both share the same major version number (1), and the SDK minor versions (3, 7) are less than or equal to SAMSON’s minor version (7).
  • SDK 1.8.5, however, is not compatible with SAMSON 1.7.8, because the SDK’s minor version (8) exceeds SAMSON’s minor version (7). An extension built with SDK 1.8.5 might rely on features or functions not available in SAMSON 1.7.8.

Automatic Management and Updates

With frequent updates to SAMSON, users can take advantage of its automatic management of extension versions:

  • SAMSON loads extensions built with compatible SDK versions.
  • When new, compatible versions of an extension become available on SAMSON Connect, the platform updates them automatically (if an internet connection is available).

Consider this scenario: you’ve installed SAMSON 1.7.8, and your extension uses SDK 1.5.2. SAMSON will load this extension, as the major version matches (1), and the SDK minor version (5) is less than SAMSON’s minor version (7). If a new compatible version of the extension built with SDK 1.6.4 is released, SAMSON updates it automatically. However, if a new version of the SDK (e.g., 2.0.0) is used for further updates, these will not install unless you update SAMSON to a 2.x compatible version.

Keeping It Simple

All you have to do as a user is update SAMSON regularly to access improvements and fixes, ensuring extensions function optimally. Extensions that are incompatible are simply skipped during startup, preventing workflow disruptions.

For molecular modelers or developers, keeping these rules in mind boosts your productivity and ensures that you use the most up-to-date tools. Dive deeper into this topic by visiting SAMSON documentation.

SAMSON and all SAMSON Extensions are free for non-commercial use. Download SAMSON at SAMSON Connect.

Comments are closed.