What’s New

Qanary Changelog

v0.10.1 (2026-09-06)

Bug Fixes

  • docs: Use the canonical Qanary URL (86b6999)

v0.10.0 (2026-09-06)

v0.9.0 (2026-09-06)

Bug Fixes

  • Adapt to qcodes 0.59 (264ea9a)

  • Continue sweeps through transient Zarr errors (6cef1f6)

  • Fixed buffered sweep progress tracking and integration tests (ba85146)

  • Import GitPython lazily so a git binary is not required (6491b34)

Build System

  • Require Python 3.13 and depend on qimchi-connect (817b91d)

Chores

  • Store all text files with LF line endings (d90b6b8)

  • deps: Depend on qcdrivers and require qcodes 0.59 (867abe5)

Code Style

  • Format examples with ruff (88191c7)

  • Open multi-line docstrings on their own line (61b336d)

Continuous Integration

  • Add release, lint, coverage, and Pages pipelines (990b4ce)

  • Install portable git for the Windows test job (388b717)

  • Publish to PyPI and drop the git-source workaround (619701f)

Documentation

  • Add Sphinx documentation and refresh the README (9c12c7d)

  • Document PyPI installation and point buffered nodes at qcdrivers (2852542)

Features

  • Publish live measurements through qimchi-connect (2d8aaf5)

Performance Improvements

  • Persist only changed Zarr keys at disk checkpoints (81e4d03)

  • Source buffered instrument nodes from qcdrivers (0655f4b)

Refactoring

  • Make internal measurement helpers private (e1750fb)

  • Remove deprecated instrument classes and related code (2e8e483)

Testing

  • Cover measurements, persistence, sweeps, and parameters (df75038)

Breaking Changes

  • Python 3.12 is no longer supported. QCUtils requires 3.13.

  • Qcutils.buffered.instruments is removed. Import the node classes from qcdrivers.buffered. instead; QCUtils keeps the buffered sweep orchestration.

  • The modules qcutils.live_server and qcutils.shared.live_db are removed. Live publishing goes through the qimchi-connect package, which QCUtils now depends on. Measurement scripts are unaffected.

  • These helpers are renamed with a leading underscore: qcutils.sweep.stepper, qcutils.logger.setup_logging, qcutils.measure.{register,get,unregister}_memory_store, qcutils.measure.get_live_dataset_info, qcutils.measure.list_live_measurements, and qcutils.buffered.sweep.{parse_bufsweep_tree,arm_instruments,fetch_results, abort_instruments,fetch_dependents_tree}. The measurement-script API is unchanged.

v0.8.0 - 2026-04-02

  • [Feature] Introduced dataset utilities (datasets.py) for common measurement operations

  • [Feature] Reworked dataset storage pipeline:

    • Use Zarr for live/in-progress measurements to avoid file locking issues

    • Finalize and export to NetCDF (.nc) at measurement completion

    • Added support for partial .nc snapshots during sweeps (experimental; may fail on Windows)

  • [Feature] Added update_measurement_path and improved disk finalization logic for better artifact handling and DB consistency

  • [Feature] Increased WebSocket server max message size to 100 MB for large dataset handling

  • [Fix] Fixed measurement tabulation issues

  • [Fix] Fixed circular sweep behavior

  • [Fix] Fixed segmented sweep handling

  • [Fix] Fixed MultiChannelParameter handling and related instrument behavior

  • [Fix] Fixed measurement bugs (general measurement stability improvements)

  • [Fix] Fixed instrument snapshot errors when parameters are np.ndarray

  • [Fix] Added JSON sanitization for NumPy types in WebSocket responses

  • [Misc] Moved live_db module to shared location for reuse across projects

  • [Misc] Updated dependency versions (including websockets > 16.0, zhinst compatibility updates, and numcodecs downgrade)

  • [Misc] Internal refactors and consolidation of dataset-related changes

  • [Misc] Added and reorganized QCoDeS parameter class support

  • [Misc] General cleanup, refactoring, and merge of multiple feature/fix branches (datasets, sweeps, measurement handling)

Merge Requests included in this release

  • !32 - Log space sweep

  • !31 - Station remove parameter

  • !30 - Measure tabulate fix

  • !29 - Circular sweep fix

  • !28 - MultiChannelParameter fix

  • !27 - Basel safe sweep (multichannelparameter adjustments)

  • !26 - Bux fix measurement

  • !25 - Segmented sweep fix

  • !24 - QCoDeS parameter classes

  • !23 - QCoDeS parameter classes

Contributors

  • Spandan Anupam

  • Simon Schreibing

  • Jyotirmaya Shivottam