# 0.8.0

## Interface Changes¶

1. Modify the GroundStateProblem object. HamiltonianReduction object fields moved to be direct fields of GroundStateProblem object. See Chemistry.
2. Deprecate VQEOptimization class. Its fields are now part of the OptimizerPreferences class.
3. For combinatorial optimization, use CombinatorialOptimizer instead of OptimizationPreferences. For chemistry, use GroundStateOptimizer instead of OptimizationPreferences.

## Bug Fixes¶

1. Remove the requirement to end the expression with "==1" when using the ArithmeticOracle inside a GroverOperator, if the expression has a Boolean value (i.e., when solving a SAT problem). This saves one qubit in the circuit.
2. Fix bugs in the analyzer, related to circuits with functions and qregs.

## New Features¶

1. Add a new function: UCC (Unitary Coupled Cluster). See Chemistry.
2. Add the exponentiation function to the builtin functions. See Exponentiation.
3. Create a new file when generating a circuit using VS Code. It contains the transpiled circuit in a .qasm format.
4. Format the gate definitions in OpenQASM2 output by default (add line breaks inside). To disable this feature, add these options to the Python SDK:
model_designer.preferences.pretty_qasm = False


And the VSCode extension (.qmod) file:

{
"preferences": {
"pretty_qasm": false
}
}