Skip to content

v0.11.0

Choose a tag to compare

@Shiro-Raven Shiro-Raven released this 20 Apr 17:35
8816124

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 QuantumProgram in 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 LocalFoldPass and 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 FAILED job 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 returns self instead 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_params property in favor of explicit run(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)

📝 Documentation