Skip to content


Upgrade Instructions


  1. Declare Input and Inout ports of NativeFunctionDefinition without a size expression. Their size will be deduced from calls to it.
  2. Add parsed_counts attribute to ExecutionDetails, where the states are parsed according to their arithmetic information.
  3. Change transpile_to_hardware field in the ExecutionPreferences to receive an optimization level and use it.
  4. Add Hadamard transform as a new built-in function. See [HadamardTransform] (../user-guide/function-library/builtin-functions/
  5. Improve detection of auxiliary qubits for visualization in the IDE.
  6. Add the initial_point member to OptimizerConfig which is used in construct_combinatorial_optimization_model to specify an initial value to the optimization algorithm.
  7. The execution chart received after execution of circuits in the IDE, can now be filtered by list of results. See Filtering results

Interface Changes

  1. Automatically parse the value field of SavedResult according to its type, with no need to call parse_obj to parse execution results.
  2. Introduce the strict_zero_ios flag in the function call. This gives you (rather than the engine) responsibility for memory management. Previously, this was done by the assign_zero_ios flag, which is deprecated. The logic has been reversed: previously setting
    assign_zero_ios=True now corresponds to strict_zero_ios=False, and vice versa.
  3. The default value of OptimizerConfig.alpha_cvar is now 1.0
  4. Change the qubit order of the fields counts and state_vector on ExecutionDetails. They are now returned with lsb right qubit order.
  5. The endianness terminology in ExecutionDetails is changed to qubit order, such that the result 0b10 in qubit order lsb right refers to the number 2.

Bug Fixes

  1. Show all port names in the circuit visualization. Previously, port names were missing under certain conditions.
  2. Display of control gates in the IDE now correctly displays the expected qubit state.


  1. Deprecate heatmap from the analyzer.
  2. Deprecate gate count histogram from the analyzer.
  3. Deprecate qubit connectivity from the analyzer.
  4. Deprecate The basis parameter for the VQE. basis is currently unsupported for chemistry problems.


  1. Provide default values for IBM hardware execution configuration fields: hub, group, and project.
  2. Make the default job name the circuit name. To access to the job's ID - expand it in the Jobs History window.
  3. Introduce the aer_simulator_statevector, aer_simulator_density_matrix and aer_simulator_matrix_product_state to the IDE.
  4. Academic users can now choose to run circuits on Azure with their own credentials instead of through Classiq-Azure integration. More details in the user guide: User guide instructions


  1. Extend the "Advanced Usage > Qubit Release" section and rename it as "Memory Management". It thoroughly explains the Classiq engine's capabilities of allocating and releasing qubits and illustrates how user-provided input can aid the synthesis engine in improving the circuit performance. See Memory Management.