Molecular modeling can be heavily reliant on the smooth functioning of software and its extensions. A common challenge modelers face is ensuring that extensions remain compatible with the main platform after updates. With the SAMSON molecular design platform, this challenge is addressed through a clear and robust versioning and compatibility system, ensuring stability and ease of use for researchers and developers alike. Here’s how.
Understanding Semantic Versioning in SAMSON
SAMSON and its Software Development Kit (SDK) evolve continuously to bring new features and fixes to users. Stability is achieved by employing semantic versioning, categorizing versions as major.minor.patch:
- Major version: Incremented when a non-backward-compatible update is released.
- Minor version: Incremented when new functionality is added in a backward-compatible way.
- Patch version: Incremented for backward-compatible bug fixes.
SAMSON’s Compatibility Policy
One of SAMSON’s highlights is how it ensures compatibility between the platform and its extensions. Here’s how it works:
- When SAMSON starts, it checks the version number of the SDK used to create each extension.
- If the major version numbers of SAMSON and the SDK are the same, the extension can load. A different major version signals a likely incompatibility, and the extension will not load.
- The minor version of the SDK must be smaller than or equal to SAMSON’s minor version. This ensures SAMSON always has the necessary functionality to support the extension.
For example, if your current SAMSON version is 1.7.8, it will be compatible with SDK versions like 1.3.5 and 1.6.4. However, it won’t load an extension built with SDK version 1.8.5 because SAMSON 1.7.8 might lack some functions introduced in SDK 1.8.5.
Automatic Updates for a Seamless Workflow
Compatibility challenges are further mitigated with automatic updates. If SAMSON detects that a new compatible version of an extension is available on SAMSON Connect, it will update the extension automatically during startup, provided there is an internet connection. Consider this scenario:
- You use SAMSON 1.7.8, and one of your extensions is built with SDK version 1.5.2. SAMSON confirms compatibility and loads the extension.
- If a newer version of the extension, built with SDK 1.6.4, is released, SAMSON will automatically update it while ensuring compatibility.
- However, if an extension built with SDK 2.0.0 is published, SAMSON 1.7.8 won’t update to this version until you upgrade SAMSON to a compatible 2.x version.
The Takeaway for Molecular Modelers
With its clear semantic versioning policies and automatic update functionality, SAMSON greatly reduces compatibility headaches often faced by molecular modelers. The platform ensures that you can focus on your work, assured that your extensions will function as intended within the ecosystem.
For detailed information about SAMSON’s versioning and compatibility processes, visit the official documentation at this documentation page.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. You can download SAMSON at SAMSON Connect.
