Skip to content

0.40.0

Upgrade Instructions

Interface Changes

  1. The control and quantum_if statements have been unified into one statement in native QMOD and the SDK under the name control.
    • SDK: The unified control statement accepts a qbit (q), a q-array (qbv), or a comparison of a qnum and an integer (n == 5) as the first argument.
    • SDK: The old control syntax (with ctrl as the second argument) is deprecated and will be removed in the next release.
    • SDK: The quantum_if operator is deprecated and will be removed in the next release.
    • Native QMOD: quantum_if is no longer supported, use the new control statement instead.
  2. SDK: The QParam and Array types are deprecated and will be removed in the next release.
    • Instead of QParam[int], use CInt.
    • Instead of QParam[float], use CReal.
    • Instead of QParam[bool], use CBool.
    • Instead of QParam[List[...]], use CArray[...].
    • Instead of QParam[Array[..., size]], use CArray[..., size].
  3. SDK: Using Python types (int, bool, etc.) in struct declarations (@struct) is deprecated and will not be supported by the next release. Instead, use classical data types (CInt, CBool, etc., see above).
  4. Default timeout for sending jobs to AWS changed from 5 minutes to 4 hours.

Deprecations

  1. The error mitigation settings in the execution preferences are no longer available.
  2. The aer_simulator backend has been removed. Use Classiq's simulator backend instead (ClassiqSimulatorBackendNames.SIMULATOR).

Enhancements

  1. Improved error messages.

Bug fixes

  1. Fixed a bug preventing execution of circuits synthesized with hardware aware synthesis on Azure and IonQ.