Changelog
Added
- Add generic V1 Fake Backends, replace use in tests (10952)
- Native OpenQASM 3 importer (11584)
- Support stabilised syntax for OpenQASM 3 `switch` (11417)
- Library of Unparameterizable Standard Gates Commutations (11192)
- Add version flag to qpy dump (11644)
- Rename `BasicAer` to `BasicProvider` and refactor interface to follow `BackendV2` (11422)
- Token swapper permutation synthesis plugin (10657)
- Add reference implementation of EstimatorV2 (11227)
- Add fake generic and modify tests (10266)
- Add uuid property to Parameter (11647)
- Extend `CommutativeInverseCancellation` to cancel pairs of gates up-to-phase (11248)
- Add circuit generation from set of stabilizers (11483)
- Use "tensorised-Pauli decomposition" in `SparsePauliOp.from_operator` (11133)
- Warn on import failures within optional dependencies (11522)
- Allow string keys in `QuantumCircuit.assign_parameters` (11432)
- Add `QuantumCircuit.get_parameter` to retrieve by name (11431)
- use faster aqc objective function evaluation by default (11479)
- Add qpy deprecation warning class (11260)
- Add `ParameterExpression.numeric` to cast to number (11109)
- Document how to use high level synthesis plugins (11389)
- QFT circuit synthesis for linear nearest neighbor connectivity (11236)
- Ensure `QuantumCircuit.append` validates captures in control-flow (10974)
- Decomposition of single R gate in RR basis should be one R gate, not two (11304)
- Add pow as supported operation for ParameterExpression (11235)
- Add representation of storage-owning `Var` nodes (10944)
- Add support for Python 3.12 (11262)
- Add pass to filter ops and label inserted barriers (10323)
- Oxidize `QuantumCircuit._data` and intern `CircuitInstruction` args (10827)
- Fixed Issue 11026: SparsePauliOp.apply_layout should do nothing if given None (11041)
- Add new transpiler exception class for too many qubits (11241)
- Singletonized `Measure` and `Reset` instructions (11170)
- Improved Documentation and Error-Signaling of VF2PostLayout (11090)
- Update and expand DAGDependency drawer (11103)
- List support for coupling map in pass manager (11063)
- Add Statevector-based SamplerV2 (11566)
- Add BaseEstimatorV2 (11527)
- Add BaseSamplerV2 (11529)
- Add `BasePrimitiveJob` class and deprecate `PrimitiveJob.submit` method (11552)
- Add V2 primitive container classes (11524)
- Add `primitives.containers.BitArray` container class (11542)
- Add disable_validation option to SymbolicPulse (11029)
- Supporting floating-point exponents in ``Operator.power`` (11534)
- Update `gate.inverse()` to return `AnnotatedOperation` (11593)
- Add a kwarg for num_processes in the transpiler (11554)
- Introduction of ExperimentalWarning (11326)
- New OptimizeAnnotated transpiler pass (11476)
- Reimplement two_qubit_decompose.num_basis_gates in rust (11019)
- Update `gate.control()` to return `AnnotatedOperation` (11433)
Changed
- Fix `approximation_degree` default in `generate_preset_pass_maanger` (11695)
- Handle custom operations with overlapping names in QPY (11646)
- Legacy code removal in pass manager (11448)
- Bump MSRV to 1.70 (11493)
- Replace `qiskit` metapackage with `qiskit-terra` (11271)
- Update platform support and require symengine (10902)
Removed
- Remove provider-specific fake backends,`FakeProvider` class and related tools in 1.0 (11376)
- Effect final removals from Qiskit 1.0 (11711)
- Remove deprecated features in 0.46 in primitives (11576)
- Remove pulse scoped_parameters and search_parameters (11692)
- Rename `BasicAer` to `BasicProvider` and refactor interface to follow `BackendV2` (11422)
- Remove deprecated functions in pulse qobj converter (11410)
- Remove deprecated feature in 0.45 in unroller (11581)
- Remove visualization code deprecated in 0.22 (released on October 13, 2022) (10989)
- Remove qiskit.quantum_info.synthesis for Qiskit 1.0 release (11592)
- Remove qiskit.transpiler.synthesis for Qiskit 1.0 release (11570)
- Remove execute() function (11565)
- Remove deprecated features in 0.45 in quantumcircuit (11577)
- Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (11460)
- Remove psutil as a dependency (11336)
- Remove `Aer` and imports from `qiskit.providers.aer` (11442)
- Remove ``qiskit.extensions`` (11488)
- remove PauliList support as observable type for Estimator.run (11521)
- Remove ``ConfigurableFakeBackend`` (11568)
- Removed Deprecated Pulse Call Instruction (11537)
- remove deprecated clifford get/set item (11555)
- Remove most of `qiskit.test` (11445)
- Make ``iqp`` the matplotlib default style (11536)
- remove deprecated aquire alignment (11553)
- Removed Deprecated Instruction.qasm Function (11538)
- Remove qiskit.tools module (11515)
- Removed Deprecated VF2 Call Limit (11540)
- Remove deprecated IBMQ dependent functionality (11513)
- Legacy code removal in pass manager (11448)
- Remove deprecated top-level `classicalfunction` imports (11486)
- Remove `QuantumCircuit.bind_parameters` (11434)
- Remove Bit.register and Bit.index (10996)
- add release note (11395)
- Remove NoiseAdaptiveLayout and CrosstalkAdaptiveSchedule (11400)
- Remove deprecated legacy pulse builder commands (11191)
- Remove deprecated ParametricPulse classes (11024)
- Remove legacy qasm2 parser (11308)
- Remove leftover algorithm/opflow utils (11324)
- Remove alg_globals and validation (11252)
- Remove deprecated `opflow` module, `QuantumInstance` and related `utils` (11111)
- Remove __qiskit_version__ (deprecated in Qiskit Terra 0.25) (11305)
- Remove deprecated `IntegerComparator.num_ancilla_qubits` (11306)
- Fixed issue 11143 by removing deprecated code (11159)
- removed the deprecated code since `0.23` (`qiskit.visualization.pulse`) (11213)
- Remove the discrete pulse library (11277)
- Remove deprecated ``qiskit.algorithms`` module (11086)
- Remove namespace packaging hooks (11223)
- Expire deprecation on `qargs=None` in DAG appends (11190)
- Remove complex amp support for `ScalableSymbolicPulse` (11403)
- Remove `qiskit.test` (10998)
Fixed
- use pulse_alignment from Target in PadDynamicalDecoupling (11660)
- Handle custom operations with overlapping names in QPY (11646)
- Fix split barriers leaking during disjoint layout processing (11655)
- Fix SetLayout to error with invalid int list input (11653)
- Backend converter bugfix (edge case) (11609)
- Followup of 11095 (11404)
- Restrict version-number output of OpenQASM 3 exporter (11418)
- Fix qpy support for Cliffords (11495)
- Fix a bug of missing pulse library entry in PulseQobj parsing (11397)
- Fix broadcasting of `QuantumCircuit.delay` (11447)
- Detect duplicates in `QuantumCircuit.compose` (11451)
- Construct subclasses of `InstructionDurations` from backend (11501)
- Fix global-phase of copied `BlueprintCircuit`s (11456)
- Fix text overwriting end of box for empty default case in mpl drawer (11366)
- Add drawer support for AnnotatedOperations (11202)
- Ensure `TemplateOptimization` returns native-symbolic objects (11107)
- Add missing parameter in standard-gate mapping (11411)
- Fix a bug is StabilizerState repr (11368)
- Fixed bug in OptimizeSwapBeforeMeasure (11413)
- Raise error eagerly on bad unitary synthesis method (11367)
- Don't substitute ideal gates in target with Optimize1qGatesDecomposition (11351)
- Update `Instruction.condition_bits` for runtime classical expressions (11325)
- Avoid routing 2q barriers in SabreSwap (11295)
- Fix backend_util.py and test cases to support Aer 0.13 (11172)
- Fix issue with ScheduleBlock qpy serialization and use_symengine (11261)
- Allow correct retrieval of circuit with initialize instruction from qpy file (11206)
- Fix `QuantumCircuit.barrier` argument conversion (11272)
- Do not ignore global phases when comparing unitary gates (11247)
- Fix pickling of conditioned custom gates from OpenQASM 2 import (11175)
- Fix `Channel.__hash__` in multiprocessing contexts (11251)
- Speed up InverseCancellation when there's nothing to cancel (11211)
- Allow barriers in overlap circuit inputs (11179)
- Removed 2pi wrapping for global phase parameter (10631)
- Fix circuit drawer returning qubit[register] names for input (11096)
- Fix build ordering of `BlueprintCircuit._append` (11181)
- Collect classical registers using a set (10496) (10505)
- Fix lack of alternative for `Optimizer` in `AQC` (11099)
- Emit a descriptive error when the QPY version is too new (11074)
- Plot State City Visualization Fixes (10590)
- Fix Barrier broadcast arguments (11113)
- Fix calling backend.name() for backendV2 (11065)
- Fix text drawer AnnotatedOperations (11466)
- Fix qpy support for Annotated Operations (11505)
- Fix mypy errors (pulse) (8268)
- Fix Sabre extended set population order (10651)