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 inSBIFileReader::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
intoSBCClassAttribute::Access
andSBCClassAttribute::Type
to make it more general. Corresponding changes inSBCClassAttribute
constructors and macros that expose attributes of classes for introspection. - Rename macros that expose static attributes from
SB_ATTRIBUTE_STATIC_*
toSB_STATIC_ATTRIBUTE_*
for consistency (seeSBCClassInterface.hpp
).
New functionality:
- Attributes can now be
static
. Added functionSBCClassAttribute::getStaticFlag()
. Added corresponding macros to expose such attributes (SBCClassInterface.hpp
), seeSB_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 givenproxy
.getSelectedNodes(const SBUUID& classUUID, const SBUUID& extensionUUID)
to get an indexer of selected nodes corresponding to a givenclassUUID
andextensionUUID
.
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
sinceSBDQuantity
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
toappIsInitialized
, - renamed
getAppIndexer
togetInitializedAppIndexer
.
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 intoisEmpty()
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
.