What’s new?

Below you will find the most relevant news that brings the Sardana releases. For a complete list of changes consult the Sardana CHANGELOG.md file.

What’s new in Sardana 3.2.1?

Date: 2022-03-21

Type: hotfix release


  • Make Sardana compatible with Python 3.10.

  • Regression introduced in Sardana 3.2.0 causing hangs on motion/acquisition start.

  • Macro plotting for matplotlib < 3.

What’s new in Sardana 3.2?

Date: 2022-01-31 (Jul21 milestone)

Type: biannual stable release

It is backwards compatible and comes with new features, changes and bug fixes.


  • Possibility to release hung operations e.g. motion or acquisition hung due to a hung hardware controller. Such a release could be issued, for example, from Spock using further Control+c in the process of Stopping macros.

  • rscan, r2scan and r3scan scan macros (formerly available as examples under different names regscan, reg2scan and reg3scan). These macros were enahnced with the standard scan hooks and scan data support and fixed so the region_nr_intervals macro parameter type is now an int and the integ_time macro parameter was moved to the end.

  • Possibility to disable overshoot correction in continuous scans using the ScanOvershootCorrection environment variable.

  • Print in form of a table relevant motion parameters: acceleration, velocity, etc. used during continuous scans before the scan starts.

  • macro_start_time dataset in NXscan (HDF5, NeXus) data file which contains the scan macro execution start timestamp in addition to already existing start_time dataset which contains the scan measurement start timestamp.

  • Possibility to change custom data format e.g.: #UVAR, #C, etc. in the SPEC data file

  • lsp macro to list Pools the MacroServer is connected to

  • Improve error handling for state read in mv family macros and step scan macros.

  • History log of motor attributes (sign, offset and step_per_unit) changes.

  • Validate new limit values before applying them in set_lim and set_lm macros.


  • Execute post-scan hooks also in case an exception occurs during the scan execution.

  • Default SPEC recorder custom data format: #C -> #UVAR


  • Memory leaks in scans.

  • Deletion of Pool element now checks if dependent elements exists. For example, if you delete a motor it will be checked if any pseudo motor depends on it and eventually it will prevent the deletion.

  • Several issues with stopping macros:

    • Remove annoying info messages of stopping instruments when stopping macros

    • Stop motion only once in scans

    • Stop/abort element in ct macro when used directly with a channel instead of a measurement group

    • Allow aborting macros without prior stopping of them

  • Allow to recreate measurement group with the same name but other channels at runtime.

  • Showscan offline widget is again usable.

  • Avoid problems with duplicated entries in Scan snapshots

  • Spock prompt informs when the Door is offline i.e. MacroServer server is not running.

  • Make MeasurementGroup state readout evaluate states of the involved elements

  • Prevent start of operation e.g. motion or acquisition when the element is not ready.

  • Fix restoring velocity in software (ascanc) continuous scans.

  • Ensure controller, element and group state are set to Fault and details are reported in the status whenever plugin code i.e. controller library, is missing.

  • Hang of IPython when Asking for user input gives timeout

  • Allow running Spock without an X-session on Linux.

  • amultiscan macro parameters interpretation

  • Respect measurement group enabled configuration in uct macro

  • set_meas_conf macro when setting plot axes on all channels

  • Sequencer widget action buttons (new, save and play) state (enabled/disabled)

  • Make PoolMotorTV User’s Interface relative move combobox accept only positive numbers.

  • post_mortem Spock’s magic command which is useful for debugging problems.

What’s new in Sardana 3.1.3?

Date: 2021-09-17

Type: hotfix release


  • Regression introduced in Sardana 3.0.3 affecting grouped move/scan of pseudo motors proceeding from the same controller e.g. slit’s gap and offset, HKL pseudo motors. Such a grouped move was only sending set possition to the first pseudo motor.

  • Regression introduced in Sardana 3.1.2 affecting custom continuous scans composed from waypoints with non-homogeneous number of points. Such scans were producing erroneuous number of points due to an error in the final padding logic.

What’s new in Sardana 3.1.2?

Date: 2021-08-02

Type: hotfix release


  • Avoid memory leak in continuous scans (ascanct, meshct, etc.). The MacroServer process memory was growing on each scan execution by the amount corresponding to storing in the memory the scan data.

What’s new in Sardana 3.1.1?

Date: 2021-06-11

Type: hotfix release


  • Correctly handle stop/abort of macros e.g. Ctrl+c in Spock in case the macro was executing another hooked macros e.g. a scan executing a general hook.

What’s new in Sardana 3.1?

Date: 2021-05-17 (Jan21 milestone)

Type: biannual stable release

It is backwards compatible and comes with new features, changes and bug fixes.


This release, in comparison to the previous ones, brings significant user experience improvements when used on Windows.



  • Experimental channel’s shape is now considered as a result of the configuration e.g. RoI, binning, etc. and not part of the measurement group configuration:


  • Sardana server (standalone) startup is more robust.

  • Storing string values in datasets, pre-scan snapshot and custom data in NXscanH5_FileRecorder.

  • Stopping/aborting grouped movement when backlash correction would be applied.

  • Randomly swapping target positions in grouped motion when moveables proceed from various Device Pool’s.

  • Enables possible dead time optimization in mesh scan macro by executing per measurement preparation.

  • Continuously read experimental channel’s value references in hardware synchronized acquisition instead of reading only once at the end.

  • Problems when Changing default interface of standard attributes in controllers e.g. shape of the pseudo counter’s Value attribute.

  • Sequencer related bugs:

    • Fill Macro’s parent_macro in case of executing XML hooks in sequencer

    • Problems with macro id’s when executing sequences loaded from plain text files with spock syntax

    • Loading of sequences using macro functions from plain text files with spock syntax

  • Apply position formatting (configured with PosFormat ViewOption) to the limits in the wm macro.