Skip to content

Releases: Ulm-IQO/qudi-core

Release v1.5.0

16 Nov 13:17
Compare
Choose a tag to compare

Breaking Changes

None

Bugfixes

  • Fixes a bug where all fit configurations for a fit model/container fail to load upon activation
    of a module because the fit model saved in AppData is no longer available. Throws a warning now
    instead and ignores the respective fit configuration.
  • Fixed a bug that caused qudi.util.models.DictTableModel to raise IndexError when used in a
    ListView and/or when data at index zero is requested.

New Features

  • Added helper functions in util/linear_transform.py to allow transformations (rotations and shifts) using the affine transformation matrix formalism.

Other

  • Fine-tuning of string output of fit results from qudi.util.units.create_formatted_output(): Failed fits should provide
    error= np.nan. Fixed parameters are marked as such. Brackets introduced, eg. (2.67 ± 0.01) GHz.

Release v1.4.1

21 Jun 09:41
Compare
Choose a tag to compare

Breaking Changes

None

Bugfixes

None

New Features

  • Added utility descriptor objects to new module qudi.util.descriptors. Can be used to
    facilitate smart instance attribute handling.

Other

  • Support for Python 3.10
  • Better backwards compatibility of qudi.util.constraints.ScalarConstraint with the deprecated
    qudi.core.interface.ScalarConstraint object

Release v1.3.0

20 Dec 15:27
Compare
Choose a tag to compare

Breaking Changes

None

Bugfixes

  • NULL bytes in log messages are handled now and no longer lead to crashes of qudi. They are
    replaced by the corresponding hex literal "\x00".
  • Rubberband selection of utility plot widgets now works for pyqtgraph != 0.12.4. This specific
    version is broken in that regard and a comprehensive error is thrown if it is detected.
  • Adjusted 2D gaussian fit arguments to be compatible with the datafitting toolchain.

New Features

  • Multiple qudi sessions can now be run in parallel locally. However, the user must ensure
    non-conflicting socket server settings for namespace server and remote module server in the
    configs to load.

Other

  • Bumped minimum package requirement pyqtgraph >= 0.13.0.
  • Introduced properties to make qudi.util.constraints.ScalarConstraint mostly backwards
    compatible with the deprecated qudi.core.interface.ScalarConstraint. Only exception is unit
    which should not be supported anymore.

Release v1.2.0

30 Sep 10:24
Compare
Choose a tag to compare

Breaking Changes

None

Bugfixes

None

New Features

  • New general-purpose interactive data display widget
    qudi.util.widgets.plotting.interactive_curve.InteractiveCurvesWidget providing multiple optional
    features:
    • Legend creation and generic dataset naming
    • Linking of fit curve to dataset and synchronous handling of both
    • Rubberband zooming in 1 and 2 dimensions
    • Data markers in 1 and 2 dimensions
    • Data range selections in 1 and 2 dimensions
    • Checkbox-based toggling of dataset visibility
    • Plot editor for setting axis labels, units and view ranges
    • Mouse cursor tracking and display in data coordinates
    • Various signals to interface with the above-mentioned features

Other

None

Release v1.1.0

25 Jul 11:21
479a175
Compare
Choose a tag to compare

Breaking Changes

  • Changed event handling of qudi module state machine. on_deactivate will be run BEFORE the state
    machine actually changes into state deactivated.
  • ConfigOption meta-attributes of qudi modules are no longer set in config under the module name
    section directly, but must be specified in an options subsection instead.
    So something like
    my_module_name:
        module.Class: 'qudi.hardware.my_module.MyModule'
        first_option: 42
        second_option: 'hello world'
    must become now
    my_module_name:
        module.Class: 'qudi.hardware.my_module.MyModule'
        options:
            first_option: 42
            second_option: 'hello world'

Bugfixes

  • Qudi logging facility active during startup procedure
  • Reduced RPyC related errors in qudi IPython kernel

New Features

  • Support for enum.Enum types in qudi.util.yaml, enabling use of enums in qudi config and
    status variables.
  • qudi.util.constraints.ScalarConstraint data class to easily define bounds for, check and clip
    scalar values.
  • Added qudi logger object to qudi IPython kernels to give users the possibility to directly log
    messages into qudi from e.g. a jupyter notebook.

Other

  • Structure and type checking as well as default value handling in the qudi configuration file is
    now done via JSON Schema (Draft-07). The applied schema is defined in qudi.core.config.schema.
    Every time you load/dump a configuration from/to file or add/remove a module config or set a global
    config option using qudi.core.config.Configuration, the config is validated against this JSON
    schema.

Release v1.0.1

10 Nov 11:15
Compare
Choose a tag to compare
  • Enabled Qt5 support for high DPI displays
  • Got rid of .png icons, using .svg/.svgz source files instead
  • Added support for Python 3.9 as last supported Python version of PySide2. Any further Python upgrades require a port to PySide6.
  • Added PyPI metadata
  • Better installation instructions

Release v1.0.0

03 Nov 14:42
3754751
Compare
Choose a tag to compare

This is the initial release of qudi as a proper Python namespace package.