Ensuring Compatibility Between SAMSON and Extensions.

For molecular modelers and developers working with SAMSON, ensuring that all extensions function seamlessly is a critical challenge. One of the most common user pains is trying to load a SAMSON Extension, only to find it incompatible with the current version of SAMSON. This blog post explains how SAMSON handles compatibility through its versioning policies and provides practical insights into preventing compatibility issues.

Versioning in SAMSON: Why It Matters

SAMSON utilizes semantic versioning to ensure stable and predictable integration for its Software Development Kit (SDK) and extensions. A version number in SAMSON follows the format major.minor.patch, where:

  • major changes indicate non-backward-compatible updates.
  • minor numbers are incremented for backward-compatible updates adding new features.
  • patch numbers cover backward-compatible bug fixes.

This system ensures developers can rely on clear versioning rules, reducing uncertainties when building and deploying extensions.

How SAMSON Maintains Compatibility

Every time SAMSON runs, it performs a compatibility check to ensure that extensions built with specific SDK versions are loaded only if they are compatible with the current SAMSON version. The compatibility rules are straightforward:

  • The major version number of the SDK must match the major version number of SAMSON.
  • The minor version number of the SDK must be smaller than or equal to the minor version of SAMSON.

Consider an example: SAMSON version 1.7.8 is compatible with the SDK versions 1.3.5 and 1.7.7. However, it is not compatible with SDK version 1.8.5 because the latter may rely on features not present in SAMSON version 1.7.8.

Automatic Updates to Simplify Extension Management

SAMSON simplifies the process of updating extensions. If your current version of SAMSON is compatible with a newer extension version available on SAMSON Connect, SAMSON will automatically update the extension during startup, as long as you have an active Internet connection.

For instance, suppose a SAMSON user runs version 1.7.8, and a new compatible extension built with SDK version 1.6.4 becomes available. SAMSON will automatically update the extension, enabling you to benefit from the latest features without manual intervention.

However, if a new version of SAMSON (e.g., 2.0.0) is released and an updated extension built with its SDK becomes available, the extension update will only take place if you first update your SAMSON version. Otherwise, SAMSON will retain the older compatible version of the extension.

What Can You Do to Avoid Compatibility Issues?

Here are some practical tips to ensure smooth integration and avoid compatibility errors:

  • Frequently update SAMSON: New updates bring fixes, features, and compatibility with the latest extensions.
  • Understand semantic versioning: Check the SDK version your extensions are built with and ensure they align with the compatibility rules.
  • Use SAMSON’s automatic update feature: This feature keeps your extensions consistent with your SAMSON environment.

By following these steps and leveraging SAMSON’s robust versioning system, you can minimize disruptions and make the most of your molecular modeling experience.

To dive deeper into SAMSON’s approach to versioning and compatibility, visit the official documentation page.

SAMSON and all SAMSON Extensions are free for non-commercial use. Learn more and download SAMSON at SAMSON Connect.

Comments are closed.