Web Analytics Made Easy - Statcounter
Skip to content

Changelog for SDK 2025 R1 (v.7.0.x)#

Changelog for SDK v.7.0.1#

This patch release introduces a number of fixes and improvements, including:

  • Fixed some rendering issues (e.g., shadow pass in textured triangles).
  • Fixed exposure of SBQuantity objects and lists in the Preferences when exposing options of apps, importers, exporters, etc.
  • Switched to use std::filesystem::path to treat file paths as UTF-8 for all OS. This is used, for example, in serializers (SBCSerializerBinary, SBCSerializerXML) and in SBIFileReader::getFileLines.
  • Cloned and extracted nodes now have new random UUIDs different from the UUIDs of original nodes.
  • Fixes in audio/mic setup on macOS.
  • Ship additional libraries for working with databases.
  • etc.

Changelog for SDK v.7.0.0#

This release brings multiple changes in the SDK, various new features, fixes of known and reported issues, and improved documentation.

Main changes:

  • Now uses Qt 6.8.2.
  • Apps now have a dedicated function to render app-related things (no need to create visual models for apps) and a handler for document events. See App changes.
  • You can now export static settings of your classes (apps, editors, importers, exporters) such that they would appear in the main Preferences of SAMSON. In case of an app with such exposed settings, it will have a settings gear in its toolbar through which users can easily access them. See Class library changes.
  • You can now easily make your setter functions undoable thanks to new SB_HOLD_* macros. See Undo library changes.
  • Some nodes (models, path, conformation) can now store the source file, which can be shown in the Inspector (e.g., see SBMModel changes)
  • Most of the enums are now enum class for safety reasons.
  • Allow non discoverable apps using the SB_CLASS_NON_DISCOVERABLE macro (should be used in the app's descriptor).
  • Exposed Functionality Viewer now generates ready-to-use C++ code to use the functionality exposed via the introspection mechanism.

See also: What's new in SAMSON 2025 R1.

Core library group#

Class library#

Breaking changes:

  • Split SBCClassAttribute::Type into SBCClassAttribute::Access and SBCClassAttribute::Type to make it more general. Corresponding changes in SBCClassAttribute constructors and macros that expose attributes of classes for introspection.
  • Rename macros that expose static attributes from SB_ATTRIBUTE_STATIC_* to SB_STATIC_ATTRIBUTE_* for consistency (see SBCClassInterface.hpp).

New functionality:

  • Attributes can now be static. Added function SBCClassAttribute::getStaticFlag(). Added corresponding macros to expose such attributes (SBCClassInterface.hpp), see SB_STATIC_ATTRIBUTE_*. Now you can easily expose static settings of your classes (apps, editors, importers, exporters, etc.).

Container library#

Some improvements in SBCContainerBuffer.

Undo library#

New macros to facilitate the implementation of undoable setter functions (see SBCUndoCommand.hpp):

  • SB_HOLD_SET, SB_HOLD_SET_IMPLEMENTATION, SB_HOLD_SET_POINTER_IMPLEMENTATION,
  • SB_HOLD_ADD, SB_HOLD_ADD_IMPLEMENTATION,
  • SB_HOLD_CLEAR, SB_HOLD_CLEAR_IMPLEMENTATION.

DataModel library group#

App library#

New functionality in the SBDApp class:

  • display - to display elements related to the app,
  • onDocumentEvent - handles document events.

ColorScheme library#

New color schemes:

  • SBDColorSchemeCPKPerStructuralModelCarbons
  • SBDColorSchemePerStructuralModel
  • SBDColorSchemePerStructuralModelIllustrate

DataGraph library#

New base event type: SBDDataGraphBaseEvent::Type::SourceFileNameChanged.

Document library#

Breaking change:

  • Removed from SBDDocumentFolder, SBDDocumentLabel two virtual functions: getMinimumOpacity(), getMaximumTransparency().
SBDDocument#

New functionality:

  • getSelectedNodes(const SBProxy* proxy) to get an indexer of selected nodes corresponding to a given proxy.
  • getSelectedNodes(const SBUUID& classUUID, const SBUUID& extensionUUID) to get an indexer of selected nodes corresponding to a given classUUID and extensionUUID.

Palette library#

New default color palette - pLDDT - to colorize based on cofidence of predicted structures: SBDPaletteDefaultPalette::flexibleDivergingHCLpLDDT.

Quantity library#

Updates in constants:

  • Updated values for physical constants in correspondence to 2022 CODATA internationally recommended values of the Fundamental Physical Constants.
  • Added new macros for some fundamental physical constants.
  • Removed unused class SBDQuantityUnit since SBDQuantity includes its functionality.

Facade library group#

New functionality in the SAMSON facade class:

  • getUserAcademicFlag
  • getGPUInfo
  • openPreferences to open Preferences on the given page.
  • getPreference, setPreference, getPreferenceSize to work with exposed preferences of exposed classes (apps, editors, etc.).
  • getProxy(const SBCContainerUUID& classUUID) to get the proxy of a class.
  • getShortcutString to get a shortcut string depending on the OS.
  • create2DImage to create a 2D image from SMILES.

Breaking changes:

  • renamed isAppInitialized to appIsInitialized,
  • renamed getAppIndexer to getInitializedAppIndexer.

GUI library group#

Action library#

New class SBGActionSearchButton - a convenience widget that represents a push button associated with a line edit for search.

Widget library#

New functionality in SBGWidgetFileSelector:

  • getDefaultDirectory, setDefaultDirectory
  • getFilter, setFilter

Breaking change in SBGWidgetNodeIndexerSelector:

  • function empty() is renamed into isEmpty()

Window library#

Breaking changes in SBGWindowDock:

  • removed the signal windowDisplayed
  • instead added new signals: closed, locked, shown

New functions in SBGWindowDock and SBGWindowWidget: getPreferencesUUID, setPreferencesUUID.

Modeling library group#

Model library#

New functionality in SBMModel: getSourceFileName, setSourceFileName, hasSourceFileName, clearSourceFileName.

Breaking change:

  • Removed two virtual functions: getMinimumOpacity(), getMaximumTransparency().

Structural model library#

SBMStructuralModel#

New functionality:

  • createModel - creates a new structural model based on SMILES.
  • exportImage - exports an image based on SMILES.
  • smilesToSVG - converts a SMILES string into an SVG representation.
  • toSMILES - converts the given structural model into a SMILES string.
  • toSVG - converts the given structural model into a 2D SVG representation.
  • isValidSMILES - checks if a given SMILES string represents a valid molecular structure.
SBMStructuralModelConformation#

New functionality: getSourceFileName, setSourceFileName, hasSourceFileName, clearSourceFileName.

SBMStructuralModelNode#

Breaking change:

  • Removed two virtual functions: getMinimumOpacity(), getMaximumTransparency().
SBMStructuralModelPath#

New functionality: getSourceFileName, setSourceFileName, hasSourceFileName, clearSourceFileName.

Visual model library#

Simulation library group#

NeighborSearch library#

Parallelized the neighbor list update in SBSNeighborSearchParticleSystemGrid. Add functions to control the parallelization: getParallelizationEnabled, setParallelizationEnabled.