Ensuring Compatibility of SAMSON Extensions

For molecular modelers working with sophisticated software platforms like SAMSON, ensuring that all tools and extensions run smoothly can sometimes be a challenging task. This is where version compatibility becomes critical: each SAMSON Extension depends on specific versions of SAMSON’s Software Development Kit (SDK) to function as intended. Understanding how SAMSON handles compatibility can save valuable time and avoid compatibility issues, so let’s dive in!

How SAMSON Ensures Compatibility

On startup, SAMSON automatically checks the compatibility between its own version and the SDK version used to build each installed SAMSON Extension. A SAMSON Extension is loaded only if its SDK version is compatible with the current version of SAMSON.

The Semantic Versioning Policy

SAMSON follows a strict semantic versioning policy, which simplifies understanding compatibility:

  • Both the SAMSON version and the SDK version follow a major.minor.patch format.
  • Compatibility is ensured under two key conditions:
    • The major number of the SAMSON version must match the major number of the SDK version.
    • The minor number of the SDK version must be smaller than or equal to the minor number of the SAMSON version.

If these requirements are not met, SAMSON will not load the incompatible extension to prevent errors and instability. For instance:

  • SDK version 1.3.5 is compatible with SAMSON version 1.7.8 because they share the same major version and the SDK’s minor version (3) is smaller than the SAMSON’s minor version (7).
  • However, SDK version 1.8.5 is not compatible with SAMSON version 1.7.8, as the SDK’s minor version is higher.

Why It Matters

The strict versioning policy ensures that when you run an extension, its features and functionality are fully supported, avoiding unpredictable behavior or crashes. This is especially useful if you work with advanced simulations and require reliable results. By adhering to these rules, SAMSON helps you focus on your research instead of troubleshooting extensions.

Automatic Updates Simplify the Process

Another benefit of this system is the automatic update functionality. When new, compatible versions of SAMSON Extensions are released on SAMSON Connect, SAMSON will update them automatically during startup, provided you have an Internet connection. For example:

  • If you are using SAMSON version 1.7.8 with an extension based on SDK 1.5.2, and a new version of the extension built with SDK 1.6.4 becomes available, SAMSON updates it seamlessly because the versions are compatible.
  • However, if SAMSON version 2.0.0 and a new extension built with its SDK are released, but you haven’t updated SAMSON from version 1.7.8, the extension will not be updated, maintaining compatibility with your current setup.

Updating Regularly Is Key

To take full advantage of new features, bug fixes, and compatible extensions, it is recommended to update SAMSON regularly. This ensures that your workflows remain uninterrupted and your tools are always up to date.

To learn more about versioning and compatibility in SAMSON, visit the official documentation here.

Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Don’t hesitate to get started and explore its capabilities today!

Comments are closed.