Skip to content

Release Notes - Latest Stable Version

Patch Release 25.10.2

Release date 19.11.2025

Requires: LabOne 25.10

Supports: Applications Library 25.10

Functionality

  • Relaxed the version compatibility check between the LabOne Data Server and the LabOne Python API so that newer or matching API versions are accepted, while still rejecting older APIs, and improved the error message to include a concrete pip install --upgrade zhinst-core~=<recommended-version> upgrade hint.

Bug Fixes

  • Fixed the serialization of the auto_chunking parameter of Experiment sweeps. Previously this parameter was not serialized. Experiments saved before this version of LabOne Q are treated as though auto_chunking was set to False.

Patch Release 25.10.1

Release date 13.11.2025

Requires: LabOne 25.10

Supports: Applications Library 25.10

Bug Fixes

  • Fixed support for QuantumOperations on Python 3.10. The release of multimethod 2.0.1, which is used by QuantumOperations, broke support for Python 3.10. The multimethod package dependency has been pinned to 2.0.0 until a fix is released or LabOne Q drops support for Python 3.10.

Stable Release 25.10.0

Release date 30.10.2025

Requires: LabOne 25.10

Supports: Applications Library 25.10

Notes & Important Changes

New release cadence and versioning scheme

Note

Starting with this release, LabOne Q adopts a new release cadence and versioning scheme. We will have two release types: stable versions released quarterly and preview (beta) versions released bi-weekly. We are also adopting Calendar Versioning (CalVer): YY.MM.PATCH for stable releases and YY.MM.0bN for beta releases. The next release of LabOne Q will be preview version 26.1.0b1, and the next stable release will be 26.1.0, planned for end of January 2026. Stable releases will be updated with critical bugfixes until at least the next stable release, while new functionality will only be available through preview versions.

Functionality

  • LabOne Q now requires numpy >= 2.0.
  • Near-time operations (e.g., session.set_node() and near-time callbacks) used inside acquire_loop_rt() now trigger clear compile-time errors instead of being silently ignored, making invalid real-time scoping easier to detect and fix.
  • Added support for non-linear hardware frequency sweeps alongside linear sweeps. The compiler now auto-detects sweep linearity (1 MHz tolerance), uses compact hardware sweep configuration for linear cases, and emits per-iteration frequency updates for non-linear sequences. This enables arbitrary sweep value lists while preserving existing behavior.

Deprecation notice

Note

The update_quantum_elements method in the QPU class has been deprecated and will be removed at the end of January 2026. Please use the more general update method instead, which can update the parameters for both quantum elements and topology edges.

Note

The Qubit and Transmon classes are not yet considered stable and their APIs might still change in future versions. Their parent QuantumElement class has been updated with version 2.44, making it much simpler to create your own implementation of a qubit object.

Note

The temporary_modify task from the Applications library has been deprecated and will be removed at the end of January 2026. Please use temporary_qpu and, if needed, temporary_quantum_elements_from_qpu instead.

Bug Fixes

  • Fixed a bug where an invalid configuration was provided to SHFPPC Sweeper.
  • Fixed a bug where matching a sweep parameter value did not work with all types supported by sweep parameters.
  • Fixed crash when attempting to read a non-existent error node from a non-QC device.

Documentation

Known Issues

  • Using the reset_signal_oscillator_phase() on signals of type rf_signal is currently not supported.
  • Using OpenQASMTranspiler.batch_experiment with QASM programs that contain native measurement operations will lead to an unexpected shape of the returned data. To ensure the correct shape, measurement operations should be removed from the OpenQASM program, and .batch_experiment should be called with the option field add_measurement=True, which will add the measurement operations to the LabOne Q Experiment during the import step (see our tutorial for more details).
  • Using the internal scope to acquire raw traces on multiple channels of an SHFQA in a single experiment is only possible if the timing of all acquisitions is equal between instrument channels.
  • Using runtime checks of the sequencer playback through the disable_runtime_checks=False argument of session.connect(), is currently not possible when the experiment contains real-time feedback or is using the on-device PRNG. In the latter case, unintended error messages may be produced if the option is used.
  • When using the pipeliner in an experiment by specifying a chunk_count parameter in a sweep, the number of acquire commands in each chunk currently needs to be equal. Typically, this means that the number of sweep steps within each chunk has to be the same.
  • When using OutputSimulator or pulse sheet viewer with an experiment using the pipeliner or near-time sweeping, currently only the first sequence step will be displayed.
  • When delaying logical signal lines of type rf_signal via the delay_signal calibration property, all rf_signals on the same sequencer core must be set to the same delay.
  • When delaying logical signal lines on the SHFQA via the delay_signal calibration property, the delays for the measure and acquire line must be the same; the measure pulse delay is not added to the acquire pulse delay as on the UHFQA. We recommend to use port_delay for now.
  • When creating a section with very short content (below the device's minimum waveform length), the compiler may fail to map the experiment to valid SeqC, and will generate an error. As a workaround in these cases, manually add delays to the sequence.

Pre-Release versions

Previous versions