|
| 1 | +QCoDeS 0.57.0 (2026-04-07) |
| 2 | +========================== |
| 3 | + |
| 4 | +Breaking Changes: |
| 5 | +----------------- |
| 6 | + |
| 7 | +- Legacy backwards-compatibility aliases across the ``instrument_drivers`` module have been |
| 8 | + deprecated. Users should migrate to the canonical class names listed below. All deprecated |
| 9 | + names will be removed in a future release. |
| 10 | + |
| 11 | + **AlazarTech** |
| 12 | + |
| 13 | + - Class ``AlazarTech_ATS9360`` is deprecated. Use ``AlazarTechATS9360`` instead. |
| 14 | + - Class ``AlazarTech_ATS9373`` is deprecated. Use ``AlazarTechATS9373`` instead. |
| 15 | + - Class ``AlazarTech_ATS9440`` is deprecated. Use ``AlazarTechATS9440`` instead. |
| 16 | + - Class ``AlazarTech_ATS9870`` is deprecated. Use ``AlazarTechATS9870`` instead. |
| 17 | + - Class ``Demodulation_AcquisitionController`` is deprecated. Use ``DemodulationAcquisitionController`` instead. |
| 18 | + |
| 19 | + **Basel** |
| 20 | + |
| 21 | + - Module ``qcodes.instrument_drivers.basel.sp983c`` is deprecated. Import from ``qcodes.instrument_drivers.basel`` instead. |
| 22 | + - Module ``qcodes.instrument_drivers.basel.sp983c_remote`` is deprecated. Import from ``qcodes.instrument_drivers.basel`` instead. |
| 23 | + |
| 24 | + **Galil** |
| 25 | + |
| 26 | + - Class ``VectorMode`` is deprecated. Use ``GalilDMC4133VectorMode`` instead. |
| 27 | + - Class ``Motor`` is deprecated. Use ``GalilDMC4133Motor`` instead. |
| 28 | + - Class ``DMC4133Controller`` is deprecated. Use ``GalilDMC4133Controller`` instead. |
| 29 | + - Class ``Arm`` is deprecated. Use ``GalilDMC4133Arm`` instead. |
| 30 | + |
| 31 | + **HP** |
| 32 | + |
| 33 | + - Module ``qcodes.instrument_drivers.HP.HP8133A`` is deprecated. Import from ``qcodes.instrument_drivers.HP`` instead. |
| 34 | + - Module ``qcodes.instrument_drivers.HP.HP8753D`` is deprecated. Import from ``qcodes.instrument_drivers.HP`` instead. |
| 35 | + - Class ``HP_83650A`` is deprecated. Use ``HP83650A`` instead. |
| 36 | + |
| 37 | + **Ithaco** |
| 38 | + |
| 39 | + - Class ``Ithaco_1211`` is deprecated. Use ``Ithaco1211`` instead. |
| 40 | + |
| 41 | + **Keithley / Tektronix** |
| 42 | + |
| 43 | + - Module ``qcodes.instrument_drivers.tektronix.Keithley_2450`` is deprecated. Import from ``qcodes.instrument_drivers.Keithley`` instead. |
| 44 | + - Module ``qcodes.instrument_drivers.tektronix.keithley_7510`` is deprecated. Import from ``qcodes.instrument_drivers.Keithley`` instead. |
| 45 | + - Module ``qcodes.instrument_drivers.tektronix.Keithley_s46`` is deprecated. Import from ``qcodes.instrument_drivers.Keithley`` instead. |
| 46 | + - Class ``Keithley_2000`` is deprecated. Use ``Keithley2000`` instead. |
| 47 | + - Class ``Keithley_2400`` is deprecated. Use ``Keithley2400`` instead. |
| 48 | + - Class ``Keithley_2600`` is deprecated. Use ``Keithley2600`` instead. |
| 49 | + - Class ``Keithley_3706A`` is deprecated. Use ``Keithley3706A`` instead. |
| 50 | + - Class ``Keithley_6500`` is deprecated. Use ``Keithley6500`` instead. |
| 51 | + - Class ``S46`` is deprecated. Use ``KeithleyS46`` instead. |
| 52 | + |
| 53 | + **Keysight** |
| 54 | + |
| 55 | + - Class ``B2962A`` is deprecated. Use ``KeysightB2962A`` instead. |
| 56 | + - Class ``MeasurementPair`` is deprecated. Use ``KeysightE4980AMeasurementPair`` instead. |
| 57 | + - Class ``E4980AMeasurements`` is deprecated. Use ``KeysightE4980AMeasurements`` instead. |
| 58 | + - Class ``Correction4980A`` is deprecated. Use ``KeysightE4980ACorrection`` instead. |
| 59 | + - Class ``BoundMeasurement`` is deprecated. Use ``KeysightInfiniiumBoundMeasurement`` instead. |
| 60 | + - Class ``UnboundMeasurement`` is deprecated. Use ``KeysightInfiniiumUnboundMeasurement`` instead. |
| 61 | + - Class ``InfiniiumFunction`` is deprecated. Use ``KeysightInfiniiumFunction`` instead. |
| 62 | + - Class ``InfiniiumChannel`` is deprecated. Use ``KeysightInfiniiumChannel`` instead. |
| 63 | + - Class ``Infiniium`` is deprecated. Use ``KeysightInfiniium`` instead. |
| 64 | + - Class ``N5173B`` is deprecated. Use ``KeysightN5173B`` instead. |
| 65 | + - Class ``N5183B`` is deprecated. Use ``KeysightN5183B`` instead. |
| 66 | + - Class ``N5222B`` is deprecated. Use ``KeysightN5222B`` instead. |
| 67 | + - Class ``N5230C`` is deprecated. Use ``KeysightN5230C`` instead. |
| 68 | + - Class ``N5245A`` is deprecated. Use ``KeysightN5245A`` instead. |
| 69 | + - Class ``N6705BChannel`` is deprecated. Use ``KeysightN6705BChannel`` instead. |
| 70 | + - Class ``N6705B`` is deprecated. Use ``KeysightN6705B`` instead. |
| 71 | + - Class ``N9030B`` is deprecated. Use ``KeysightN9030B`` instead. |
| 72 | + - Class ``P9374A`` is deprecated. Use ``KeysightP9374A`` instead. |
| 73 | + - Class ``KtM960x`` is deprecated. Use ``KeysightM960x`` instead. |
| 74 | + - Class ``KtMAWGChannel`` is deprecated. Use ``KeysightM9336AAWGChannel`` instead. |
| 75 | + - Class ``KtMAwg`` is deprecated. Use ``KeysightM9336A`` instead. |
| 76 | + |
| 77 | + **Keysight B1500** |
| 78 | + |
| 79 | + - Class ``B1511B`` is deprecated. Use ``KeysightB1511B`` instead. |
| 80 | + - Class ``IVSweeper`` is deprecated. Use ``KeysightB1500IVSweeper`` instead. |
| 81 | + - Class ``B1517A`` is deprecated. Use ``KeysightB1517A`` instead. |
| 82 | + - Class ``CVSweeper`` is deprecated. Use ``KeysightB1500CVSweeper`` instead. |
| 83 | + - Class ``B1520A`` is deprecated. Use ``KeysightB1520A`` instead. |
| 84 | + - Class ``CVSweepMeasurement`` is deprecated. Use ``KeysightB1500CVSweepMeasurement`` instead. |
| 85 | + - Class ``Correction`` is deprecated. Use ``KeysightB1500Correction`` instead. |
| 86 | + - Class ``FrequencyList`` is deprecated. Use ``KeysightB1500FrequencyList`` instead. |
| 87 | + - Class ``B1530A`` is deprecated. Use ``KeysightB1530A`` instead. |
| 88 | + |
| 89 | + **Mini-Circuits** |
| 90 | + |
| 91 | + - Class ``MC_channel`` (RC_SP4T) is deprecated. Use ``MiniCircuitsRCSP4TChannel`` instead. |
| 92 | + - Class ``RC_SP4T`` is deprecated. Use ``MiniCircuitsRCSP4T`` instead. |
| 93 | + - Class ``MC_channel`` (RC_SPDT) is deprecated. Use ``MiniCircuitsRCSPDTChannel`` instead. |
| 94 | + - Class ``RC_SPDT`` is deprecated. Use ``MiniCircuitsRCSPDT`` instead. |
| 95 | + - Class ``SwitchChannelUSB`` is deprecated. Use ``MiniCircuitsUsbSPDTSwitchChannel`` instead. |
| 96 | + - Class ``USB_SPDT`` is deprecated. Use ``MiniCircuitsUsbSPDT`` instead. |
| 97 | + - Class ``RUDAT_13G_90`` is deprecated. Use ``MiniCircuitsRudat13G90Base`` instead. |
| 98 | + - Class ``RUDAT_13G_90_USB`` is deprecated. Use ``MiniCircuitsRudat13G90Usb`` instead. |
| 99 | + |
| 100 | + **Oxford Instruments** |
| 101 | + |
| 102 | + - Class ``Triton`` is deprecated. Use ``OxfordTriton`` instead. |
| 103 | + - Class ``MercuryWorkerPS`` is deprecated. Use ``OxfordMercuryWorkerPS`` instead. |
| 104 | + - Class ``MercuryiPS`` is deprecated. Use ``OxfordMercuryiPS`` instead. |
| 105 | + |
| 106 | + **Rigol** |
| 107 | + |
| 108 | + - Module ``qcodes.instrument_drivers.rigol.DG1062`` is deprecated. Import from ``qcodes.instrument_drivers.rigol`` instead. |
| 109 | + - Module ``qcodes.instrument_drivers.rigol.DG4000`` is deprecated. Import from ``qcodes.instrument_drivers.rigol`` instead. |
| 110 | + - Module ``qcodes.instrument_drivers.rigol.DP821`` is deprecated. Import from ``qcodes.instrument_drivers.rigol`` instead. |
| 111 | + - Module ``qcodes.instrument_drivers.rigol.DP831`` is deprecated. Import from ``qcodes.instrument_drivers.rigol`` instead. |
| 112 | + - Module ``qcodes.instrument_drivers.rigol.DP832`` is deprecated. Import from ``qcodes.instrument_drivers.rigol`` instead. |
| 113 | + - Module ``qcodes.instrument_drivers.rigol.DS1074Z`` is deprecated. Import from ``qcodes.instrument_drivers.rigol`` instead. |
| 114 | + - Module ``qcodes.instrument_drivers.rigol.DS4000`` is deprecated. Import from ``qcodes.instrument_drivers.rigol`` instead. |
| 115 | + |
| 116 | + **Rohde & Schwarz** |
| 117 | + |
| 118 | + - Class ``RohdeSchwarz_SGS100A`` is deprecated. Use ``RohdeSchwarzSGS100A`` instead. |
| 119 | + |
| 120 | + **Signal Hound** |
| 121 | + |
| 122 | + - Class ``SignalHound_USB_SA124B`` is deprecated. Use ``SignalHoundUSBSA124B`` instead. |
| 123 | + |
| 124 | + **Stanford Research Systems** |
| 125 | + |
| 126 | + - Class ``SRS_SG384`` is deprecated. Use ``SG384`` instead. |
| 127 | + |
| 128 | + **Tektronix** |
| 129 | + |
| 130 | + - Class ``AWG5208`` is deprecated. Use ``TektronixAWG5208`` instead. |
| 131 | + - Class ``AWG70002A`` is deprecated. Use ``TektronixAWG70002A`` instead. |
| 132 | + - Class ``AWGChannel`` is deprecated. Use ``Tektronix70000AWGChannel`` instead. |
| 133 | + - Class ``Tektronix_AWG5014`` is deprecated. Use ``TektronixAWG5014`` instead. |
| 134 | + - Class ``ModeError`` is deprecated. Use ``TektronixDPOModeError`` instead. |
| 135 | + |
| 136 | + **Weinschel** |
| 137 | + |
| 138 | + - Class ``Weinschel_8320`` is deprecated. Use ``Weinschel8320`` instead. |
| 139 | + |
| 140 | + **Yokogawa** |
| 141 | + |
| 142 | + - Class ``GS200Exception`` is deprecated. Use ``YokogawaGS200Exception`` instead. |
| 143 | + - Class ``GS200_Monitor`` is deprecated. Use ``YokogawaGS200Monitor`` instead. |
| 144 | + - Class ``GS200Program`` is deprecated. Use ``YokogawaGS200Program`` instead. |
| 145 | + - Class ``GS200`` is deprecated. Use ``YokogawaGS200`` instead. (:pr:`7292`) |
| 146 | +- Refactored ``Keithley2600`` driver parameter ``fastsweep`` to be a |
| 147 | + ``ParameterWithSetpoints`` instead of relying on deprecated ``qcodes_loop`` code. |
| 148 | + Contains breaking change since method ``doFastSweep`` has been replaced with |
| 149 | + ``setup_fastsweep(...)`` helper. (:pr:`7851`) |
| 150 | +- The following deprecated modules, drivers, and APIs have been removed. |
| 151 | + |
| 152 | + **Removed Modules:** |
| 153 | + |
| 154 | + |
| 155 | + The following deprecated compatibility modules have been removed. Please import from the locations listed in the |
| 156 | + `API documentation <https://microsoft.github.io/Qcodes/api/index.html>`_ instead: |
| 157 | + |
| 158 | + - ``qcodes.utils.command`` |
| 159 | + - ``qcodes.utils.dataset`` (including ``qcodes.utils.dataset.doNd``) |
| 160 | + - ``qcodes.utils.helpers`` |
| 161 | + - ``qcodes.utils.installation`` (use ``qcodes.extensions`` instead) |
| 162 | + - ``qcodes.utils.metadata`` |
| 163 | + - ``qcodes.utils.plotting`` |
| 164 | + - ``qcodes.utils.threading`` |
| 165 | + - ``qcodes.utils.validators`` (use ``qcodes.validators`` instead) |
| 166 | + - ``qcodes.instrument.base`` |
| 167 | + - ``qcodes.instrument.delegate.grouped_parameter`` (use ``qcodes.parameters`` instead) |
| 168 | + - ``qcodes.instrument.function`` (use ``qcodes.parameters`` instead) |
| 169 | + - ``qcodes.instrument.group_parameter`` (use ``qcodes.parameters`` instead) |
| 170 | + - ``qcodes.instrument.parameter`` (use ``qcodes.parameters`` instead) |
| 171 | + - ``qcodes.instrument.specialized_parameters`` (use ``qcodes.parameters`` instead) |
| 172 | + - ``qcodes.instrument.sweep_values`` (use ``qcodes.parameters`` instead) |
| 173 | + |
| 174 | + **Removed Drivers:** |
| 175 | + |
| 176 | + The following deprecated driver aliases have been removed. Use the replacement drivers listed below: |
| 177 | + |
| 178 | + - ``qcodes.instrument_drivers.Lakeshore.Model_325`` — use ``LakeshoreModel325`` instead. |
| 179 | + - ``qcodes.instrument_drivers.Lakeshore.Model_336`` — use ``LakeshoreModel336`` instead. |
| 180 | + - ``qcodes.instrument_drivers.Lakeshore.Model_372`` — use ``LakeshoreModel372`` instead. |
| 181 | + |
| 182 | + **Other Changes:** |
| 183 | + |
| 184 | + - ``DataSet.to_xarray_dataarray_dict``, ``DataSetInMem.to_xarray_dataarray_dict``, and |
| 185 | + ``DataSetCache.to_xarray_dataarray_dict`` have been removed. Use ``to_xarray_dataset_dict`` instead. |
| 186 | + - ``load_to_xarray_dataarray_dict`` in ``qcodes.dataset.exporters.export_to_xarray`` has been removed. |
| 187 | + Use ``load_to_xarray_dataset_dict`` instead. |
| 188 | + - ``InterDependencies_.non_dependencies`` property has been removed. Use ``top_level_parameters`` instead. |
| 189 | + - ``ChannelTuple.get_channel_by_name`` no longer accepts multiple names. Pass a single name to get a single |
| 190 | + channel. Use ``get_channels_by_name`` for multiple channels. The argument name has changed from `names` to `name` |
| 191 | + to reflect this. |
| 192 | + - The ``has_current_rating`` keyword argument to ``AMIModel430`` has been removed as it had no effect. |
| 193 | + - The deprecated import of ``qcodes.utils.validators`` from ``qcodes.utils.__init__`` has been removed. (:pr:`7934`) |
| 194 | +- ``qcodes.instrument.mockers.ami430.MockAMI430`` has been deprecated. This class is unused |
| 195 | + within QCoDeS and is not expected to be used externally. (:pr:`7972`) |
| 196 | +- A new ``resource`` parameter has been added that accepts an already-opened |
| 197 | + ``pyvisa.resources.MessageBasedResource``, allowing a ``VisaInstrument`` to be |
| 198 | + constructed from an existing PyVISA resource handle. The ``resource`` parameter |
| 199 | + cannot be combined with ``address``, ``visalib`` or ``pyvisa_sim_file``. These arguments |
| 200 | + are only used to construct a new resource. |
| 201 | + |
| 202 | + The ``resource_manager``, ``visabackend`` and ``visalib`` ``visa_handle`` attributes of |
| 203 | + :class:`.VisaInstrument` have been converted to read-only properties. |
| 204 | + |
| 205 | + The ``_address`` property is deprecated in favour of ``address``. |
| 206 | + The ``visalib`` property is deprecated in favour of ``visabackend``. |
| 207 | + |
| 208 | + The method ``set_address`` now takes visalib as an argument. If this |
| 209 | + is not supplied the default visa library will be used. (:pr:`7978`) |
| 210 | + |
| 211 | + |
| 212 | +Improved: |
| 213 | +--------- |
| 214 | + |
| 215 | +- Fixed ``to_xarray_dataset`` failing with a ``MergeError`` when exporting |
| 216 | + incomplete measurements where a shared setpoint parameter was treated as a |
| 217 | + coordinate in some sub-datasets and a data variable in others. This could |
| 218 | + happen when the actual data shape did not match the declared shape (e.g. a |
| 219 | + measurement that was interrupted before completion) and one of the sweep axes |
| 220 | + had non-unique values, causing different export code paths to disagree on the |
| 221 | + role of the shared setpoint. (:pr:`7960`) |
| 222 | +- ``initialise_database``, ``initialise_or_create_database_at``, and ``initialised_database_at`` |
| 223 | + now accept more consistent arguments: |
| 224 | + |
| 225 | + - ``initialise_database`` accepts a new ``db_path`` parameter to specify the database file |
| 226 | + location directly, instead of always reading from the config. |
| 227 | + - ``initialised_database_at`` accepts a new ``journal_mode`` parameter, consistent with |
| 228 | + ``initialise_database`` and ``initialise_or_create_database_at``. (:pr:`7967`) |
| 229 | +- The Minicircuits USB SPDT driver now has a ``minicircuits_usb_spdt`` optional dependency target, |
| 230 | + allowing installation via ``pip install qcodes[minicircuits_usb_spdt]``. At the moment this is only |
| 231 | + supported on Windows since the vendor only ships a driver for Windows. (:pr:`7986`) |
| 232 | + |
| 233 | + |
| 234 | +Improved Drivers: |
| 235 | +----------------- |
| 236 | + |
| 237 | +- Converted ``get_error``, ``ramp``, ``pause``, ``zero``, ``reset_quench``, ``set_quenched``, |
| 238 | + and ``reset`` on ``AMIModel430`` from QCoDeS functions (``add_function``) to proper methods. |
| 239 | + The ``zero`` method now invalidates the ``field`` parameter cache and updates the parent |
| 240 | + ``AMIModel4303D`` driver's internal setpoint tracking when called on a child instrument. |
| 241 | + Fixed ``AMIModel4303D`` to properly set ``_parent_instrument`` on child ``AMIModel430`` |
| 242 | + instruments during initialization, enabling the safety-check delegation path in |
| 243 | + ``set_field``. Also fixed ``_request_field_change`` to correctly call ``_set_setpoints`` |
| 244 | + instead of non-existent ``_set_x``/``_set_y``/``_set_z`` methods. (:pr:`7923`) |
| 245 | +- Add parameter to Keithley2600 driver to enable/disable four-wire measurements. (:pr:`7942`) |
| 246 | +- The ``AMI430SwitchHeater`` snapshot now skips updating heater-specific parameters |
| 247 | + (``state``, ``in_persistent_mode``, ``current``, ``heat_time``, ``cool_time``) when |
| 248 | + the switch heater is not enabled. This prevents VISA query failures on real hardware |
| 249 | + when the heater is not installed. (:pr:`8009`) |
0 commit comments