Skip to content

Release Notes

Release 2.56.0

Release date 17.07.2025

Requires: LabOne 25.04

Includes: Applications Library 2.10.0

Notes & Important Changes

Functionality

  • The get_edges method now supports retrieving all edges in the QPU topology by allowing the node parameter to be None.
  • Improved error diagnostics by adding contextual information to compilation failures. When code generation fails for an AWG, error messages now include the specific signal UIDs that were being processed.
  • The OpenQASM batch_experiment method and exp_from_qasm_list functions no longer pad each experiment to a fixed length by default. Previously the repetition_time option had to be set to a suitable time to ensure each chunk was the same length when using the experiment-chunking feature (batch_execution_mode="pipeline"). This is no longer required, so now repetition_time defaults to None, which adds no padding.

Note

LabOne Q has ended support and testing for Python version 3.9 with version 2.53. Please make sure to upgrade your Python environments to a supported version before upgrading.

Note

Including the instrument options when constructing the DeviceSetup is now a strict requirement since version 2.52.0. Specify your instrument configuration through either the 'options' field in the 'instruments' list when using a device setup descriptor, or by specifying the device_options argument when constructing your setup programmatically. Alternatively, you can use the generate_device_setup helper function available under contrib, which has the option to query the instruments for installed options automatically. This function is already used in the majority of our publicly available examples.

Applications Library

  • Added support for temporary edge parameters in QPU parameter updating, allowing modification of topology edge parameters using tuple keys in addition to existing quantum element parameter updates.

Deprecation notice

Note

The deprecated Results.compiled_experiment attribute has been removed.

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 explicitly specifying PortMode.RF prevented enabling auto-muting.
  • Fixed the serialization of TWPAParamter by allowing TWPAParameter.cancellation_source to accept string values.
  • Fixed a bug that had broken the temporary modification of quantum-element parameters in the experiment workflows in the Applications Library. The bug was caused by an incorrect QPU argument being passed to the temporary_quantum_elements_from_qpu task.

Documentation

  • Removed repetition_time option from the examples in the VQE and Randomized Benchmarking Qiskit how-to guides, since it is no longer required.
  • Fixed typo in documentation navigation and improved QPU topology tutorial formatting by removing numbered section headers and updating parameter names for better clarity.
  • Updated the temporary parameters section of the Experiment Workflows tutorial to show that parameters for both quantum elements and topology edges can be temporarily modified.
  • Removed deprecated zsync parameter from device setup configurations in tutorial notebooks.

Known Issues

  • 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