Releases: microsoft/Qcodes
QCoDeS 0.9.0 release candidate 1
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 examplep.raw_value = 2
) is
deprecated because it can lead to inconsistent state of the parameter.
UseParameter.set
orParameter.cache.set
methods instead. (#1857) - Private method
Parameter._save_val
that has been spotted in use in
instrument drivers is deprecated now. UseParameter.set
and
Parameter.cache.set
methods instead. (#1858)
Recommended Dependencies:
.. _example: ../examples/logging/logging_example.ipynb
QCoDeS 0.8.1
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)
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 initialisingMeasurement
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
andshort_name
attributes ofInstrumentBase
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 theqcodes_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
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 ofinitial_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 typeQCoDeSDeprecationWarning
that does inherit
fromRuntimeWarning
. The reason for this is thatDeprecationWarning
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)
- Specifying module name of a driver as driver and type is deprecated. Instead the full module path should
Changelog for QCoDeS 0.6.0
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 ofAcquisitionController
. (#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"
tonull
. This means the
legacy plot modulesMatPlot
andQtPlot
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 fromqcodes.logger
. To use it import it
fromqcodes.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
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
QCoDeS v0.5.0
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 therun_id
(#1637)- Linking runs (#1639)
- allow parameters to be excluded from snapshot (#1653)
Improved:
-
improved docs
-
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
anddependencies
(usingrun_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
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:
-
QCoDeS Workflow:
- Add
plot_dataset
function to plot given data set without specifying id as inplot_by_id
(#1614)
- Add
-
Instruments
- Fix / snapshot_base
params_to_skip_update
behavior (#1584)
- Fix / snapshot_base
-
Database upgrades:
- DB version 6 - version contents of
run_description
column (#1577)
- DB version 6 - version contents of
-
Old dataset:
- Change
HDF5FormatMetadata
to not sort keys in the metadata (#1581)
- Change
Instrument drivers
-
New Drivers:
-
Improved Drivers:
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
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:
-
Data Saving Features:
-
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)