Skip to content

Release Notes - Pre-release versions

Pre-Release 26.4.0b1

Release date 13.02.2026

Requires: LabOne 26.1

Supports: Applications Library 26.4.0b1

Functionality

  • Session now supports automatic system profile fetching and caching when connecting to hardware. Use the new system_profile parameter in the Session constructor to explicitly provide a profile, or let it auto-load from cache when needed.
  • Ported event list generation (required for Pulse Sheet Viewer) from Python to Rust for improved performance.
  • Added the abstract base classes for the LabOne Q Automation framework (currently in beta), due to be officially released in v26.04.

Bug Fixes

  • Fixed a bug where a read timeout occurred when running LRT after non-LRT, due to LabOne Q enabling MSD by default even for two states for non-LRT experiments. MSD is now explicitly disabled for LRT.
  • Fixed a bug where hardware modulation was not applied when using a short readout on SHFQA with the LRT option.
  • Fixed a bug where OutputSimulator did not properly decompress long readout (LRT) waveforms on SHFQA, so that simulated output did not match the full hardware playback.
  • Fixed a bug where SHFQA in Spectroscopy mode did not play a readout pulse if can_compress=True is passes to a readout pulse while LRT option is being used.
  • Fixed a bug where PSV crashed if a zero-length trigger was present.
  • Fixed a bug where automatic measure section length in QPU did not take readout pulse into account.
  • Fixed a bug where creating an experiment in a different thread than where LabOne Q was originally imported caused a crash.

Removals from the Codebase

  • Removed the deprecated DataStore class and associated SQLite-based data storage functionality.

Documentation

Applications Library

  • Added the workflow automation subclasses for the LabOne Q Automation framework (currently in beta), due to be officially released in v26.04.
  • Breaking change Edited the signature of Qubit Spectroscopy, Amplitude Rabi, and Ramsey experiment workflows, such that workflow parameters are keyword only. The remaining workflows will be updated in time for the official LabOne Q Automation release in v26.04.
  • Added the evaluate_experiment task to the Qubit Spectroscopy, Amplitude Rabi, and Ramsey experiment workflows. The remaining workflows will be updated in time for the official LabOne Q Automation release in v26.04.
  • Added a new "continuous" option for specifying kernel pulses for acquire and measurement integration kernels on TunableTransmons. The new option causes the hardware to integrate for the entire integration length, weighting all samples equally. This is useful for performing very long integrations where the pulse samples would not fit into the device memory.

Pre-Release 26.1.0b4

Release date 16.01.2026

Requires: LabOne 25.10

Supports: Applications Library 26.1.0b4

Functionality

  • Extended auto chunking to handle sweeps limited by the maximum number of acquired results. When a sweep exceeds the instrument's result memory capacity, it can now automatically be split into smaller chunks, each acquiring fewer results to fit within the hardware limit.
  • Calculate result shapes at compile time and make them available via compiled_experiment.scheduled_experiment.result_shape_info.shapes.
  • Breaking change Transpose the last two dimensions of the shape of RAW acquisition results in case of multiple handles with the same name - before: (..., handle, samples), after: (..., samples, handle). This brings the axis corresponding to the multiple handles to the same location as for the case of non-RAW acquisition.
  • Implemented Ramsey spectroscopy experiment under laboneq.testing.experiments.

Bug Fixes

  • Fixed a bug where the compiler would output unnecessary log warnings about dropping the imaginary part of a waveform on RF signals.
  • Fixed a bug where result shaping failed (array broadcasting error) in case of multiple different handles on the same signal and inside different case blocks.
  • Fixed a bug where acquisition commands inside match-case blocks produced incorrect result shapes and contents: an extra dimension was added, with actual results placed at the beginning of the array and the remainder filled with NaNs.
  • Breaking change Fixed a bug where result type was incorrect when there is only a single acquisition for a handle in the entire experiment. Before: np.complex128, After: np.ndarray.
  • Fixed a bug where referencing an invalid section in play_after in a right-aligned section did not raise an error.
  • Fixed a bug where FolderStore deduplication treated numpy arrays that contain NaNs as unequal to themselves, storing them repeatedly.
  • Fixed a bug where type validation did not support TypeAliasType from Python 3.12+ and numpy 2.4+.
  • Fixed a bug where a minimum width for the Lorentzian fit in the fitting helper functions was not set, sometimes causing division by zero errors.

Documentation

