We are very excited to share a new toolset added for modeling and manipulating the dynamics of physical systems. The new API allows to define and execute a time evolution under arbitrary operators. For more information, we refer to our [docs](https://nvidia.github.io/cuda-quantum/latest/using/backends/dynamics.html).
The 0.9.0 release furthermore includes a range of contribution to add new backends to CUDA-Q, including backends from [Anyon Technologies](https://nvidia.github.io/cuda-quantum/latest/using/backends/hardware.html#anyon-technologies-anyon-computing), [Ferimioniq](https://nvidia.github.io/cuda-quantum/latest/using/backends/simulators.html#fermioniq), and [QuEra Computing](https://nvidia.github.io/cuda-quantum/latest/using/backends/hardware.html#quera-computing), as well as updates to existing backends from [ORCA](https://nvidia.github.io/cuda-quantum/latest/using/backends/hardware.html#orca-computing) and [OQC](https://nvidia.github.io/cuda-quantum/latest/using/backends/hardware.html#oqc).
A more extensive list of the most important changes, as usual, is given below. We hope you enjoy the new features - also check out our new notebooks and examples to dive into CUDA-Q.
<!-- Release notes generated using configuration in .github/release.yml at 33dbf24b557cf16be7772766107cfaa0e5d1d11a -->
What's Changed
Features and Enhancements 🎉
* Enable user-custom data structs in python kernels by amccaskey in https://github.com/NVIDIA/cuda-quantum/pull/1939
* Python support for photonic simulator target by khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/2055
* Anyon technologies backend integration by Lambdauv in https://github.com/NVIDIA/cuda-quantum/pull/2191
* Add `dep-analysis` pass (a.k.a. `features/qubit-mgmt`) by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2163
* Noise model enhancements by 1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/2168
* Add Clifford-only simulator (Stim) by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2235
* One- and Two-qubit operation synthesis by khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/2217
* Enable user-custom data structs in C++ kernels by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2254
* Add multi-QPU support for the 'orca' target by khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/2260
* Noise modeling updates for Stim backend by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2258
* Fermioniq integration by MarkusPfundstein in https://github.com/NVIDIA/cuda-quantum/pull/2225
* CUDA 12 installer, wheels, and images by bettinaheim in https://github.com/NVIDIA/cuda-quantum/pull/2187
* Adding `quera` backend by khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/2358
* Dynamics backend for modeling of physical systems
Bug Fixes 🐛
* Fix memory leaks in Python JIT cache by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2059
* Follow-up to 1603 - fix `kronprod` bug occurring with Nvidia simulators by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2077
* Add dynamic tuple layout handling by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2109
* Fixes bug in lower to cfg by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2113
* Fix intermittent shutdown warning message by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2130
* Fix missing import of crx by ikkoham in https://github.com/NVIDIA/cuda-quantum/pull/2142
* Fix runtime bug for span qview access where the span is of length 1 by annagrin in https://github.com/NVIDIA/cuda-quantum/pull/2149
* Fixes a bug in handling of small structs by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2166
* Fix calling convention differences between libstdc++ and libc++ by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2188
* Fix argument conversion issues by annagrin in https://github.com/NVIDIA/cuda-quantum/pull/2211
* Fix exp_pauli issues on remote simulators and quantum devices by annagrin in https://github.com/NVIDIA/cuda-quantum/pull/2226
* Fixes a bug with separate compilation by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2264
* Fix argument passing issue in C++ bridge by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2266
* Fix mid-circuit measurement if reset follows measurement by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2275
* Fix various bugs when processing the host-side functions and the by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2268
* Add support for aarch64 calling conventions by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2278
* Fix `spin_op` multiplication. by boschmitt in https://github.com/NVIDIA/cuda-quantum/pull/2292
* Bug fixes for multi-GPU statevector simulator by 1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/2313
* Fix issues with `state.from_data` bindings by 1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/2312
* Fix incorrect call return for python device kernels by annagrin in https://github.com/NVIDIA/cuda-quantum/pull/2319
* Fix state retrieval logic for `tensornet` by khalatepradnya in https://github.com/NVIDIA/cuda-quantum/pull/2353
Breaking Changes 🛠
* CUDA 11 and CUDA 12 tags for Docker image and cuQuantum version update by bettinaheim in https://github.com/NVIDIA/cuda-quantum/pull/2333
* Python package name changes and metapackage by bettinaheim in https://github.com/NVIDIA/cuda-quantum/pull/2356
Documentation Updates ✏️
* New Tutorial - Divisive Clustering by mawolf2023 in https://github.com/NVIDIA/cuda-quantum/pull/1990
* Add `get_state_async` examples to the `mqpu` platform docs by 1tnguyen in https://github.com/NVIDIA/cuda-quantum/pull/2063
* Correctly specify the used convention in noise channel docs by anthony-santana in https://github.com/NVIDIA/cuda-quantum/pull/2023
* Adding AFQMC tutorial by zohimchandani in https://github.com/NVIDIA/cuda-quantum/pull/1844
* Update Hadamard test tutorial by ikkoham in https://github.com/NVIDIA/cuda-quantum/pull/1972
* Quantum Filter diagonalization by marwafar in https://github.com/NVIDIA/cuda-quantum/pull/1997
* Added notebooks on Shor's algorithm by mmvandieren in https://github.com/NVIDIA/cuda-quantum/pull/2070
* Add clarification about setting env vars prior to setting target by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2173
* New tutorial: unitary compilation using diffusion models by zohimchandani in https://github.com/NVIDIA/cuda-quantum/pull/2172
* Updates to Shor's algorithm notebook by mmvandieren in https://github.com/NVIDIA/cuda-quantum/pull/2178
* Random walk phase estimation example in Python 1579 by Gaurang-Belekar in https://github.com/NVIDIA/cuda-quantum/pull/2060
* Restructure of examples and applications by zohimchandani in https://github.com/NVIDIA/cuda-quantum/pull/2218
* Add the documentation of anyon tech backend by Lambdauv in https://github.com/NVIDIA/cuda-quantum/pull/2281
* Changing documentation and defaults to reflect the CUDA 12 builds/packages by bettinaheim in https://github.com/NVIDIA/cuda-quantum/pull/2374
Other Changes
* Add cudaq::draw support for hardware targets by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2042
* Support more numpy constants in quantum kernels by freifrauvonbleifrei in https://github.com/NVIDIA/cuda-quantum/pull/1756
* Implement argument conversions as a runtime library by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2040
* Update factor-quantum-alloc to handle subveqs better by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2047
* Add support for kernel return values by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2082
* Update regtomem to handle more cases by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2135
* Update decomposition patterns for value semantics by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2145
* CMake targets and other improvements for downstream projects by amccaskey in https://github.com/NVIDIA/cuda-quantum/pull/2014
* Allow state synthesis for remote simulators by annagrin in https://github.com/NVIDIA/cuda-quantum/pull/2212
* Separate compilation, supporting C++ host side function references. by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2216
* Add enumerated noise_model_type to noise interface by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2200
* ORCA asynchronous sampling by Omar-ORCA in https://github.com/NVIDIA/cuda-quantum/pull/2205
* Update Stim backend to support conditionals and mid-circuit measurements by bmhowe23 in https://github.com/NVIDIA/cuda-quantum/pull/2270
* Enable Python/C++ interop via exposed JIT functionality by amccaskey in https://github.com/NVIDIA/cuda-quantum/pull/2214
* Modify the launchers to support returning results. by schweitzpgi in https://github.com/NVIDIA/cuda-quantum/pull/2277
* Add new gates to Photonics simulator by Omar-ORCA in https://github.com/NVIDIA/cuda-quantum/pull/2289
* Add Braket backend by rmshaffer in https://github.com/NVIDIA/cuda-quantum/pull/2337
* OQC client upgrade by jfriel-oqc in https://github.com/NVIDIA/cuda-quantum/pull/2352
New Contributors
* mawolf2023 made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/1990
* AishSweety made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/2089
* wahorvat made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/2127
* Lambdauv made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/2191
* MarkusPfundstein made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/2225
* rmshaffer made their first contribution in https://github.com/NVIDIA/cuda-quantum/pull/2337
**Full Changelog**: https://github.com/NVIDIA/cuda-quantum/compare/0.8.0...0.9.0
Release created by workflow [11916810007](https://github.com/NVIDIA/cuda-quantum/actions/runs/11916810007).