Understanding Compatibility Between SAMSON and Extensions.

Molecular modelers often face a frustrating challenge: ensuring that tools and extensions they rely on are compatible with their current software version. SAMSON, the integrative molecular design platform, addresses this through a well-defined versioning system that brings clarity and predictability to compatibility.

Why Version Compatibility Matters

Let’s say you’re using a critical SAMSON Extension for your molecular modeling workflows. If SAMSON updates or the Extension evolves, ensuring these two remain compatible is key to avoiding interruptions. The last thing you want is for your software tools to malfunction when you’re in the middle of a crucial task.

This is where SAMSON’s semantic versioning comes into play. Each version of SAMSON and its Software Development Kit (SDK) has a distinct version structure: major.minor.patch. This structure is not just a naming convention—it defines the compatibility rules for SAMSON Extensions.

How SAMSON Handles Compatibility

When SAMSON starts, it checks whether the version of its SDK matches the one used to develop each SAMSON Extension. An Extension is only loaded if it meets the compatibility rules laid out by SAMSON:

  • The major version numbers of the SDK and SAMSON must match.
  • The Extension’s SDK minor version must be smaller than or equal to SAMSON’s minor version.

For instance, if your SAMSON version is 1.7.8:

  • Extensions built with SDK versions 1.3.5 or 1.7.7 would work fine since the major versions are the same and the minor version of the SDK is smaller than or equal to that of SAMSON.
  • Extensions built with SDK version 1.8.5 would not load, as their minor version exceeds SAMSON’s minor version of 7.

This straightforward approach keeps your Extensions functional, ensuring a seamless modeling experience.

Automatic Updates to Keep You in Sync

SAMSON also incorporates an automatic Extension update system. Suppose you’re using SAMSON version 1.7.8 and an Extension built with SDK 1.5.2. SAMSON will load this Extension without problems. Later, if the developer releases a new Extension version built with SDK 1.6.4—and your SAMSON version is compatible—SAMSON will automatically update the Extension during startup.

This feature is particularly useful to ensure you’re always benefiting from the latest fixes and improvements, provided your SAMSON version is compatible with the updates.

When to Manually Upgrade SAMSON

There is one scenario where you might need to manually intervene. If a developer adds a new version of an Extension built with a higher major SDK version (say 2.0.0 when your SAMSON version is 1.7.8), SAMSON will not load the new Extension. To use it, you would need to upgrade SAMSON to version 2.0.0 or later.

This logical separation between versions ensures stability and reliability in day-to-day workflows, while giving you control over when to adopt major new changes.

Final Thoughts

SAMSON’s versioning and compatibility system is designed to minimize disruptions, keeping your Extensions and workflow operational even as the software evolves. By understanding the versioning logic, you can avoid compatibility headaches and take full advantage of automatic updates.

To learn more, visit the complete documentation on this topic at SAMSON Versioning Documentation.

SAMSON and all SAMSON Extensions are free for non-commercial use. Get started today at SAMSON Connect.

Comments are closed.