Skip to content

Releases: microsoft/Qcodes

QCoDeS 0.18.0 - September 2020

18 Sep 15:23
f75e478
Compare
Choose a tag to compare

Changelog for QCoDeS 0.18.0

The September 2020 release of QCoDeS.

Breaking Changes:

There are no breaking changes in this release of QCoDeS.

New:

  • Support nested Measurement context managers; in particular, only create
    one background writer thread for multiple datasets (#2124)
  • Interactive widget to explore datasets in Jupyter Notebooks (#1967, #2163)

Improved:

  • Jump to value when trying to set a parameter that cannot be set in steps
    (can't be swept) (#2128)
  • Raise exception if get_cmd is not defined in a Group of
    GroupParameter s (#2133)
  • Add new set_parameters method to Group and remove the old deprecated
    set method (#2137)
  • Update ArrayParameter Docs (#2126)
  • Add a docs page listing projects to QCoDeS project (#2142)

Improved drivers:

  • Keysight B1500: fix measure range bug, measure_config method is deprecated (#2150)
  • Remove warning about complex numbers in R&S ZNB driver (#2140)

Under the hood:

  • Simplify instrument destructor (#2132)
  • Add types to RunDescriber dict representations (#2134)
  • Rework RunDescriber and update to version 2 (#2135)
  • Allow from_dict_to_current to deserialize RunDescriber from new versions (#2144)
  • Add python_requires as key to setup.py (#2123)

Dependencies:

  • Constrain all requirements and their dependencies in requirements.txt (#2164)
  • Use pip s new resolver when installing dependencies (#2168)
  • Fix docs and test requirements to minor version (#2148)
  • Restrict pyvisa to less than 1.11 (#2162)
  • Install pyqt for python 3.8 (#2157)
  • Require latest opencensus packages (#2141)
  • Remove no longer needed apt dependecies from travis (#1843)
  • Update nbconvert requirement from 5.6.1 to ~=6.0.3 (#2146, #2152, #2160)
  • Update pytest requirement from ~=6.0.1 to ~=6.0.2 (#2151)
  • Update coverage requirement from ~=5.2.1 to ~=5.3 (#2154)
  • Update sphinx-jsonschema requirement from ~=1.16.1 to ~=1.16.2 (#2155)
  • Update hypothesis requirement from ~=5.5.5 to ~=5.35.3 (#2158)

QCoDeS 0.17.0 - August 2020

18 Aug 14:28
9c27c2d
Compare
Choose a tag to compare

Changelog for QCoDeS 0.17.0

The August 2020 release of QCoDeS.

Note: QCoDeS no longer officially supports Python 3.6.

Breaking Changes:


There are no breaking changes in this release of QCoDeS.

New:


  • Add in-memory cache representation for data of DataSet (#2062)

Improved drivers:


  • Keithley 2600: Add linefreq to pyvisa-sim yml file (#2100)
  • Keysight B1500: convert dummy values to NaN for spot measurement (#2108)

Improved:


  • Station: Pass name as kwarg so that its order in instrument class is not relevant (#2099)
  • Add support for matplotlib 3.3 (#2101)
  • fix matplotlib deprecation warning (#2120)
  • Docs: update qcodes usage link (#2091)
  • Docs: Python version 3.6 is updated to 3.7 in Getting Started->Requirements (#2107)
  • Docs: Updating the broken link for conda-environment-update in Qcodes documentation (#2111)
  • Update error message for instruments pickling (#2094)
  • Fix: convert spyder kernels site print statement to logging message (#2097)

Under the hood:


  • Move write cache to from DataSaver to DataSet (#2112, #2114)
  • remove conda ruamel package to fix pipelines build (#2104)
  • Add Codacy and PyPi badges to readme (#2110)
  • Add supported python versions badge (#2113)
  • Bump sphinx from 3.1.2 to 3.2.1 (#2117)

QCoDeS 0.16.0 - July 2020

20 Jul 11:04
66222eb
Compare
Choose a tag to compare

Changelog for QCoDeS 0.16.0

The July 2020 release of QCoDeS.

Note: this will be the last QCoDeS release to support python 3.6

Breaking Changes:


  • math has been renamed to math_utils (#2040).
  • The deprecated default_measurement of the Station is now removed (#2058)
  • The deprecated methods get_data and get_values of the DataSet have now been removed (#2067)
  • The get_setpoints method of the DataSet has been deprecated (#2068)

New drivers:


Improved drivers:


  • The Keithley 2450 driver got a bunch of new parameters and methods (#1970, #2052)
  • The Keysight B1500 driver now checks errors after setting each parameter (#2041) and outputs NaN instead of 199.999e99 when compliance is reached (#2074)
  • The Keysight B1520A driver saw a bunch of improvements:
    • sweep API was restructured more logically (#2044)
    • the driver now supports all possible impedance models (#2047)
    • the measurement status is retrieved after each sweep (#2050)
    • added get_cmds for sweep_auto_abort and post_sweep_auto_abort (#2049)
  • The Keysight B1517A driver had the following improvements:
    • the measurement status is retrieved after each sweep (#2050).
    • added get_cmds for sweep_auto_abort and post_sweep_auto_abort (#2049)
    • added measurement status to current/voltage parameters (#2051)

Improved:


  • All master-slave references from drivers have been removed or deprecated (#2066)
  • QCoDeS now comes with a code of conduct (#2078)

Under the hood:


  • Better execution of the test suite and hardening of tests (#2016, #2037, #2038, #2039, #2040, #2042, #2045, #2056, #2057, #2063, #2064, #2070, #2073, #2077, #2076). Special highlights from this massive work:
    • The test suite now runs in parallel, a major win for all developers
    • Much better handling of the QCoDeS config system as a result
  • Update of dependencies to mypy 0.782 (#2034, #2075) and pyqtgraph 0.11.0 (#2036)
  • The measurements.py module is now slightly better type-annotated (#2065)
  • Documentation is built with Spinx 3.1.2 (#2069, #2072)
  • Added support for (upcoming) pytest 6 and explicit dependency on packaging (#2076)

QCoDeS 0.15.0 - June 2020

22 Jun 11:08
540cde7
Compare
Choose a tag to compare

Changelog for QCoDeS 0.15.0

The June 2020 release of QCoDeS. This release also includes all the changes
mentioned in alpha release of June 2020 (0.15.0a1).

Breaking Changes:

  • GroupParameter.group, Group.parameters and Group.instrument are now all read only properties (#2031).
  • The public attributes Group.get_cmd and Group.get_cmd have been removed (#2031).
  • It is now an error to supply get/set_cmd, if get/set_raw is not abstract (#2015).
  • The sweep parameters such as 'sweep_mode', 'sweep_start', 'sweep_end', 'sweep_steps' in Keysight B1520A driver is moved from class is moved from B1520A class to CVSweeper class (#2044).

New drivers:

  • Add Zurich Instruments drivers. The old ZIUHFLI driver is deprecated. The actual implementation is in zhinst-qcodes as described in this blog (#2025).

Improved drivers:

  • New features are added to Keysight B1517A driver to allow IV staircase sweep measurements (#2028).
  • Various improvements are done on Keysight B1520A driver, such as, parsing correctly the wrong output floats ('-0.-1') from the instrument until new firmware release (#2023), improved testing (#2027), fixing spot measurement of capacitance checking for wrong impedance model, and working with ac_dc_volt_monitor=True (#2020), CVSweepMeasurements supports all impedance models (#2047).
  • The measurement status are added to current and voltage parameters of B1517A driver (#2051).
  • Added a method to obtain the measurement status summary of IV and CV Sweep measurements (#2050).
  • The get functionality for sweep_auto_abort and post_sweep_auto_abort parameters is added in Keysight B1517A and B1520A driver (#2049).
  • The error handling of Keysight B1500 driver is improved. Now each time a parameter is set the instruments queries for the error and throws exception is an error is received (#2041).
  • Now on_off_val_mapping is used instead of a custom parser in Agilent E8527D (#2030).
  • The parameter limits are added for the R&S ZNB-40 VNA R&S (#2029).
  • Add a few system functions to the Keithley 2450 driver (#2052)

Improved:

  • The DelegateParameter is now allowed to change source and also support a None source (#2005).
  • The GroupParameter now correctly update their cache when a single parameter in the group has been set or captured (#2031).
  • The GroupParameter now correctly implements mappings between value and raw_value e.g. scale and offset (#2031).
  • Snapshot_base introduce new update=None, and use cache in parameter's snapshot_base (#1833).
  • Now initial cache value can be set to the Parameter using kwarg initial_cache_val (#1840).
  • The snapshots of stations and instruments can also be diffed now using diff_param_values (#2021).

Under the hood:

  • New lines are now handled correctly on windows (#2026).
  • In the Parameter class, the gettable/settable have become read only property (#2024).
  • Parameter cache.get is refactored to make the logic a bit more clear. Its functionality remains the same (#2008).
  • The loop data location in channels test is changed for pytest-xdist to work (#2010).
  • Added new dependency: "typing_extensions" (#2048)

QCoDeS 0.15.0 - June 2020 first alpha release

08 Jun 14:08
bdb8c13
Compare
Choose a tag to compare

Changelog for QCoDeS 0.15.0a1

The June 2020 alpha release of QCoDeS

Breaking Changes:


  • GroupParameter.group, Group.parameters and Group.instrument are
    now all read only properties (#2031).
  • The public attributes Group.get_cmd and Group.get_cmd have
    been removed (#2031).
  • It is now an error to supply get/set_cmd, if get/set_raw is not abstract
    (#2015).

New drivers:


  • Add Zurich Instruments drivers. The old ZIUHFLI driver is deprecated. The
    actual implementation is in
    zhinst-qcodes <https://github.com/zhinst/zhinst-qcodes/>_
    as described in
    this blog <https://blogs.zhinst .com/andrea/2020/05/24/control-your-measurements-with-qcodes-and-labber/>_
    (#2025).

Improved drivers:


  • New features are added to Keysight B1517A driver to allow IV
    staircase sweep measurements (#2028).
  • Various improvements are done on B1520A driver, such as, parsing correctly
    the wrong output floats ('-0.-1') from the instrument until new firmware
    release (#2023), improved testing (#2027), fixing spot measurement of
    capacitance checking for wrong impedance model, and working with
    ac_dc_volt_monitor=True (#2020).
  • Now on_off_val_mapping is used instead of a custom parser in Agilent
    E8527D (#2030).
  • The parameter limits are added for the R&S ZNB-40 VNA R&S (#2029).

Improved:


  • The DelegateParameter is now allowed to change source and also support a
    None source (#2005).
  • The GroupParameter now correctly update their cache when a single
    parameter in the group has been set or captured (#2031).
  • The GroupParameter now correctly implements mappings between
    value and raw_value e.g. scale and offset (#2031).
  • Snapshot_base introduce new update=None, and use cache in parameter's
    snapshot_base (#1833).
  • Now initial cache value can be set to the Parameter using kwarg
    initial_cache_val (#1840).
  • The snapshots of stations and instruments can also be diffed now using
    diff_param_values (#2021).

Under the hood:


  • New lines are now handled correctly on windows (#2026).
  • In the Parameter class, the gettable/settable have become read only
    property (#2024).
  • Parameter cache.get is refactored to make the logic a bit more clear. Its
    functionality remains the same (#2008).
  • The loop data location in channels test is changed for pytest-xdist to work
    (#2010).

QCoDeS 0.14.0 - May 2020

18 May 20:18
231e392
Compare
Choose a tag to compare

Changelog for QCoDeS 0.14.0

The May 2020 release of QCoDeS

Breaking Changes:


  • Community drivers that were shipped with QCoDeS, and were deprecated
    and moved to
    qcodes_contrib_drivers <https://github.com/QCoDeS/Qcodes_contrib_drivers>_
    some months ago, are now removed from QCoDeS.
  • Remove deprecated make_unique helper function (#1985)
  • Remove deprecated LogCapture that is now in logger.logger module (#1984)
  • Remove deprecated DataSet.make_complete method (without "d") (#1978)
  • Remove deprecated is_number helper function from measurements.py (#1979)
  • Remove deprecated setter for parameter's raw_value property (#1982)
  • Remove deprecated layouts/dependencies/paramspecs-related sqlite queries (#1986)
  • Remove deprecated zmq_helpers.py with Publisher and UnboundedPublisher (#1983)
  • Remove deprecated _save_val method of _BaseParameter (#1980)
  • Remove deprecated qcodes.dataset.sqlite_base and qcodes.dataset.database modules (#1981)
  • The name and the short_name attributes of the _BaseParameter have become read-only. It is not
    possible to change the name or short_name of the parameter after instantiation. (#1989)

Improved drivers:


  • Improvements to KeysightB1520A to fix the following two issues. First, is_enabled function outputs
    False instead of throwing an error if channels are not enabled. Second, the values of voltage_dc,
    voltage_ac, and frequency parameters can be raised/decreased at a specified rate by defining the
    step attribute of these parameters. (#1998)
  • New method to increase or decrease the range of the Keysight344xx drivers. This method
    can access and search ranges and implements them into the setter. (#1996)
  • Coerce KeysightB1500 coefficient for nplc settings to int. The b1500 instrument does not update
    integration time if it receives a non-int value. (#1987)
  • Added parameters to KeysightB1520A driver to allow CV staircase sweep. The setup_staircase_cv
    method can be used to set-up the state of the CMU for CV staircase sweep and run_sweep method to
    run the sweep measurements. Look at CV Sweep section of example notebook for more description. (#2011)

Improved:


  • Parameter name and short name are now a read only property and thus immutable. (#1989)
  • Add settable/gettable attribute to Parameter. This enables any user to detect if a
    parameter can be get/set without having to use getattr/hasattr introspection on the parameter. (#1976)
  • Fixed DelegateParameter unit test that previously would not run. (#2004)
  • Ensure DelegateParameter cache matches source parameter. (#2000)
  • Do not overwrite get at init of GroupParameter. (#1994)

Under the hood:


  • Proper changes in tests of doNd utility so that temporary databases are used.
    This change is necessary for parallel processing of tests. (#2002)
  • Exclude pylint version 2.5.0, this version produces ImportError
    on collection of module. (1991)
  • Fix for slack module when a user has not send any messages. (#1990)
  • Pytest fixtures are now used for tmp dir creation in tests. (#1988)
  • Fix test for legacy combined loop necessary for pytest-xdist. (#2009)

QCoDeS 0.13.0 - April 2020

15 Apr 13:02
da136c8
Compare
Choose a tag to compare

Changelog for QCoDeS 0.13.0

The April 2020 release of QCoDeS

Breaking Changes:


  • The dictionary station.components['config'] representing a Station
    configuration loaded from a YAML file has been moved to station.config.
    The same change is reflected in the snapshot and the config can now
    be accessed via station_snapshot['config']. (#1913)

  • The QCoDeS configuration module has moved from qcodes.config to qcodes.configuration
    to disambiguate it from the current active config which is defined in qcodes.config as always (#1682)

  • It is now an error to overwrite get and set in a _BaseParameter subclass. Users have been warned against this
    for a long time (#1946)

  • The legacy api such as Loop, active_loop, active_data_set, Measure, DataSet, new_data, load_data, Task, Wait, BreakIf,
    FormatLocation, DataArray, Formatter, GNUPlotFormat, HDF5Format, DiskIO, are no more imported in QCoDeS namespace
    by default. The core config now contains a new flag import_legacy_api that can be set to True if the legacy api
    needs to be imported in the QCoDeS namespace. (#1962)

  • The Deprecated log_analysis module has been retired (#1950)

Improved drivers:


  • Types have been added to init functions of the concrete Keysight DMM drivers classes (#1969)

Improved:


  • The public QCoDeS api imported from the toplevel qcodes namespace can also be imported from
    their respective modules for ex qcodes.dataset, qcodes.instrument etc. (#1962)
  • Complete types have been added to the qcodes station (#1913)
  • get_last_run has been improved to match the signature of get_runs (#1960)
  • The Snapshot of station.config (and other UserDicts) has been improved so that it can
    be reloaded back into a dict (#1961)

Documentation:


  • Improvements to several notebooks showing a better way of customizing parameters (#1973)
  • An option to execute Jupyter notebooks via Binder has been added (#1943, #1948)
  • A note that measurement context managers do not nest has been added (#1949)
  • A Typo in a Dynacool docstring has been corrected (#1952)
  • A note on limitations in delegate parameter has been added (#1953)
  • The attribute documentation for parameter has been improved (#1956)
  • B1500 documentation is included in the docs (#1971)

Deprecations:


  • get_data and get_values methods in dataset have been deprecated (#1941)

Under the hood:


  • Use pytest retry to re-execute known flaky test (#1940)
  • Update azure pipelines images (#1938)
  • Remove the debug log from data_set (#1942)
  • Code simplifications (#1944)

Recommended dependencies:


  • Typechecking is performed with mypy 0.770 (#1935)
  • Documentation is build with latest sphinx patch release (2.4.4) (#1954)
  • Recommended version of h5py is 2.10 (#1955, #1958)
  • Hypothesis version installed for testing is limited to <5.6.0 (#1959)
  • Python version installed into conda env updated to 3.7.7 (#1963)

QCoDeS 0.12.1 - March 2020 update

30 Mar 09:55
Compare
Choose a tag to compare

Changelog for QCoDeS 0.12.1

This release contains a feature that was announced in 0.12.0 but not correctly included.

New Features:


New suite of sweep functions now in QCoDeS! The famous doNd functions
from the Copenhagen labs are now part of the QCoDeS library (#1895).

QCoDeS 0.12.0 - March 2020

18 Mar 10:15
Compare
Choose a tag to compare

Changelog for QCoDeS 0.12.0

The March 2020 release of QCoDeS

New Features:


  • New suite of sweep functions now in QCoDeS! The famous doNd functions from the Copenhagen labs are now part of the QCoDeS library (#1895).

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:


The methods set_measurement and measure on the Station object have been deprecated.
They relied on the QCoDeS legacy dataset and were not frequently used. (#1937)

Under the hood:


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

QCoDeS 0.12.0 - March 2020 (prerelease)

11 Mar 10:53
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)