Deprecation Notice

  • The qubits/qubit/parametric_amplifier argument of type QuantumElements is deprecated for all experiment workflows in v26.1.0 and will no longer be supported in v26.4.0. Please pass an argument of type list[str] | str instead, i.e., the quantum element UIDs instead of the quantum element instances. The temporary_parameters positional argument was added to the following contrib experiment workflows: amplitude_rabi_chevron, signal_propagation_delay, single_qubit_randomized_benchmarking, spin_locking, time_rabi, and time_rabi_chevron. This is a breaking change if calling these experiment workflows with the options positional argument.

Pre-Release 26.1.0b3

Release date 19.12.2025

Requires: LabOne 25.10

Supports: Applications Library 26.1.0b3

Functionality

  • Added type hint validation for signal calibration objects using typeguard. Assigning a value of the incorrect type to a calibration object will now immediately raise a TypeError rather than failing during compilation or execution.
  • Improved unused sweep parameter detection. The compiler will now raise an error whenever the experiment or device setup contains a sweep parameter that is not registered in any sweep, excluding derived sweep parameters where registering the parent is sufficient

Bug Fixes

  • Fixed a bug where the HDAWG would not start if previously used cores were now unused.
  • Fixed a bug where the local event loop was pinned to the thread instead of the session, preventing the same session from being invoked from multiple threads, even when concurrent calls were properly synchronized by the user.
  • Fixed a bug where execution would time out when reading large amounts of data, particularly in single-shot mode and over slow connections.
  • Fixed a potential memory overflow issue: data from unused integrators was accumulating until the end of the experiment.
  • Fixed a bug where the Pipeliner was not executing when SHFQC was present in the setup but not used in the chunked experiment.
  • Fixed a bug where the play command without pulse and markers did not work when the marker waveform was a sampled pulse.
  • Fixed a bug where registration of derived parameters in near-time execution loops failed.
  • Fixed a bug (introduced in v2.61.0) that prevented standalone HDAWG cores from synchronizing properly.
  • Fixed a bug in the FolderStore serializer to support dictionaries of QuantumElement and QuantumParameter objects whose keys are tuples of strings, as explained in the FolderStore serializer documentation. Without this, supplying temporary topology edge parameters to temporary_qpu would fail to save the temporary_parameters passed, because edges are passed as tuples of the form (tag, q0.uid, q1.uid). For example, ("coupler", "q0", "q1"). With this change, temporary_parameters are saved correctly.
  • Fixed a bug where using the first internal-only channel with the RTR option triggered a false exception.
  • Fixed a bug where a SYNCIGNORED error occurred in standalone SHFQC when running a non-chunked experiment right after a chunked one in the same session.
  • Fixed a bug where the error message was unclear when feedback acquisition or measure line 'port_delay' calibration was swept.

Documentation

  • Updated the FolderStore documentation to clarify that only dicts of QuantumElement or QuantumParameters whose keys are strings or tuples of strings may be serialized by the FolderStore serializer.

Applications Library

  • Breaking change Changed calibrate_cancellation workflow to set pump cancellation attenuation and phase to 0.0 when cancellation is off
  • Support using SG channels for flux lines in TunableTransmonQubit and in TunableCoupler

Pre-Release 26.1.0b2

Release date 04.12.2025

Requires: LabOne 25.10

Supports: Applications Library 26.1.0b2

Functionality

  • Added type hint validation for signal calibration objects using typeguard. Assigning an value of the incorrect type to a calibration object will now immediately raise a TypeError rather than failing during compilation or execution.

Bug Fixes

  • Fixed a bug where ModulationType.AUTO incorrectly forced SOFTWARE modulation for INTEGRATION acquisitions even when the long readout time option (LRT) is available. ModulationType.AUTO now resolves to HARDWARE modulation when LRT is available on the targeted instrument.
  • Fixed issue where section triggers were not shown in Pulse Sheet Viewer.
  • 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.

Documentation

  • Extended the example notebook for the benchmarking package to also display data from 2-qubit RB and to show fractional time spent in different compilation steps.

Pre-Release 26.1.0b1

Release date 20.11.2025

Requires: LabOne 25.10

Supports: Applications Library 26.1.0b1

Functionality

  • Added the function add_signal to the build_experiment DSL built-ins. This function is a wrapper for Experiment.add_signal and allows the user to add a signal with or without an experiment context.

  • Removed restriction where a single sweep parameter could not drive multiple hardware Oscillator frequencies. Now a single sweep parameter can be used across multiple different oscillators.

Bug Fixes

  • Fixed a bug where acquire pulses were missing in Pulse Sheet Viewer when multiple kernels were used.

Documentation

Applications Library

  • Added the ZZ Coupling Characterization experiment together with a How-to Guide.