Changelog

All notable changes are documented here.


[1.0.0] — 2026-03-22

First stable release

Added

Benchmarking (new module)

  • assert_t2_above — Hahn echo T2 coherence time

  • assert_t2star_above — Ramsey (free induction decay) T2* coherence time

  • assert_interleaved_rb — Interleaved RB for individual gate fidelity

Quantum ML (new module)

  • assert_xeb_fidelity_above — Cross-entropy benchmarking (XEB) fidelity

  • assert_expressibility_above — Haar-random expressibility score

  • assert_entanglement_capability_above — Meyer-Wallach entanglement capability

  • assert_no_barren_plateau — Gradient variance / barren plateau detection

Circuit structure

  • assert_no_mid_circuit_measurement — detect mid-circuit measurements before hardware submission

QASM

  • assert_qasm2_roundtrip — OpenQASM 2.0 export/import round-trip

Fixtures

  • multi_backend_runner — parallel multi-backend circuit runner

  • benchmark_suite — per-assertion timing collection

  • ionq_backend — real IonQ hardware fixture

  • quantinuum_backend — real Quantinuum hardware fixture

Project

  • CITATION.cff — academic citation metadata

  • cliff.toml — git-cliff changelog configuration

Changed

  • qiskit-ibm-runtime moved to optional dependency (pip install pytest-quantum[ibm]); users without IBM credentials no longer need it installed

Fixed

  • Divide-by-zero in Clifford RB matrix composition (replaced element-wise division with np.vdot phase comparison)

  • ruff format on 7 files after automated CI check


[0.5.0] — 2026-03-21

Added

Benchmarking module (pytest_quantum.assertions.benchmarking)

  • assert_quantum_volume — IBM QV protocol with binomial confidence test

  • assert_randomized_benchmarking — 1-qubit Clifford RB with exponential decay fit

  • assert_t1_above — T1 relaxation via delay circuits

  • assert_gate_fidelity_above — reads backend calibration properties

Cross-platform module (pytest_quantum.assertions.cross_platform)

  • assert_cross_platform_equivalent — qubit-endianness-aware cross-framework equivalence

  • assert_qiskit_cirq_equivalent

  • assert_qiskit_pytket_equivalent

Noise models module (pytest_quantum.assertions.noise_models)

  • assert_depolarizing_channel, assert_amplitude_damping_channel, assert_dephasing_channel

  • assert_no_leakage, assert_channel_preserves_trace, assert_channel_diamond_norm_below

Mitiq PEC

  • assert_pec_reduces_error, assert_pec_expectation_close, assert_error_mitigation_benchmark

Hardware fixtures

  • ibm_backend — real IBM Quantum backend (requires IBM_QUANTUM_TOKEN)

  • ionq_backend, quantinuum_backend, braket_cloud_device, quantum_hardware_info

Optional dependencies

  • cvxpy extra for diamond norm SDP computation

Fixed

  • MyPy strict mode: all new modules pass mypy --strict

  • ruff lint: no warnings across all 65 source files


[0.4.0] — 2026-03

Added

  • Mitiq error mitigation: assert_zne_expectation_close, assert_zne_reduces_error, assert_cdr_reduces_error, assert_mitigation_improves_fidelity

  • Sweep assertions: assert_circuit_sweep, assert_circuit_sweep_states, assert_parametrized_unitary_continuous

  • Compilation assertions: assert_transpilation_equivalent, assert_transpilation_depth_below, assert_gate_count_after_transpilation


[0.3.0] — 2026-02

Added

  • Pytket and Stim framework support

  • Channel assertions: assert_channel_is_cptp, assert_process_fidelity_above, etc.

  • Entanglement assertions: assert_entanglement_entropy_below, assert_bloch_sphere_close

  • Information theory: assert_hellinger_close, assert_kl_divergence_below

  • Random generators: random_statevector, random_unitary, random_kraus_channel

  • QASM round-trip: assert_qasm_roundtrip

  • QEC assertions for Stim: assert_stim_logical_error_rate_below


[0.2.0] — 2026-01

Added

  • Density matrix assertions: assert_density_matrix_close, assert_purity_above, etc.

  • Qiskit Primitives: assert_sampler_distribution, assert_estimator_close

  • Snapshot testing: assert_unitary_snapshot, assert_distribution_snapshot

  • VQE/observable assertions


[0.1.0] — 2025-12

Initial release with core assertions:

  • assert_unitary, assert_circuits_equivalent

  • assert_state_fidelity_above, assert_states_close, assert_normalized

  • assert_measurement_distribution, assert_counts_close

  • assert_circuit_depth, assert_circuit_width, assert_gate_count

  • aer_simulator, cirq_simulator, braket_simulator, pennylane_device fixtures