Skip to content

Releases: microsoft/Qcodes

QCoDeS 0.9.0 release candidate 1

10 Dec 10:24
73e7d0e
Compare
Choose a tag to compare
Pre-release

Release candidate for The December 2019 release of QCoDeS (0.9.0rc1)

New:


  • Call start_all_logging on qcodes import.
    See this example_ for more details on how this can be configured. (#1850)

Improved:


  • Improvements to dataset notebooks (#1813)
  • Fix warning in matplotlib plotting for legacy dataset (#1839)
  • Add electrical delay parameter and function set_electrical_delay_auto for ZNB driver (#1849)
  • Keysight 344xxA: Fix formatting issues (#1851)
  • Fix docstrings in parameter.py (#1855)
  • Update Infiniium.py: add option to save waveform to usb (#1716)

New Instrument drivers:


Under the hood:


  • Move QCoDeS import into function that needs it to break potential circular import (#1870)
  • Fix return type of _BaseParameter.call (#1839)
  • CI: Trigger azure pipeline on tags (#1837)
  • CI: Travis don't apt-get install (#1842)
  • CI: Travis Explicitly whitelist branches and tags to build (#1865)
  • CI: Check for consistent line ending using Codacy (#1866)
  • CI: Also trigger azure builds on release branches (#1868)
  • CI: Azure twine -r name should match service endpoint (#1869)

Breaking Changes:


  • StandardParameter after long deprecation period has been removed (#1859)
  • Parameter.set_validator method after long deprecation period has been
    removed (#1856)

Deprecations:


  • Setting Parameter.raw_value (for example p.raw_value = 2) is
    deprecated because it can lead to inconsistent state of the parameter.
    Use Parameter.set or Parameter.cache.set methods instead. (#1857)
  • Private method Parameter._save_val that has been spotted in use in
    instrument drivers is deprecated now. Use Parameter.set and
    Parameter.cache.set methods instead. (#1858)

Recommended Dependencies:


  • Type checking should be done with Mypy 0.750. (#1863)
  • Docs are build using Sphinx 2.2.2 (#1864)

.. _example: ../examples/logging/logging_example.ipynb

QCoDeS 0.8.1

29 Nov 14:36
Compare
Choose a tag to compare

This is a bug fix release fixing the following issues

  • QDac cache returns invalid data (#1844)
  • Station config validation raises exception if validation failed (#1846)
  • Make sure start_all_logging does not try to reach the internet (#1847)
  • Fix type annotation for Parameter.__call__ (#1839)
  • Add Keysight 34410A driver (#1835)
  • Keysight 344xxA driver: support the fact that DIG option is always enabled
    with firmware version 3.0, also add support for MEM option (#1845)

The QDac driver received a thorough overhauling of the vrange and v parameters. read_state has been deprecated.

The Station validation logs the full config file on validation warnings. There has been a bug which caused an exception,
when creating the log message if the station config is read from a file.

start_all_logging does a call to pip list, which times out if there is no internet connection, because it tries to
update the index. Passing --no-index fixes this.

QCoDeS 0.8.0 (November 2019)

22 Nov 14:51
2714200
Compare
Choose a tag to compare

The November 2019 release of QCoDeS

New:

  • Introduce 'safe experiment abort' feature: On ctrl-c the running experiment
    will be halted, but ongoing VISA commands will be completed and all captured
    data will be written to the database, so that the system is left in a clean
    state.
    A second 'ctrl-c' event will stop the execution without any of those safty
    measures and will thereby reproduce the previous behavior of a single 'ctrl-c'.
    (#1701)
  • Added validation of station configuration files, including live
    linting and auto-complete features for vscode (#1759).
  • Enable setting parameters on ChannelLists in the station config file (#1785)

Improved:

  • Complete overhaul of the parameter cache including GetLatest.
    This improves API experience, removes dangerous bugs as well as sources of
    potential new bugs. (#1757, #1790, #1789, #1768, #1787, #1788, #1827, #1832)
  • Enable logging from multiple processes at the same time (#1816)
  • Documentation: Add new documentation (DataSet #1715), remove outdated
    documentation (#1779) and improve existing.
    (#1780, #1771, #1770, #1781, #1777, #1798, #1803)
  • Added more and fixed type Annotations.
    (#1769, #1797, #1794, #1795, #1807, #1811, #1814, #1815, #1817, #1822)
  • Added name kwarg for initialising Measurement objects (#1741)
  • Bugfix: properly write complex standalone parameter to DB (#1823)
  • consistent snapshot_base signatures. (#1768)
  • enable customized log messages for measurement start and end events (#1808)

New Instrument drivers:

  • Driver for AimTTi Pl601-P (#1763)

Under the hood:

  • Deprecation decorator for classes (#1805, #1806)
  • Improved CI/CD (#1774)
  • Make tests less flaky (#1772, #1826)
  • Docs build on sphinx 2.2.0 (#1783)
  • Getting ready for python 3.8 (#1793)
  • Mypy version 0.740 adaption (#1794)
  • Consistent linting through .pylintrc (#1804)
  • Fix local docs built (#1803)

Breaking Changes:

  • The name and short_name attributes of InstrumentBase became
    read-only properties because it should not be possible to change them on
    an instantiated instrument. (#1820)
  • deferred operations have been removed (#1818).

Deprecations:

  • There has been a great contribution of community drivers over the years and
    and encourage the community to further contribute. To ensure a continued high
    quality standard of the 'core' drivers and reduce the latencies of contributed
    drivers we split out drivers for devices that are not being used within the
    Microsoft Quantum Program into a separate repository that will be community
    maintained. Find the qcodes_contrib_drivers here:
    https://github.com/QCoDeS/Qcodes_contrib_drivers
  • Module qcodes.utils.zmq_helpers (#1819)

Recommended Dependencies:

  • numpy 1.16.4->1.17
  • pyvisa 1.10->1.10.1
  • websockets 8.0.2->8.1

October 2019

15 Oct 12:03
ea0a89b
Compare
Choose a tag to compare

Changelog for QCoDeS 0.7.0

The October 2019 release of QCoDeS

New:


  • Introduce a new kind of deprecation warning (#1752). Users, please take deprecation warnings seriously. See also breaking changes below.

Improved:


  • API documentation improved! (#1725)

Improved Drivers:


  • Keithley 2600 Sourcemeter: now implements a time trace parameter and autorange functionality (#1684)
  • Keysight 344xxA Digital Multimeter: now implements a time trace parameter (#1750)
  • Keysight B 1500 Parameter Analyzer: now supports phase compensation, open compensation, clear frequency list, and abort measurement (#1704) and reading the error message (#1758)
  • Lakeshore Model 372 Temperature Controller: Improve the snapshot and add new heater parameter (#1746)
  • Dynacool PPMS: the tolerance for when the magnetic field has reached its target is now a parameter (#1754)

Under the hood:


  • Start supporting python 3.8 (#1723)
  • Use importlib-metadata (#1721)
  • Fix a bug in create_on_off_val_mapping (#1732)
  • Fix a bug in get_shaped_data_by_runid (#1735)
  • Use mypy 0.730 (#1738)
  • Add type annotations to more of the code base (#1739, #1743)
  • Require type annotations in more of the code base (#1747)
  • Fix a bug in the handling of instrument metadata (#1740)
  • Fix a bug in GroupParameter that prevented the use of initial_value (#1742)
  • Make the set_to context manager of parameters more robust and faster (#1749)
  • Make the get_latest method of parameters more robust (#1751)
  • Make test collection faster (#1755)

Breaking Changes:


  • Deprecation warnings are no longer issued as DeprecationWarning
    but as a new custom type QCoDeSDeprecationWarning that does inherit
    from RuntimeWarning. The reason for this is that DeprecationWarning s
    are suppressed in the output by default.

  • Changes to the YAML format specifying the Station. See The Station notebook <../examples/Station.ipynb>_.
    for examples of how the Station should be configured.

    • Specifying module name of a driver as driver and type is deprecated. Instead the full module path should
      be specified as type and the driver field removed. (#1753, #1760)
    • Specifying the limits of a parameter as a list of comma separated values is deprecated. Instead the limits
      should be specified as an array. (#1756)

Changelog for QCoDeS 0.6.0

19 Sep 15:20
d707e52
Compare
Choose a tag to compare

The September 2019 release of QCoDeS

New:


  • Improvements to dataset performance. Especially when doing concurrent reads and writes from the db.
    The QCoDeS experiment sqlite database is now created in WAL mode. Note that if you perform a manual backup
    of a db in wal mode you should also backup any .wal file along with the .db file. See
    https://www.sqlite.org/wal.html for additional details. (#1685)
  • New highlevel tutorial for beginners <../examples/15_minutes_to_QCoDeS.ipynb>_. (#1693)

Improved:


  • Improvements to API docs. (#1660, #1691, #1702, #1706)
  • Notebook Dataset Performance: Correct typos and add figure. (#1683)
  • Add logging to measurement runner __exit__. (#1695)
  • Link tutorial to "Getting started", "README". (#1703)
  • Don't use deprecated matplotlib cbar.get_clim. (#1724)
  • Make DataSet.paramspecs always return ParamSpec. (#1720)
  • Add Station.close_all_registered_instruments. (#1713, #1726)
  • Station: fail hard when adding an Instrument with a name that is already registered. (#1714)

New Instrument drivers:


  • Rigol DS1074Z oscilloscope. (#1652)

Improved Drivers:


  • Alazar: refactor AcquisitionInterface out of AcquisitionController. (#1694)
  • Alazar: Fix reference to method in error message. (#1697)
  • Alazar: Simulator. (#1707)
  • AMI430: Fix issue with changing field unit. (#1599)
  • AMI430 test: fix flakiness from asserting timestamps of Parameters. (#1718)
  • Dynacool: Add blocking and non-blocking ramp. (#1586)
  • Keysight B1500: Sampling Measurement mode. (#1607)
  • Keysight B1500: Show connection message on init. (#1677)
  • Keysight B1500: Edit example notebook to set averaging during sampling measurement. (#1696)
  • Keysight N6705B: Fix syntax error in parameter. (#1669)
  • Keysight B220x: Show connection message on init. (#1677)
  • Keysight E8267D: Add missing parameters. (#1705, #1708)
  • Lakeshore 325: Add two parameters (resistance, heater_output). (#1711)
  • Yokogawa GS200: Exclude/Include snapshot depending on mode. (#1699)

Under the hood:


  • Significant improvements to import time of QCoDeS. (#1678)
  • Updates to requirements. (#1686, #1690, #1688)
  • Use recommended way of running xvfb on Travis. (#1687)
  • CI: Link commands in all scripts by their exit code, use mostly 'bash'. (#1712)
  • Make test GetLatest stricter about timestamps. (#1719)
  • Test using python 3.8 prerelease. (#1722)

Breaking Changes:


  • The default config value for gui.plotlib has changed from "all" to null. This means the
    legacy plot modules MatPlot and QtPlot are no longer imported into the top level qcodes namespace by
    default. To restore the original behaviour change your config file locally.
  • capture_dataframe is no longer available from qcodes.logger. To use it import it
    from qcodes.logger.log_analysis.
  • Deprecate old QDac driver in favour of QCac_channels driver. (#1578)
  • Adding an instrument to the QCoDeS station with an already existing name is now a hard error rather
    than falling back to constructing a new unique name.(#1713)
  • Deprecate qcodes.utils.helpers.make_unique as it is unused in QCoDeS. (#1713)

QCoDeS v0.5.2

20 Aug 12:18
Compare
Choose a tag to compare

Changelog for QCoDeS 0.5.2

This is a bug fix release fixing the following issue.

  • Use Environment Markers to define python 3.6 only dependencies (#1679)

QCoDeS v0.5.1

19 Aug 14:03
Compare
Choose a tag to compare

Changelog for QCoDeS 0.5.1

This is a bug fix release fixing the following 3 issues.

  • Fix dataclasses dependency for python 3.6 (#1675)
  • Add progress bars to all database upgrades (#1670)
  • Add logging to measurement (#1668)

QCoDeS v0.5.0

13 Aug 09:31
53fd1d2
Compare
Choose a tag to compare

Changelog for QCoDeS 0.5.0

The July 2019 release of QCoDeS

New:


  • ElapsedTimeParameter (#1629)
  • load_by_run_spec enables to load data set given run specifications, including the run_id (#1637)
  • Linking runs (#1639)
  • allow parameters to be excluded from snapshot (#1653)

Improved:


  • improved docs

    • JSON serializability of snapshot (#1627)
    • Tektronix AWG 7000/5028 resolution docstring (#1628)
    • m4i docstrings (#1638)
    • Configuring QCoDeS, Station notebooks (#1630)
  • installed QCoDeS package marked as safe for type checking (#1634)

  • log installation info (#1648)

  • allow for using application insight for telemetry (#1648)

  • use Conda 4.7 (#1635), numpy 1.16.4, matplotlib 3.1 (#1643), sphinx 2.1.2 (#1609), mypy 0.720 (#1640)

  • export data to .dat file (#1646)

New Instrument drivers:


  • Keysight N6705B (#1657)

Improved Drivers:


  • KeithleyS46 (#1622)
    add method to check whether channel is closed.
    Example: s46.A1.is_closed()
  • Tektronix AWG5014 (#1626)
    Fixed validators
  • Spectrum M4i add exact_sample_rate parameter (#1654)
  • Tektronix DPO7200XX (#1656)
    measurement statistics, measurement state
  • Oxford Triton (#893)
    Add magnet control
  • Spectrum m4i (#1528)
    fix bug in averaging blockavg
  • Keysight E8267D (#1655)
    fix incorrect use of on_off_mapping

Under the hood:


  • Stop redundantly writing to layouts and dependencies (using run_description instead) (#1572)
  • reorganizing sqlite_base.py to facilitate legacy database creation (#1570)
  • Base Sphinx makefiles on the modern template (#1636)
  • Build travis against all branches (#1644)
  • Deploy docs using Azure rather than Travis (#1647)
  • Docsbuild: remove old files before checking in and use old style message (#1649)
  • Change HDF5FormatMetadata to not sort keys in the metadata (#1581)

v0.4.0, June 2019 Release

02 Jul 17:23
3e82af3
Compare
Choose a tag to compare

Changelog for QCoDeS 0.4.0

The June 2019 release of QCoDeS adds final touches to support for complex-valued data, includes under-the-hood improvements, and ships a couple of new instrument drivers as well as improvements to existing instrument drivers.

New & Improved

  • Native support for complex-valued data:

    • Support for plotting complex-valued datasets in plot_by_id (#1592)
    • Reorg Parameter notebooks and add basic complex numbers notebook (#1568)
  • QCoDeS Workflow:

    • Add plot_dataset function to plot given data set without specifying id as in plot_by_id (#1614)
  • Instruments

    • Fix / snapshot_base params_to_skip_update behavior (#1584)
  • Database upgrades:

    • DB version 6 - version contents of run_description column (#1577)
  • Old dataset:

    • Change HDF5FormatMetadata to not sort keys in the metadata (#1581)

Instrument drivers

  • New Drivers:

    • Keysight B1500 Parameter Analyzer (#1573)
    • Tektronix Oscilloscopes: MSO/DPO5000/B, DPO7000/C, DPO70000/B/C/D/DX, DSA70000/B/C/D, and MSO70000/C/DX (#1579, #1606)
  • Improved Drivers:

    • Lock-in Amplifiers:

      • ZI UHF-LI: fix scope_mode and scope_average_weight parameters (#1597)
      • Add jumbo frames and reference clock source parameters to ZIUHFLI (#1590)
    • Magnets:

      • Two fixes for Oxford IPS120 driver. (#1619)
    • Source Meters:

      • Keithley 2600: Add list to hold channels (#1603)
    • QuTech instruments:

      • M4i: fix incorrect return value for ACDC_offs_compensation_x (#1585)
      • M4i: get ACDC offset compensation (#1596)
      • D5a: Add set_dac_unit method (#1582)
      • D5a: Updating vals when unit is updated (#1589)

Miscellaneous

  • Documentation: Explicit experiment in notebooks (#1612)

Under the hood

  • Use perf_counter, not monotonic for DB flushing (#1498)
  • Don't get db location from config if sqlite connection supplied (#1618)
  • Don't read from layouts and dependencies tables in QCoDeS (#1572)
  • Reorganization of sqlite-facing modules (#1570)
  • Reorganization of run descriptions module structure (#1577)

May 2019 release

28 May 09:34
Compare
Choose a tag to compare

Changelog for QCoDeS 0.3.0

The May 2019 release of QCoDeS contains a large backend re-structure of the Measurement.DataSaver logic
as well a handful of driver improvements and some new data saving functionalities.

New & Improved

  • New and Improved Drivers:

    • Alazar Cards:

      • All models; limit maximum buffer size as documented for AlazarBeforeAsyncRead (#1535)
      • All models; add api instance as initialization parameter (#1524)
    • Arbitraty Waveform Generators:

      • Keysight 33510B: add support for this specific model (#1544)
      • Zurich Instruments HDAWG8; Remove warning when taking snapshot of ZIHDAWG8 (#1561)
    • Lock-in Amplifiers:

      • Zurich Instruments UHF-LI; support all 8 oscillators with MF option (#1546)
      • Zurich Instruments UHF-LI; add parameter to UHFLI driver to select oscillator per demodulator (#1551)
    • Magnets:

      • American Magnetics AMI430; allow a broader range of field limit values (#1558)
      • American Magnetics AMI430; fix coil-constant related bug (#1527)
    • Multimeters:

      • Tektronix Keithley 6500; allow immediate triggering (#1576)
      • Tektronix Keithley 6500; fix invalid SCPI commands (#1541)
    • Source Meters:

      • Tektronix Keithley 2450; add brand new driver! (#1533, #1569)
    • Vector Generators:

      • Keysight E8267D; extend frequency modulation features (#1554)
    • Vector Network Analyzers:

      • Rohde&Schwarz ZNB; make initialization more fail-safe (#1564)
    • Others:

      • Mj2; allow higher gain (#1575)
      • Cryocon; allow the setting of the termination character (#1559)
  • Data Saving Features:

    • Allow arrays of different lengths to be stored together (#1477)
    • Allow complex numbers (#1484, #1489, #1493)
    • Infer the SQLite storage type of parameters (#1494)
  • Documentation:

    • Increase title consistency (#1553)
  • Database upgrades:

    • Schema version bumped to 5; snapshot column always present (#1562)
  • QCoDeS Workflow:

    • Extend QCoDeS-Station to be configurable through yaml file (#1560)

Breaking Changes

  • The DataSet no longer has an add_parameter method (#1547)

Miscellaneous

  • The python package dependencies have been updated (#1550)
  • Our copyright is up to date :) (#1552)