Skip to content

Release Notes

Release 2.59.0

Release date 11.09.2025

Requires: LabOne 25.07

Includes: Applications Library 2.13.0

Notes & Important Changes

Functionality

  • When using baseband signals through rf_signal, LabOne Q now performs software modulation in full complex form. This means complex pulse envelopes such as DRAG can be used with such signals. Previously, the imaginary part of a complex pulse envelope was simply dropped before modulation. In hardware modulation mode, the behavior remains unchanged.
  • Added QPU, QPUTopology, and QuantumPlatform to laboneq.simple.

Upcoming changes in the next release

  • Breaking change Starting with LabOne Q 2.60.0 coming out on 25.09.2025, the .op property of the Operation class will return a MultiMethod instead of a Callable. A MultiMethod is a dictionary of functions that is keyed by their simplified type signatures. Following this change, please replace self.op with self.op[simplified_type_signature] to continue using existing code, where simplified_type_signature is the tuple of simplified types used for function dispatching. For example, for a quantum operation that was defined without type hints, you can replace self.op with self.op[()].

Similarly, the self.BASE_OPS class attribute will be of type dict[str, MultiMethod] | None starting from LabOne Q 2.60.0, which will be released on 25.09.2025. Following this change, to call a function directly, please replace self.BASE_OPS[op_name] with self.BASE_OPS[op_name][simplified_type_signature]. For example, for a quantum operation that was defined without type hints, you can replace self.BASE_OPS[op_name] with self.BASE_OPS[op_name][()].

  • Breaking change Starting with LabOne Q 2.60.0 coming out on 25.09.2025, the combine_results task will no longer be callable outside a Workflow. In addition, the input parameters of this task will no longer be saved by the FolderStore be default. The output will continue to be saved.

Deprecation notice

Note

Support for LabOne 25.04 has been removed. Now the minimum supported LabOne version is 25.07.

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. Please use temporary_qpu and, if needed, temporary_quantum_elements_from_qpu instead.

Bug Fixes

  • Fixed a bug where chunked experiment results were not arranged correctly when acquisition was inside nested real-time sweeps and an inner sweep was chunked.

Documentation

  • Added a tutorial with a detailed explanation of the experiment chunking feature.

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.

Previous versions