Why Your Extension Won’t Load in SAMSON (And What You Can Do About It)

For molecular modelers developing or installing SAMSON Extensions, encountering an extension that won’t load at startup can be frustrating—especially when everything appears correctly installed. The problem often comes down to one word: compatibility.

This issue typically arises because each SAMSON Extension is built with a specific version of the SAMSON Software Development Kit (SDK), and the SAMSON application checks whether this SDK version is compatible at runtime. The check is based on semantic versioning. In this post, we explore how this versioning works in SAMSON, and what it means for your workflow as a modeler or developer working with extensions.

Version Numbers: What Do They Mean?

SAMSON and its SDK use a versioning format major.minor.patch, as in 10.0.0. Each of these parts has a well-defined purpose:

  • Major: Increments when there are breaking changes.
  • Minor: Increments when new functionality is added in a backward-compatible manner.
  • Patch: Increments when backward-compatible bug fixes are added.

The same format applies to each Extension’s SDK dependency.

What Is Considered Compatible?

SAMSON will load a SAMSON Extension only if the SDK version used to build it is compatible with the running SAMSON version. Specifically, compatibility exists only if:

  • The major version numbers of SAMSON and the SDK match.
  • The minor version of the SDK is less than or equal to the minor version of SAMSON.

This ensures that SAMSON Extensions don’t rely on SDK features not yet included in the installed application.

Sample Scenario

Suppose you have SAMSON version 1.7.8. Let’s say an extension was built with SDK 1.5.2. Since the major version (1) matches and 5 ≤ 7 for the minor version, the extension loads fine. However, if the extension was built with SDK 1.8.5, SAMSON 1.7.8 won’t load it—even though only the minor version differs. SAMSON can’t guarantee backward compatibility for future SDK capabilities.

Automatic Updates: Friend or Foe?

SAMSON automatically updates Extensions when compatible new versions appear on SAMSON Connect (with an internet connection available). But this update will only occur if the new version remains compatible. For users running an older SAMSON version, even if an updated Extension is available, it won’t install if it was built with a newer, incompatible SDK.

SAMSON Extension Compatibility

Best Practices

  • Keep SAMSON updated: SAMSON’s auto-update mechanism provides access to more compatible Extensions and bug fixes.
  • Develop with the minimum supported SDK: If you’re an Extension developer, build against the lowest SDK version that includes the features you need. This broadens compatibility.
  • Check the SDK version used to build the Extension: Particularly when sharing Extensions, document the SDK version used during development.

Understanding this compatibility model can help avoid the surprise of a plugin failing to appear or failing to load. Whether you’re using or building Extensions, versioning plays a key role in ensuring a stable and functional modeling environment.

To learn more, visit the full SAMSON documentation on versioning: https://documentation.samson-connect.net/users/latest/versioning/

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

Comments are closed.