Skip to content

v0.10.0

Choose a tag to compare

@Shiro-Raven Shiro-Raven released this 30 Mar 08:35

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 QAOAProblem class hierarchy (8784ad7, 67311bb, d162be4)
  • MaestroSimulator: add local CircuitRunner interface (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 IterativeQAOA with warm-started depth progression (0266192)
  • integrate QCC ansatz into divi's Ansatz framework (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_fn return types in final computation (68a2dcb)
  • QDrift: use Campbell's faithful protocol for non-commuting Hamiltonians (be2da96)

🔄 Changed

  • MaestroSimulator: replaces ParallelSimulator as the default non-noisy simulation backend; ParallelSimulator has been renamed to QiskitSimulator (1a48f31, 28b391d, 04be83b)
  • ProgramEnsemble: extract shared state into PartitioningProgramEnsemble base class (574a594, 2feeda1)
  • replace string-based initial_state API with InitialState class hierarchy (5f7c970)

🔧 Internal

📝 Documentation

  • fix DRY violations and stale import paths (f4adada)