Releases: microsoft/Qcodes
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
mypy0.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
GroupParameterthat prevented the use ofinitial_value(#1742) - Make the
set_tocontext manager of parameters more robust and faster (#1749) - Make the
get_latestmethod 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 typeQCoDeSDeprecationWarningthat does inherit
fromRuntimeWarning. The reason for this is thatDeprecationWarnings
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
matplotlibcbar.get_clim. (#1724) - Make DataSet.paramspecs always return ParamSpec. (#1720)
- Add
Station.close_all_registered_instruments. (#1713, #1726) - Station: fail hard when adding an
Instrumentwith a name that is already registered. (#1714)
New Instrument drivers:
- Rigol DS1074Z oscilloscope. (#1652)
Improved Drivers:
- Alazar: refactor
AcquisitionInterfaceout 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.plotlibhas changed from"all"tonull. This means the
legacy plot modulesMatPlotandQtPlotare no longer imported into the top level qcodes namespace by
default. To restore the original behaviour change your config file locally. capture_dataframeis 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_uniqueas 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_specenables 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
.datfile (#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_rateparameter (#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
layoutsanddependencies(usingrun_descriptioninstead) (#1572) - reorganizing
sqlite_base.pyto 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_datasetfunction to plot given data set without specifying id as inplot_by_id(#1614)
- Add
-
Instruments
- Fix / snapshot_base
params_to_skip_updatebehavior (#1584)
- Fix / snapshot_base
-
Database upgrades:
- DB version 6 - version contents of
run_descriptioncolumn (#1577)
- DB version 6 - version contents of
-
Old dataset:
- Change
HDF5FormatMetadatato 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_parametermethod (#1547)
Miscellaneous
QCoDeS 0.2.1
Changelog for QCoDeS 0.2.1
This release fixes two small issues with execution of tests in 0.2.0 (#1540)
QCoDeS 0.2.0
This release contains large number of driver updates as well as significant improvements to the dataset and
documentation. It also introduces a new Parameter Class (ParameterWithSetpoints) that is intended to replace
ArrayParameter.
New & Improved
-
New and Improved drivers:
-
Alazar cards:
- Alazar 9870 Don't assign to instrument property (#1182)
- Alazar add buffer completed callback (#1234)
- updated/fixed ATS9870 driver (#1290)
- Alazar remove AlazarParameter support (#1184)
- Add firmware version to Alazar get_idn (#1308)
- Add Alazar ATS9373 driver (#1324)
- Add functions to read and write registers on Alazar and Trigger holdoff for 9360 (#1307)
- Alazar add get/set parameter (#1523)
- Alazar: refactor DLL API related things (#1471)
-
Lock-in amplifiers:
- Fix maximum frequency for SRS860 - it is 500 kHz (#1164)
- Standford Research SR860 lock-in amplifier driver improvements and bug fixes (#1160)
- SR86x lockin: get values of many parameters at once (#1245)
- SR830: Add increment/decrement sensitivity functions. (#1380)
- driver / SR830 : add the snap XY command to read X and Y together (#1333)
- Fix SR830's _change_sensitivity function. (#1411)
- Feature/dem 805/implement sampling rate float parameter (#1510)
- Feature/dem 804/implement missing uhfli commands (#1500)
- Driver: ziuhfli - demod{}_harmonic now return int (#1534)
-
Magnets:
- AMI430 driver setting set point despite being outside safe region (#1162)
- Driver/Mercury iPS with VISA (#897)
- driver / add block_during_ramp parameter to AMI430_3D (#1228)
- Fix / driver / mercury ips / firmware 2.6 (#1385)
- Homogeneous coordinates for field vectors in Mercury iPS (#1398)
- Add simultaneous blocking ramp parameters MercuryIPS (#1467)
- Various IPS120 driver improvements (#1402)
- Field Vectors attributes should only be floats (#1458)
-
Multi Meters:
- Keithley 2400 protect read commands (#1171)
- Refactor Keysight 344xxA code and small fixes (#1169)
- Fix keithley 2600 formatting (#1301)
- add driver for keithley6500 (#1233)
- Driver: Keysight 344xxA - flexible measurements and modularization (#1433)
- adds a very basic pyvisa-sim yaml for the Keithley 2600 (#1465)
- Driver/gentec maestro (#1507)
-
Oscilloscopes:
-
Signal and Waveform generators:
- Added support for N5183B Signal Generator (#1153, #1155)
- Refactor awg file handling in awg5014 driver (#1066)
- Rigol dg1062 (#1082)
- Hotfix/awg70000 makeseqxfile (#1213)
- AWG5208: Consider wait for trigger equivalent to running in wait for trigger (#1283)
- fix: N52xx various fixes (#1299)
- Use log instead of print in AWG70000A driver (#1390)
- Driver/awg5014 upload lomentum sequence (#1381)
- Feature/keysight 33xx pulsewidth (#1405)
- Feature/dem 564/driver for zi hdawg8 (#1331)
- feat: add specs for model '33512B' in KeysightAgilent_33XXX (#1422)
- Remove deprecated keysight waveform drivers drivers (#1435)
- Feature/rigol dg1062/adding duty cycle parameter (#1456)
- [DEM-831] Compiler warnings in ZIHDAWG8 should be logged or raised. (#1522)
-
Spectrum and Vector Network Analyzers:
-
Temperature controllers:
-
Others:
- Change loglevel for send/recv in IPInstrument (#1146)
- M4i: bugfix spectrum digitizer driver (#1145)
- Add set_parameter_bounds to IVVI.py (#1128)
- Reorder initialization of IVVI (#1212)
- Add new driver for Newport AG-UC8 (#1230)
- IVVI add missing underscore in parameter name (#1246)
- Fix decadac docstring (#1282)
- Remove all remaining uses of get/set in instrument drivers (#1325)
- Update CryogenicSMS driver (#1346)
- MiniCircuits: wrong USB packet size resulting in error on Windows 7 (#1366)
- Minicircuits USB_SPDT catch the correct error (#1376)
- add M2j driver (#1188)
- Feature/dem 613/update s5i driver (#1392)
- Driver dev/switch matrix (#1373)
- Driver / DynaCool PPMS (#1218)
- Driver/stahl (#1390)
- Driver/keithley s46 (#1409)
- Added driver for Basel current preamplifier. (#1327)
- add option for pretrigger memsize to channel readout (#1461)
- Dev/b2200 switch matrix multiple channel connect (#1480)
- Add boxcar average option to M4i driver (#1509)
- fix bug in averaging of m4i blockavg (#1528)
-
-
Other changes:
-
Config:
-
Dataset:
- Add some minor DataSet conveniences (#1211)
- Make data saver accept numpy type floats/ints (#1225)
- Dataset Context manager. Allow insertion of Data direcly as arrays (#1207)
- Fix requirements of ordering of setpoints as dependencies (#1250)
- Dataset support multiparameter (#1249)
- String-valued parameters support (#1248)
- Ensure that post actions are performed in some context managers (#1289)
- Enhance run table query performance with indices (#1277)
- DataSaver.add_result 'array' before 'numeric' now works (#1306)
- Refactor / dataset init method (#1323, #1332)
- Feature: access snapshot of a DataSet, and docs (also, Station bug fix + tests) (#1322)
- Meaningful exception when loading/creating dataset for non-existing run id (#1328)
- Fix JSON-dumping of snapshots with numpy-typed values (and other) (#1328)
- qcodes.dataset.* fool-proofing and minor fixes (#1334)
- Development/dependencies dsl (#1227)
- Add Subscribers from config (#1365)
- Improvement / dataset metadata (#1382)
- DataSet.get_data bugs with start/end arguments (#1386)
- Add function to fix wrong descriptions (#1396)
- Feature / let database show version without upgrading (#1395)
- Fix bug where atomic and ConnectionPlus might not commit to database (+ fix DataSet.unsubscribe) (+ deprecate DataSet modify_results, modify_result, add_parameter_values) (#1389)
- Feature / database extract runs (#1397)
- Add
get_parameter_dataakaget_columns(#1400) - Ensure that partial run creation is completly rolled back (#1445)
- Hashable and Immutable ParamSpec (#1367)
- Don't allow connection to db that is newer than the one we support (#1454)
- Dataset: Fixed issue with legacy import (#1459)
- Add Pandas exporter to dataset (#1423, #1508)
- Fix issues with infered_from and add checks for infered_from and depends_on that are strings (#1453)
- Document exporting of data from dataset (#1462)
- Feature: give DataSet an explicit start method (#1482, #1486)
- Rename mark_complete to mark_completed (#1495)
- Cast array params to np array before inserting (#1497)
- Remove redundant reshape (#1499)
- fix: Handle 'inf' in _convert_numeric (#1449)
- Dataset: Fix/do not retrive nulls (#1512)
- Update Offline Plotting Tutorial with kwargs examples (#1516)
-
Documentation:
-
Instruments and Parameters:
- Add option to remove channels from ChannelList (#1045)
- Fix validation of steps (#1176)
- Add paramterScaler with an usage example (#1069)
- Bug: snapshot fails when instantiating InstrumentBase (#1209)
- Find or create an instrument without worrying about existing instances (#1210)
- GroupParameter and Group (for visa commands that set/get more than one parameter at once) (#1232, #1266)
- Make Array validators shape optionally callable (#1312)
- Ensure Parameter name is an identifer (#1326)
- Don't use deprecated add_parameters in tests (#1343)
- Snapshot diff and method chaining (#1363)
- Bugfix: removing a channel instance that was added with
extend(#1368) - Discourage the use of QCoDeS functions (#1378)
- Extension/dynamic module (#1353)
- Fix unclarity about post_delay/inter_delay of Parameter, remove deprecated get/set delay and get/set step (#1387)
- Use getattr to get ask/write from instruments (#1451)
- New Parameter Class ParameterWithSetpoints (#1263)
- val_mapping creator function to solve on/off/true/false issue (#1413, #1502)
- Add origin to parameter warnings (#1481)
-
Legacy dataset:
-
Logging:
-
Plotting:
- Feature / add label to plot_by_id (#1235)
- Feature / rescale ticks and units in plot_by_id (#1239)
- Smart color scale (#1253, #1255, #1259, #1294)
- Format ticks for non-SI-unit axis in a more readable way (#1243)
- plot_by_id: pass kwargs to subplots and plot function (#1258)
- Fix potential divide_by_zero warning in scale selection (#1261)
- Plot_by_id rasterise 2d plots for large datasets ...
-
Fix of corrupt file in v0.1.10
Changelog for QCoDeS 0.1.11
This release fixes a corrupt file in release 0.1.10