Released on 2025-02-11.
Upgrade Instructions
- [Python SDK](../classiq_101/registration_installations.md/platform-version-updates)
- The IDE upgrades automatically.
Enhancements
1. Arithmetic assignments and control conditions now support [quantum subscript
expressions](https://docs.classiq.io/latest/qmod-reference/language-reference/statements/numeric-assignment/#path-operators).
A quantum subscript expression comprises a classical list accessed by a quantum
subscript, e.g., `x |= subscript([1, 2, 3, 4], y)`
(in Native Qmod: `x = [1, 2, 3, 4][y];`).
2. Report an indicative error when not releasing local variables inside
[control](../qmod-reference/language-reference/statements/control.md),
[invert](../qmod-reference/language-reference/statements/invert.md) and
[power](../qmod-reference/language-reference/statements/power.md) statements.
3. When estimating using the `ClassiqSimulatorBackendNames.SIMULATOR_STATEVECTOR` backend,
compute the expectation value directly from the state vector instead of running shots.
This is especially helpful when running VQE.
4. In the Python SDK, arguments of type `CArray` can now be NumPy arrays, tuples, and
similar sequential objects. For example, the following statements are
equivalent:
`prepare_state([0.25, 0.25, 0.25, 0.25], 0, q)` and
`prepare_state(np.ones(4) / 4, 0, q)`.
Interface Changes
1. The `synthesize` and `write_qmod` functions now accept a
[quantum entry point](https://docs.classiq.io/latest/qmod-reference/language-reference/quantum-entry-point/?h=quantum+entry+point#model-outputs).
Instead of `synthesize(create_model(main))`, write `synthesize(main)`.