> ## Documentation Index
> Fetch the complete documentation index at: https://prod-mint.classiq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 0.53.0

Released on 2024-10-14.

## Upgrade Instructions

* [Python SDK](/getting-started/registration_installations#platform-version-updates)
* The IDE upgrades automatically.

## Enhancements

1. Introducing generative functions
   to the Python SDK. Generative functions are `@qfunc`s that support Python
   control flow, integration with third-party libraries, and debugging.
2. Execution using IBM devices is available again.
3. New method `estimation_cost` in `ExecutionSession` evaluates a quantum
   circuit given a classical cost function.
4. A new `+=` operator performs

<Card title="in-place addition" href="/qmod-reference/language-reference/statements/assignment" />

of quantum numerics.<br />Example: `z += x ** 2 - 0.5 * y`
5\. The state of `SampledState` supports dot-notation for field access when
representing a quantum struct:

[comment]: DO_NOT_TEST

```python theme={null}
struct_sample = sample.state["my_qstruct"]
field_sample = struct_sample.my_field
```

## Library Additions

1. Add two new functions for encoding classical data, `encode_in_angle` and `encode_on_bloch`. See [notebook](/explore/functions/qmod_library_reference/classiq_open_library/variational_data_encoding/variational_data_encoding/).

2. Add a new example for hybrid classical-quantum neural network. See [notebook](/explore/algorithms/QML/hybrid_qnn/hybrid_qnn_for_subset_majority#example-hybrid-neural-network-for-the-subset-majority-function).

## Interface Changes

1. Parameter `control` of built-in functions such as `CX` has been renamed to
   `ctrl`. Parameter `control` will no longer be supported starting on 4/11/24
   at the earliest.

## Bug Fixes

1. Fix classical array slicing in the SDK (`my_list[1:3][0]`).
2. Fix synthesis of arithmetic operations nested in a within-apply statement
   when `machine_precision` is set.
3. Fix in-place arithmetic operations (`^=`/`+=`) when the value on the
   right-hand side is a signed variable that is not aligned with the target
   variable.
