v0.9.0
0.9.0 (2026-03-11)
This release adds HUBO support so QAOA and PCE can tackle higher-order problems, and introduces TimeEvolutionTrajectory for running time evolution across multiple time points in one go. The former ProgramBatch is now ProgramEnsemble, with circuit batching via BatchConfig to reduce small jobs and improve network use, and beam-search ensembles (e.g. graph and QUBO partitioning) expose get_top_solutions(n=...) for top-N global solutions. You can target simulators with SimulatorCluster, control runs via execution config at submit time, and see loss in progress bars for variational algorithms. MetaCircuit is immutable and parameter binding in the pipeline is faster; QUBO partitioning can use either QAOA or PCE as the subprogram algorithm.
✨ Added
- HUBO support:
QAOAandPCEnow support Higher-Order Unconstrained Binary Optimization (HUBO) problems in addition to QUBOs (acaed60) GraphPartitioningQAOA: warnings when the graph problem is incompatible with partitioning, so you can avoid invalid configurations (02a6f8d)MetaCircuit: circuits are now immutable and parameter binding in the pipeline is faster; the previous deep-copy workaround has been removed (08b8498, 2e22dce)ProgramEnsemble(formerlyProgramBatch): renamed class; ensembles that use beam-search aggregation (e.g.GraphPartitioningQAOA,QUBOPartitioningQAOA) now exposeget_top_solutions(n=...)to return the top-N global solutions from partition results, mirroring the single-programget_top_solutionsAPI (8fed611, e22d1e7)- Circuit batching:
ProgramEnsemblecan batch many circuits into fewer jobs viaBatchConfigto improve network utilization and avoid submitting many small jobs with very few circuits (8fed611) QoroService: support forSimulatorClusterand clearer separation between QPU and simulator targeting (fa77af9)QoroService: consolidated configuration module with property-based config access and support for execution config overrides per submission (b67bb49)QUBOPartitioningQAOA: you can now choose betweenQAOAandPCEas the underlying subprogram algorithm for partitioned QUBO solving (1e3b418)- Progress reporting: loss values are now shown in progress bars for variational algorithms (c8ff260)
TimeEvolutionTrajectory: new ensemble class for applying time evolution across multiple time points in one workflow (562751a)
🐛 Fixed
PCE:PCECostStageis no longer tied toMeasurementStage; QUBO matrix energy double-counting has been corrected and solutions are now returned sorted by energy (f682872)QoroService:ExecutionConfigcan now be passed tosubmit_circuits()and is sent inline with job init, so execution config is applied at creation time instead of requiring a separateset_execution_config()call after submit (which could be too late if the job started before the config was applied); job-level overrides are now viaoverride_job_config(formerlyoverride_config) (b58e3f1)QoroService: pagination no longer uses hardcoded values (ed4573c)
🔧 Internal
- Tutorials: Refactored CI script for running tutorials (18a827a)
- Tutorials: Added missing shot reduction for the QUBO partitioning tutorial (3a3a77a)
- Batching: Added private batching option to sort circuits before execution for reproducible runs (1a92155)
- Docs: Made Sphinx build in CI auto-detect venv when
sphinx-buildis not on PATH (6b94366) - CI: Introduced nightly PyPI builds (a86b7d6)
- Tests: Overhauled test suite based on audit report findings (b99bc3b)
- Tutorials: Refactored
run_tutorials.shwith stricter error handling for non-sed'd tutorials (df324e2) - Tutorials: Trimmed QUBO partitioning tutorial and increased VQE hyperparameter sweep tutorial timeout (6e81a77)
- Tutorials: Replaced Nelder-Mead with Pymoo DE in ZNE tutorial for more meaningful results (a13afcc)
- Docs: Updated documentation workflow to use Make for Sphinx and correct artifact path (609af8a)