\(\renewcommand\AA{\unicode{x212B}}\)
Framework Changes¶
Algorithms¶
New features¶
PlotPeakByLogValue has the new option
AppendIdxToOutputNamethat, when enabled with theCreateOutputoption, will append indices of output workspace names (spectrum, workspace or numeric) based on the input format.PlotPeakByLogValue has the new option
Output2Dthat, when enabled with theCreateOutputoption, will create a 2D workspace of the results table that could be plotted.New algorithm EstimateScatteringVolumeCentreOfMass v1, estimates the centre of mass of the intersection between an illumination volume and a sample shape.
jemallochas been added to the conda activation/deactivation scripts to enable use when running using the python interface (and not Workbench). Previously it was only applied in the Workbench startup script. This should improve the performance of many algorithms.Add
UpdateUBoption to IndexPeaks v1 that saves the optimized UB matrix in the case where there is a single run andCommonUBForAll=False.Added new algorithm, TimeDifference v1, for calculating the time difference between a series of runs and a reference run.
Bugfixes¶
Fixed a performance regression in SaveMD that was leading to dramatically increased save times.
Deprecated¶
LoadPreNexusLive has been deprecated. There is no replacement.
SCDCalibratePanels v1 has been deprecated, use SCDCalibratePanels v2 instead.
Removed the experimental multiprocess loader from LoadEventNexus v1 and deprecated the
LoadTypeproperty.
Removed¶
The algorithm
ConvertUnitsUsingDetectorTable, deprecated in Release 3.9.0, has now been removed.
Fit Functions¶
New features¶
Performance optimisations have been made to the process of adding ties to a fit function.
Data Objects¶
Bugfixes¶
When loading monitors with period data using LoadNexusMonitors v2, period sample logs are now added to the resultant workspace; this is in line with the creation of Event Workspaces. This fixes a bug that occurred when NormaliseByCurrent v1 was used on the monitor workspace.
Inconsistencies sometimes occur in period-related logs within Event NeXus files, such as duplicated entries with the same timestamps. Therefore, these repeated entries are reduced to a single entry. This can lead to runtime errors when loading the file which, in the past, have lead to crashes. In order to prevent this, the event workspace is now created without the period logs if issues are detected.
Python¶
New features¶
The large offline documentation is now an optional install, reducing installer/download size significantly. For users that prefer online docs, this saves considerable disk space (potentially hundreds of MB). Those who prefer local/offline usage can still opt to install the documentation package and continue working without internet access. A clear indicator has been added to the Help Window’s toolbar to show whether Mantid is displaying
Local DocsorOnline Docs.Introduced a prototype “side-by-side” help system that includes both the legacy QtHelp-based viewer and a new Python-based Help Window using an embedded web browser (QWebEngine) to display documentation within Mantid Workbench.
macOS users with Apple Silicon (Arm-based architecture) are now warned if they have installed the Intel-based Mantid package.
Created PythonObjectProperty, which allows using generic python objects as inputs to algorithms defined through the python API.
Created PythonObjectTypeValidator for use with PythonObjectProperty, to enforce correct typing on python objects.
Bugfixes¶
Previously, Mantid could crash if the material set on a sample already existed, rather than being created from scratch. Improvements have now been made in an attempt to rectify the issues.
Dependencies¶
New features¶
This release has removed all reliance on the NeXus API . Instead the
Fileclass was rewritten to use direct calls to the HDF5 API. In some places the C++ API (H5Cpp) is used for compatibility with other Mantid packages that also use the C++ API, but otherwise the low-level C API (hdf5) is used. This decision was made because:The C++ API is unsupported by the HDF Group (in private correspondence they suggested we use a 3rd party API).
The C++ API is not properly documented.
The C++ API does not have access to every possible feature or option that might be needed.
The C API is fully documented.
The C API is regularly maintained.
The C API is the “base” API for HDF5, and so automatically supports all available features natively.
Throughout this release cycle, we have been methodically replacing and modernizing the
Nexusabstraction layer, one piece of functionality at a time. This has included modern objects such as vectors and strings in place of arrays and C-strings, fixing many instances that apparently led to memory leaks due to unclosed objects, and simplifying the logic inside many of the methods for saving or loading data.This should not impact the observed behavior, except that memory should be more cleanly freed in Workbench, and loading or saving operations might run slightly faster.
Loading of HDF4 files is still handled by the read-only
LegacyNexuslayer.Those interested in the details of the changes can see them in the (developer centric) github issue or by following the Nexus tag.
Pin build 2 of
seekpathv2.1.0 which removes an erroneous dependency on thefuturepackage.seekpathis a dependency ofeuphonic.futureis not used and has a known vulnerability CVE-2025-50817 .Updated header and source files for ADARA packets from v1.5.1 to v1.10.3