QCoDeS [UNRELEASED DRAFT] (2025-07-09)

Breaking Changes:

  • Removal of deprecated code

    Removed modules:

    • Removed the deprecated qcodes.instrument_drivers.american_magnetics.AMI430 module. Use AMIModel4303D from qcodes.instrument_drivers.american_magnetics instead.

    • Removed the deprecated qcodes.utils.spyder_utils module containing the add_to_spyder_UMR_excludelist function. This utility was known to not work with latest Spyder versions and was unused in QCoDeS.

    Removed classes:

    • Removed the deprecated AMI430_3D and AMI430 classes from qcodes.instrument_drivers.american_magnetics.AMI430. Use AMIModel4303D and AMIModel430 from qcodes.instrument_drivers.american_magnetics instead.

    • Removed deprecated methods from AMI430SwitchHeater

    • Removed deprecated AMI430_VISA class from ip_to_visa.py.

    • Removed the deprecated ConnectionPlus class from qcodes.dataset.sqlite.connection. Use AtomicConnection class instead.

    • Removed the deprecated AlazarTech_ATS class. Use AlazarTechATS instead.

    • Removed the deprecated WaveformGenerator_33XXX class. Use Keysight33xxx instead.

    • Removed the following deprecated Keysight classes: - Keysight_34410A, use Keysight34410A instead - Keysight_34411A, use Keysight34411A instead - Keysight_34460A, use Keysight34460A instead - Keysight_34461A, use Keysight344xxA instead - Keysight_34465A, use Keysight34465A instead - Keysight_34470A, use Keysight34470A instead - N51x1, use KeysightN51x1 instead - PNABase, use KeysightPNABase instead - PNAxBase, use KeysightPNAxBase instead - KeysightSubModule, use Keysight34980ASwitchMatrixSubModule instead - KeysightSwitchMatrixSubModule, use Keysight34980ASwitchMatrixSubModule instead - B1500Module, use KeysightB1500Module instead - _Keysight_344xxA, use Keysight344xxA instead

    • Removed the deprecated Keysight submodules: - Trigger, use Keysight344xxATrigger instead - Sample, use Keysight344xxASample instead - Display, use Keysight344xxADisplay instead

    • Removed the deprecated MiniCircuits classes: - SwitchChannelBase, use MiniCircuitsSPDTSwitchChannelBase instead - SPDT_Base, use MiniCircuitsSPDTBase instead

    • Removed the deprecated USBHIDMixin class

    Removed functions:

    • Removed from qcodes.utils.deprecate: - deprecation_message - issue_deprecation_warning - deprecate decorator (use typing_extensions.deprecated instead) - _catch_deprecation_warnings - assert_not_deprecated - assert_deprecated

    • Removed make_connection_plus_from function from qcodes.dataset.sqlite.connection (#7122)

  • The following modules have been deprecated in this release and will be removed in a future version:

    • qcodes.instrument.delegate.grouped_parameter

    • qcodes.instrument.function

    • qcodes.instrument.group_parameter

    • qcodes.instrument.specialized_parameters

    • qcodes.instrument.sweep_values

    • qcodes.instrument.base

    • qcodes.instrument.parameter

    • qcodes.utils.command

    • qcodes.utils.dataset

    • qcodes.utils.installation

    • qcodes.utils.helpers

    • qcodes.utils.metadata

    • qcodes.utils.plotting

    • qcodes.utils.threading

    • qcodes.utils.validators

    Please consult the API documentation at QCoDes API documentation for alternatives and migration paths. (#7262)

Under the hood:

  • Refactors the InterDependencies_ class to simplify reasoning about and query of the ParamSpecBase relationships by embedding them in a NetworkX Directional Graph (DiGraph)

    Resolves #7079 (#7256)