Skip to content

Releases: microsoft/Qcodes

QCoDeS 0.12.0 - March 2020 (prerelease)

11 Mar 10:25
7e515c9
Compare
Choose a tag to compare
Pre-release

Changelog for QCoDeS 0.12.0 Prerelease

The March 2020 release of QCoDeS Prerelease

Breaking Changes:


  • The DataSet.add_results method no longer returns an int, but now returns None.

New Instrument drivers:


  • Keithley 3706A High Performance DMM/Switch System. (#1884)
  • QDevil QDAC High Precision Voltage Generator. (#1613)

Improved drivers:


  • Yokogawa GS200 no longer throws snapshot exception during initialization. (#1930)
  • Keysight 34465A DMM now returns ±numpy.inf for out-of-range values and not 9e±37. (#1929)

Improved:


  • The DataSet and Measurement classes now support out-of-thread data saving. Shave off up to 50% of your measurement time! (#1896)

Documentation:


No documentation updates in this release.

Deprecations:


Nothing deprecated :)

Under the hood:


  • The database version is now 9. An index was added for the captured_run_id. (#1925)

QCoDeS 0.11.0 (February 2020)

18 Feb 17:45
5e295d7
Compare
Choose a tag to compare

New Instrument drivers:

  • Keithley 7510 digital multimeter (#1912)

Improved drivers:

  • New features for Keithley 2450 (#1906)
  • Keysight B1500: Add units to current/voltage parameters to B1571A SMU module (#1920)
  • Keysight 344xx (#1918)
  • Yokogawa GS200 (#1901)
  • Agilent instruments' drivers (#1904)
  • Rohde Schwarz instruments' drivers (#1911)

Improved:

  • Allow passing database connection object to experiments() function (#1894)

Documentation:

  • Add notes to instrument driver example about Windows-specific drivers (#1902)
  • Fix links to issues in contributing.rst (#1919)
  • Remove unused imports in 15_minutes_to_QCoDeS notebook (#1923)

Deprecations:

  • Deprecate DataSet.add_result as a duplicate of DataSet.add_results (#1926)

Under the hood:

  • Continuing improvements on typing:

    • Fix type of timestamp in monitor (#1922)
    • Remove some doc types (#1905)
    • Complete typing of logging module (#1907)
    • Add types to monitor (#1908)
  • Avoid calling pip script (#1910)

  • Convert hypothesis args to kwargs (#1916)

Recommended Dependencies:

  • Build docs with sphinx 2.4.1 (#1924)

QCoDeS 0.10.0 (January 2020)

23 Jan 09:09
00ec653
Compare
Choose a tag to compare

New

  • initialised_database_at contextmanager to create a context for
    operations on specified DB-file (#1899)

Improved

  • Warning if unknown kwargs are passed to _BaseParameter (#1885)
  • AlazarATS9870: Set default external_trigger_coupling to DC (#1886)
  • Removed ramp rate warning in AMI430 instrument driver (#1897)
  • Improved 'Writing Drivers' and '15 minutes to QCoDeS' documentation (#1892)

New Instrument drivers

Under the hood

  • CI cleanup (#1890)
  • Add numpy_stubs to type checking (#1898)
  • Block ruamel.yaml version with broken type annotations (#1900)

QCoDeS 0.9.0 (December 2019)

19 Dec 12:40
Compare
Choose a tag to compare

Changelog for QCoDeS 0.9.0

The December 2019 release of QCoDeS

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)

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)