Releases: microsoft/Qcodes
QCoDeS 0.12.0 - March 2020 (prerelease)
Changelog for QCoDeS 0.12.0 Prerelease
The March 2020 release of QCoDeS Prerelease
Breaking Changes:
- The
DataSet.add_results
method no longer returns anint
, but now returnsNone
.
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 not9e±37
. (#1929)
Improved:
- The
DataSet
andMeasurement
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)
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 ofDataSet.add_results
(#1926)
Under the hood:
-
Continuing improvements on typing:
-
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)
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
- Keithley 2602A (#1889)
Under the hood
QCoDeS 0.9.0 (December 2019)
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 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:
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)