Skip to content

v0.3.3

Choose a tag to compare

@Shiro-Raven Shiro-Raven released this 17 Nov 01:56

0.3.3 (2025-09-18)

✨ Added

  • Optimizer abstract base class: new abstraction replacing the Optimizer enum, with ScipyOptimizer and MonteCarloOptimizer concrete implementations for improved flexibility and extensibility
  • ScipyMethod enum: new enum for scipy optimization methods (Nelder-Mead, COBYLA, L-BFGS-B) used by ScipyOptimizer
  • ProgressReporter abstract base class: new abstraction for progress reporting with QueueProgressReporter and LoggingProgressReporter implementations, extracted from QuantumProgram for better separation of concerns
  • Comprehensive tests for optimizer behavior and callback consistency: added tests in test_core.py to verify optimizer interfaces and callback function behavior
  • ZNE tests: added comprehensive test suite for Zero Noise Extrapolation functionality in test_core.py

🔄 Changed

  • Refactored optimizer interface: replaced Optimizer enum usage throughout codebase with new Optimizer abstract base class and concrete implementations (ScipyOptimizer, MonteCarloOptimizer)
  • Extracted progress reporting logic: moved reporting functionality from QuantumProgram into separate ProgressReporter abstraction in new reporter.py module
  • Enhanced poll_callback API in QoroService.get_job_status(): added status parameter to function signature to expose job status during polling
  • Optimized result processing performance: refactored _post_process_results() in QuantumProgram to use itertools.groupby for more efficient grouping of execution results by parameter ID and QEM index
  • Updated Pennylane version to fix autoray dependency issue
  • Improved VQE sweep tutorial: minor enhancements to tutorial examples

🐛 Fixed

  • Fixed ZNE errors: corrected ZNE implementation issues in _post_process_results() method
  • Fixed progress bar reporter bugs: corrected lambda function signature in QoroService.get_job_status() default callback to accept both retry count and status parameters, and fixed conditional logic in ProgramBatch.join() method
  • Fixed expected fail detection in tests: corrected test framework configuration for proper handling of expected test failures