How SAMSON Ensures Compatibility Between Extensions and Updates

Solving Compatibility Challenges in Molecular Design

One of the common pains faced by molecular modelers is ensuring that software tools and their extensions remain compatible as updates are released. This can be particularly frustrating when an extension you rely on stops working after updating your platform, causing workflow interruptions and delays. How does SAMSON, the integrative molecular design platform, tackle this issue? Let's explore.

Understanding SAMSON's Version Compatibility

SAMSON employs a robust compatibility system based on semantic versioning principles. This system ensures that SAMSON Extensions, created using SAMSON's SDK, remain functional with platform updates, as long as compatibility criteria are met.

When SAMSON launches, it checks the version of the SDK used to build each extension and compares it with its own version. Extensions are loaded only if the SDK version they are built with is compatible with the SAMSON platform version.

Key Rules for Compatibility

SAMSON ensures compatibility under the following conditions:

  • The major version numbers of the SDK and SAMSON must be identical. This ensures that there are no breaking changes between the two.
  • The minor version number of the SDK must be smaller than or equal to the minor version number of SAMSON. This allows for backwards compatibility with earlier SDK functionalities.

For example, if the SAMSON platform version is 1.7.8, extensions built with SDK versions 1.3.5 or 1.7.7 can be loaded, but those built with SDK version 1.8.5 will not be compatible. In such cases, attempting to use an incompatible extension may result in errors, as newer SDK features might not be present in the older platform version.

Automatic Updates for Seamless Workflow

To minimize user disruptions, SAMSON incorporates automatic updates for extensions. If a newer, compatible version of an extension becomes available on SAMSON Connect, the extension is updated automatically upon startup, provided an Internet connection is available.

Consider an example where you're using SAMSON version 1.7.8, and an extension built with SDK version 1.5.2. This extension will function without issues. If a newer version of the extension, built with SDK 1.6.4, is released, SAMSON will automatically update the extension to the newer version during startup. This way, you always benefit from the latest features and fixes without manual intervention.

However, if a new major version of the SAMSON platform—for instance, 2.0.0—is released, extensions built with SDK 1.x (e.g., 1.6.4) will not be updated, since extensions built with a different major version are not compatible by design.

Encouraging Regular Updates

SAMSON's versioning and compatibility approach emphasizes the importance of keeping the platform up to date. Regular updates ensure that you receive new functionalities, performance improvements, and compatibility with the latest extensions. To encourage this, SAMSON provides an automatic update feature to streamline the process.

Learn More

By maintaining a strict semantic versioning policy, SAMSON saves molecular modelers from compatibility headaches while offering room for innovation. For more information, visit the official documentation at https://documentation.samson-connect.net/users/latest/versioning/.

Note: SAMSON and all SAMSON Extensions are free for non-commercial use. You can download SAMSON at https://www.samson-connect.net.

Comments are closed.