Skip to content

Release Notes

Release 2.61.0

Release date 09.10.2025

Requires: LabOne 25.07

Includes: Applications Library 2.15.0

Notes & Important Changes

Functionality

  • Added automated chunking support to the OpenQASM transpiler. The new "automated_chunking" parameter may be passed to exp_from_qasm_list or .batch_experiment. The "pipeliner" batch_mode was renamed to "chunking" to more accurately reflect what it does and to align with terminology used in the rest of LabOne Q.
  • The update method of the QPU class has been extended to allow updating the edge parameters in the QPUTopology in addition to the parameters of the quantum elements. Have a look at this tutorial to learn how to use the qpu.update method for edge parameters.
  • Modified the Experiment, Section, and DeviceSetup classes to prevent the accidental creation of new attributes (by making them slotted). Breaking change As a result of this, the __dict__ attribute is no longer accessible for these classes.
  • Added the Workflow.replace_task method, which recursively replaces all occurrences of a task in a workflow with a different user-defined task. For more information, please see the Replacing the tasks section of the Workflows tutorial.

Applications Library

  • Added the flux_range attribute to TunableTransmonQubitParameters, which controls the maximum output in the flux channel.
  • Added the TunableCoupler and TunableCouplerParameters classes.

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 hardware null-offset error on UHF and enhanced the emulator to validate input types, raising clear errors for unsupported values.
  • Fixed phase-reset handling for hardware-modulated and multiplexed signals, enabling correct per-signal resets and timing. Previously, reset_oscillator_phase could be ignored or affect the wrong signals, and necessary timing gaps weren’t inserted, causing incorrect phases at pulse start. For more details, check out the section Explicit Phase Resets in DSL on the page Amplitude and Phase of Pulses and Phase Resets in the Section tutorial.
  • When instantiating a QPU object with multiple quantum operations, the QPU is now attached to the resulting CombinedOperations object. This means that the QPU is now also an attribute of its combined quantum operations, which is particularly useful for accessing the QPU topology from within a new quantum operation definition.
  • Fixed a bug in contrib/single_qubit_randomized_benchmarking.py which was causing the RB pulses to be added twice.

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.

Previous versions