Understanding Compatibility in SAMSON Extensions: A Practical Guide

For molecular modelers working with complex computational setups, ensuring compatibility between software versions is often a critical challenge. SAMSON, as a molecular design platform, takes a systematic approach to address this through its Semantic Versioning framework, helping users streamline their workflows with its SAMSON Extensions. Here’s how you can better understand and leverage SAMSON’s compatibility rules.

The Problem: Compatibility Between Extensions and SAMSON

When using SAMSON or developing with its SDK, ensuring compatibility between your extensions and the platform version is essential. Imagine spending hours designing a new workflow only to realize your tool isn’t compatible! This can halt progress, requiring either updates or significant troubleshooting. SAMSON’s built-in versioning and update mechanisms aim to alleviate these pain points.

How SAMSON Ensures Compatibility

SAMSON uses a Semantic Versioning approach to define compatibility between its core platform and extensions. Here’s how it works:

  • Both SAMSON and the SDK follow a major.minor.patch numbering system.
  • SAMSON will load an extension only if its SDK version matches these rules:
    • The major version numbers of SAMSON and the SDK must be identical (e.g., 1.x.y).
    • The SDK’s minor version must be smaller than or equal to the minor version of SAMSON. For example, an SDK version 1.3.5 is compatible with SAMSON version 1.7.8 but not 2.0.0.

Practical Examples

To put this into perspective, consider the following:

  • If your installed SAMSON version is 1.7.8, an extension built on SDK version 1.5.2 or 1.6.4 will be compatible and successfully loaded at startup.
  • However, if an extension uses SDK version 1.8.5, compatibility issues will arise since SAMSON 1.7.8 does not support SDK versions with a higher minor component.
  • Once SAMSON 2.0.0 is released, extensions built with earlier SDK versions retain compatibility as long as the major version aligns.

Why Automatic Extension Updates Matter

SAMSON helps users stay up-to-date automatically. For example:

  • If your current SAMSON version is 1.7.8 and a new version of your extension using SDK 1.6.4 is released, SAMSON will update the extension seamlessly.
  • Should SAMSON move to 2.0.0, and you don’t upgrade, SAMSON will keep your older compatible extension version (e.g., one built with SDK 1.6.4), ensuring stability and preventing incompatibility issues.

This system prioritizes reliability and minimizes interruptions, making it easier for researchers to focus on their science rather than technical concerns.

To make the most of SAMSON, keep your version updated regularly. This ensures you can use the latest extension capabilities and advances provided by the platform.

For more details on versioning, please visit the original documentation page: 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.

Comments are closed.