Release Notes
Release 2.54.0
Release date 19.06.2025
Requires: LabOne 25.04
Includes: Applications Library 2.8.0
Notes & Important Changes
Functionality
- Added support for capturing and forwarding data server logs, including device firmware logs, to the main LabOneQ logging system. This feature can be enabled by setting the
server_log
parameter toTrue
when creating a Session. - Improved automatic experiment chunking to handle waveform memory limitations.
- PQSC and QHUB connections are now deprecated and removed from all examples and documentation. Explicit ZSYNC connections will be ignored with deprecation warnings and will become hard errors in future releases. Users should remove these connection definitions from their device setup configurations.
- The deprecated
save
andload
methods have been removed from DeviceSetup, Experiment, CompiledExperiment, Results, and Session classes, along with related methods likesave_signal_map
andload_signal_map
. - The default value of the parameter
include_results_metadata
ofsession.run()
was changed fromTrue
toFalse
. This means that thedevice_setup
and theexperiment
are not part of theResults
object by default. Setinclude_results_metadata=True
to have these attributes in yourResults
. - A new LabOne Q serialisation framework has been added with LabOne Q version 2.50.0 which ensures backwards compatibility. The old serialisation framework was removed. Please migrate your workflows and existing data to use the new serializers before then, following our tutorial.
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 then.
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
- Updated all notebooks to use the new serializer
save
andload
methods. - Corrected the type annotation for the
temporary_parameters
argument to workflows. Previously it was annotated asTunableTransmon
but should have been annotated asQuantumElement
. - Added device options to the
PQSC
device in theTunableTransmon
demo QPU.
Deprecation notice
Note
The attributes .experiment
and .device_setup
will be removed from the CompiledExperiment
object in LabOne Q version 2.55.0 on July 3rd, 2025.
Note
The attribute .compiled_experiment
will be removed from the Results
object in LabOne Q version 2.55.0 on July 3rd, 2025.
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.
Bug Fixes
- Fixed a serialization issue where integer values were incorrectly converted to floats during roundtrip serialization when working with Union types containing float, ensuring that numeric types are now properly preserved throughout the serialization process.
- Fixed a timing issue in the output simulator where maximum simulation length checks were performed too late in the execution flow, causing unnecessary processing of events outside the simulation region.
- Fixed the device setup helper function to store qubits in a dictionary indexed by their unique identifiers instead of a list, improving code clarity and access patterns.
- Resolved a bug where the simulation would attempt to process signals that weren't present in the kernel samples.
Documentation
- Added a set of tutorials to the Getting Started page that show how to connect to our QCCS instruments and program a few simple experiments.
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 fieldadd_measurement=True
, which will add the measurement operations to the LabOne QExperiment
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 ofsession.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 ofacquire
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 thedelay_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 useport_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
- Release 2.53.0
- Release 2.52.0
- Release 2.51.0
- Release 2.50.0
- Release 2.49.0
- Release 2.48.0
- Release 2.47.0
- Release 2.46.0
- Release 2.45.0
- Release 2.44.0
- Release 2.43.0
- Release 2.42.0
- Release 2.41.0
- Release 2.40.0
- Release 2.39.0
- Release 2.38.0
- Release 2.37.0
- Release 2.36.0
- Release 2.35.0
- Release 2.34.0
- Release 2.33.1
- Release 2.33.0
- Release 2.32.0
- Release 2.31.0
- Release 2.30.0
- Release 2.29.0
- Release 2.28.0
- Release 2.27.1
- Release 2.27.0
- Release 2.26.0
- Release 2.25.0
- Release 2.24.0
- Release 2.23.0
- Release 2.22.0
- Release 2.21.0
- Release 2.20.1
- Release 2.20.0
- Release 2.19.0
- Release 2.18.0
- Release 2.17.0
- Release 2.16.0
- Release 2.15.0
- Release 2.14.0
- Release 2.13.0
- Release 2.12.0
- Release 2.11.0
- Release 2.10.0
- Release 2.9.0
- Release 2.8.0
- Release 2.7.0
- Release 2.6.0
- Release 2.5.0
- Release 2.4.0
- Release 2.3.0
- Release 2.2.0
- Release 2.1.0
- Release 2.0.0
- prior to Release 2.0.0