v0.10.0
0.10.0 (2026-03-30)
v0.10 introduces a cleaner QAOAProblem abstraction for composable QAOA workflows, brings MaestroSimulator as the new default local backend with Numba JIT and Hamiltonian compression for improved performance, and expands divi's problem library with routing (TSP, CVRP) and max-weight matching.
⚠️ Breaking Changes
If you are upgrading from v0.9.x, review the following before merging:
| What changed | Migration |
|---|---|
ParallelSimulator renamed to QiskitSimulator |
Update all imports and references |
MaestroSimulator is now the default non-noisy backend |
Pass QiskitSimulator explicitly if needed |
String-based initial_state API replaced with InitialState hierarchy |
Replace strings with the appropriate InitialState subclass |
PartitioningProgramEnsemble extracted from ProgramEnsemble |
Update any code subclassing ProgramEnsemble for partitioning |
✨ Added
- QAOA: extract domain logic into
QAOAProblemclass hierarchy (8784ad7, 67311bb, d162be4) - MaestroSimulator: add local
CircuitRunnerinterface (083f313, 8b71588, 3d04c11, def239c) - QiskitSimulator: add exact expectation value support via Qiskit Aer statevector (860d5d5)
- add Numba JIT compilation for hot-path functions (fe654e5)
- implement Hamiltonian observable compression (ee5697f, 7ecdc45, 627de8d, d9bb311)
- QAOA: add
IterativeQAOAwith warm-started depth progression (0266192) - integrate QCC ansatz into divi's
Ansatzframework (7390862, b7e8ad2) - add routing problem support (TSP, CVRP) with CE-QAOA encoding (c563c73, eed8593, 909dd96)
MaxWeightMatchingProblem: new problem class with edge-based partitioning (5a9a630, b30a744, 3614330)GridSearchOptimizer: new optimizer for exhaustive parameter sweeps (a61a3b6)
🐛 Fixed
- QAOA: handle arbitrary
decode_solution_fnreturn types in final computation (68a2dcb) - QDrift: use Campbell's faithful protocol for non-commuting Hamiltonians (be2da96)
🔄 Changed
- MaestroSimulator: replaces
ParallelSimulatoras the default non-noisy simulation backend;ParallelSimulatorhas been renamed toQiskitSimulator(1a48f31, 28b391d, 04be83b) - ProgramEnsemble: extract shared state into
PartitioningProgramEnsemblebase class (574a594, 2feeda1) - replace string-based
initial_stateAPI withInitialStateclass hierarchy (5f7c970)
🔧 Internal
- CI, build, and tooling fixes (nightly versioning, PyPI publish script, Poetry routine, docs workflow, autoflake config) (07f5b73, 97e7925, ef30e36, c368a08, 89f79fb, 18b05c3)
- update dependencies (Maestro, pydantic, mitiq, dev deps) (3b7aae5, f850889, 385de04, 6c7c151)
- code and test cleanup (
qubo_to_isingextraction, sparse representation removal, test reorganization) (753b597, 23e11e5, 64bf945, c085f00, 1fe3d06, ba03a59)
📝 Documentation
- fix DRY violations and stale import paths (f4adada)