v0.11.0
0.11.0 (2026-04-20)
v0.11 introduces QuEPP — a new error mitigation protocol, faithful to the original paper, with Monte Carlo sampling and noise-destruction warnings — alongside a redesigned execution pipeline with dry-run introspection and upfront stage validation, a new DAG-based internal circuit IR, and divi-ai, a RAG-based documentation assistant. A loss-landscape toolkit (Nudged Elastic Band, PCA scans, gradient analysis) and fractional ZNE folding via LocalFoldPass round out the release.
⚠️ Breaking Changes
If you are upgrading from v0.10.x, review the following before merging:
| What changed | Migration |
|---|---|
QuantumProgram.run() now returns self instead of a (count, time) tuple |
Access program.total_circuit_count and program.total_run_time after calling run() |
Mutable curr_params property removed from VariationalQuantumAlgorithm |
Pass initial parameters via run(initial_params=...) |
QuantumProgram constructor now validates kwargs strictly |
Remove unknown keyword arguments from instantiation calls |
✨ Added
- quepp: introduce QuEPP (Quantum Enhanced Pauli Propagation) error mitigation protocol, faithful to the original paper, with Monte Carlo sampling, noise-destruction warnings, controlled-rotation decomposition, and symbolic pipeline support; error mitigation is now available on
QuantumProgramin addition to ensemble workflows (6fab751, 287a7d3, 5d13847, efb3003, c8498ee, a41b90e, 08c991d, d91713d, b19856c, 75dfb3a, cdc0bfa) - pipeline: add dry-run introspection, upfront stage validation that catches misconfigurations before execution instead of mid-run, PennyLane/Qiskit spec stages, and optimized stage ordering (d65d54e, 087e775, c8498ee, 9a5eea3)
- circuits: add
LocalFoldPassand fractional ZNE folding for fine-grained noise amplification control (e8fc658) - circuits: introduce DAG IR as the internal circuit representation (#76, 229ec28)
- divi-ai: add RAG-based documentation assistant (#71, b051ff2, 9db0bac, 2b86702)
- viz: add a loss-landscape toolkit with 1D/2D/PCA param-history scans, Nudged Elastic Band (NEB) path finding, and gradient-based analysis methods (cbd3f4a, c967efe)
🐛 Fixed
- backends: handle >64-qubit histograms in the QH1 decoder (37be427)
- circuits: reject QASM3 headers in the validation parser (3c1d93f)
- ensemble: handle
FAILEDjob status with a clean shutdown instead of hanging (5de823c) disable_logging()now suppresses Rich progress spinners in addition to log output (0fd84d8)
🔄 Changed
- qprog:
run()now returnsselfinstead of a(count, time)tuple, enabling method chaining; constructor kwargs are now validated strictly and unknown arguments raise an error (e03a6b1, d7532af, 6975d44) - problems: remove dead code, fix ensemble solution double-counting, and harden graph partitioning edge cases (022eef2)
- vqa: remove mutable
curr_paramsproperty in favor of explicitrun(initial_params=...); clarify algorithm override boundaries (abd0bee, c0e8ef2)
🔧 Internal
- migrate dependency manager from Poetry to uv (#72, 74aa03e)
- add Python 3.13 to the testing matrix (d8966ab)
- add Read the Docs configuration and manual dry-run wheel build workflow (ca2a876, 4ccf7e4)
- divi-ai: add unit tests and pre-commit hook for tutorials CI dry-run (076a857, f99ab61)
- remove unnecessary postponed-annotation imports (b52a550)