Releases: Qiskit/qiskit
tag:0 · Releases · Qiskit/qiskit
10 releases found
Qiskit 0.46.3
Changelog
Fixed
- Fix
C3SXGate
to_matrix
method (backport #12742) (#12744) - Fix
replace_block_with_op
on operations with wrong number of qubits (#12637) (#12699) - GenericBackendV2 should fail when the backend cannot allocate the basis gate because its size (backport #12653) (#12666)
- Fix some bugs in loading Solovay Kitaev decompositions (#12579) (#12665)
- Invalidate
parameters
cache on circuit copy (backport #12619) (#12620)
Qiskit 0.46.2
Changelog
Added
- [0.46] Finalise support for Numpy 2.0 (#12189)
Fixed
- Fix v2 pulse drawer (#12608) (#12613)
- Fix bugs with VF2Layout pass and Qiskit Aer 0.13 (#11585) (#12536)
- Fix unnecessary serialisation of
PassManager
in serial contexts (backport #12410) (#12500) - Fix
Instruction.repeat
with conditionals (#11940) (#12499) - Fix evolved operator ansatz (#11682) (#12479)
- Avoid lossing precision when scaling frequencies (#12392) (#12480)
- Handle huge integers in OpenQASM 2 expression evaluator (#12140) (#12401)
- Default
init
plugin was not properly raising when called with an invalid optimization level (#12170) (#12175) - Fix mpl circuit drawer with fold=-1 hanging with ControlFlow ops (backport #12016) (#12036)
Qiskit 0.46.1
Changelog
Fixed
- Fixing monitor tools (#11414)
- Remove old graph structure during
EquivalenceLibrary.set_entry
(#11959) (#11963) - Fix handling of control flow instructions in convert_to_target() (#11922)
- Fix
PropertySet
re-use inBasePassManager.run
(#11787) (#11863) - Add missing gate properties and configuration to FakeOpenPulse2Q (from #11609) (#11788)
- Construct subclasses of
InstructionDurations
from backend (#11501) (#11727)
Qiskit 0.46.0
Release notes: https://docs.quantum.ibm.com/api/qiskit/release-notes/0.46
Changelog
Deprecated
- Remove validation methods from primitive base classes (backport #11052) (#11532)
- Deprecate visualization code (#11636)
- Deprecate pulse parameter scoping (#11691)
- Legacy code deprecation in pass manager (#11449)
- Deprecate NoiseAdaptiveLayout and CrosstalkAdaptiveSchedule (#11402)
- Deprecate qiskit.tools (#11514)
- Deprecate provider-specific fake backends,FakeProvider class and related tools in 0.46 (#11381)
- Add warning when qiskit package not installed (#11230)
- Deprecate
BasicAer
and introduceBasicProvider
(#11583) - Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (backport #11460) (#11635)
- Deprecate qiskit/transpiler/synthesis and move to qiskit/synthesis (backport #11426) (#11624)
- Deprecate
PauliList
estimator observables (#11520) - Deprecate
ConfigurableFakeBackend
(#11567) - Deprecate execute() (#11044)
- deprecate qiskit.test (#11001)
- Deprecate
qiskit.Aer
andqiskit.providers.aer
(#11439) - Deprecate implicit Estimator conversion to SparsePauliOp (#11535)
- Deprecate legacy qcstyle (#11545)
- Deprecate BasePrimitiveResult (#11054)
- Deprecate extensions on stable/0.46 (#11498)
- Deprecate legacy qasm2 parser for 0.46 (#11347)
- Deprecate Qobj input to
UnitarySimulatorPy.run
(#11394) - deprecate legacy pulse builder command (#11249)
- Deprecate leftover algorithm/opflow utils (#11323)
- Deprecate ParametricPulse (#11279)
- Deprecate the discrete pulse library (#11110) (#11265)
Added
- Add fake generic and modify tests (backport #10266) (#11670)
- Deprecate
BasicAer
and introduceBasicProvider
(#11583) - Deprecate qiskit/quantum_info/synthesis and move to qiskit/synthesis (backport #11460) (#11635)
- Add support for Python 3.12 (#11262) (#11311)
Changed
- Poison import if Qiskit 1.0+ is detected (#11617)
- Add warning when qiskit package not installed (#11230)
Fixed
- Fix qpy support for Cliffords (#11495) (#11582)
- Fix a bug of missing pulse library entry in PulseQobj parsing (backport #11397) (#11573)
- Fix broadcasting of
QuantumCircuit.delay
(#11447) (#11523) - Fix global-phase of copied
BlueprintCircuit
s (#11456) (#11485) - Fix text overwriting end of box for empty default case in mpl drawer (#11366) (#11482)
- Fix a bug is StabilizerState repr (#11368) (#11416)
- Fixed bug in OptimizeSwapBeforeMeasure (#11413) (#11415)
- Don't substitute ideal gates in target with Optimize1qGatesDecomposition (#11351) (#11359)
- Update
Instruction.condition_bits
for runtime classical expressions (#11325) (#11328) - Fix backend_util.py and test cases to support Aer 0.13 (#11172) (#11283)
- Fix issue with ScheduleBlock qpy serialization and use_symengine (#11261) (#11275)
- Allow correct retrieval of circuit with initialize instruction from qpy file (#11206) (#11274)
- Fix
QuantumCircuit.barrier
argument conversion (#11272) (#11273) - Fix pickling of conditioned custom gates from OpenQASM 2 import (#11175) (#11258)
- Fix
Channel.__hash__
in multiprocessing contexts (#11251) (#11255) - Allow barriers in overlap circuit inputs (#11179) (#11216)
- Fix circuit drawer returning qubit[register] names for input (#11096) (#11199)
Qiskit 0.45.3
Qiskit 0.45.2
Changelog
Fixed
- Fix qpy support for Cliffords (#11495) (#11582)
- Fix a bug of missing pulse library entry in PulseQobj parsing (backport #11397) (#11573)
- Fix broadcasting of
QuantumCircuit.delay
(#11447) (#11523) - Fix global-phase of copied
BlueprintCircuit
s (#11456) (#11485) - Fix text overwriting end of box for empty default case in mpl drawer (#11366) (#11482)
- Fix a bug is StabilizerState repr (#11368) (#11416)
- Fixed bug in OptimizeSwapBeforeMeasure (#11413) (#11415)
- Don't substitute ideal gates in target with Optimize1qGatesDecomposition (#11351) (#11359)
Qiskit 0.45.1
Changelog
Added
Fixed
- Update
Instruction.condition_bits
for runtime classical expressions (#11325) (#11328) - Fix backend_util.py and test cases to support Aer 0.13 (#11172) (#11283)
- Fix issue with ScheduleBlock qpy serialization and use_symengine (#11261) (#11275)
- Allow correct retrieval of circuit with initialize instruction from qpy file (#11206) (#11274)
- Fix
QuantumCircuit.barrier
argument conversion (#11272) (#11273) - Fix pickling of conditioned custom gates from OpenQASM 2 import (#11175) (#11258)
- Fix
Channel.__hash__
in multiprocessing contexts (#11251) (#11255) - Allow barriers in overlap circuit inputs (#11179) (#11216)
- Fix circuit drawer returning qubit[register] names for input (#11096) (#11199)
Qiskit 0.45.0
Release notes: https://qiskit.org/documentation/release_notes.html#relnotes-0-45-0
Changelog
Deprecated
- Pass manager refactoring: cleanup internals (#10127)
- Deprecate passing
None
toDAGCircuit
appenders (#10752) - Deprecate Unroller pass (#10607)
- Fix deprecation warning of unscheduled circuits in timeline drawer (#10851)
- Deprecation of algorithm utils (
algorithm_globals
andvalidation
) (#10905) - Deprecate
bind_parameters
in favor ofassign_parameters
(#10792) - Move OpenQASM 2 exporter to
qiskit.qasm2
(#10533) - Deprecate
qiskit.extensions
(#10725) - Deprecate duplicate circuit gate method (#10797)
Added
- Merging
UnrollCustomDefinitions
intoHighLevelSynthesis
as a single pass (#10965) - Add UnitaryOverlap to the circuit library (#10734)
- schedule() considers instruction map (#10988)
- Pass manager refactoring: cleanup internals (#10127)
- Add display of expressions to circuit drawers (#10869)
- Singleton parameterless controlled gates (#10898)
- Starting layout analysis pass for sabre (#10829)
- Rewrite singleton handling including
SingletonInstruction
(#11014) - Annotated operations (#9846)
- Add
apply_layout
method toSparsePauliOp
(#10947) - Fix hash of
Parameter
andParameterExpression
(#10875) - Fix deprecated behaviour in timeline drawer (#10846)
- Improve the ergonomics of the TranspileLayout class (#10835)
- Add
check_input
option toUnitaryGate
(#10660) - Fix
MergeAdjacentBarriers
to scale with number of barriers (#10900) - Add
use_symengine
option toqpy.dump
(#10820) - Update plot_gate_map() family to leverage graphviz for visualization (#10208)
- #10360 New sign feature in parameterexpression.py (#10571)
- adding an option to CouplingMap.reduce to allow disconnected coupling maps (#10863)
- Use singletons for standard library unparameterized, non-controlled gates (#10314)
- Optimise
QuantumCircuit.assign_parameters
for single-parameter binding (#10548) - Add fast path to
Parameter.assign
(#10549) - Add option to SabreLayout to specify starting layouts (#10721)
- Allow empty list default initialization for
SparsePauliOp
(#10765) - Add fast-path construction to
DAGCircuit
methods (#10753) - Use BasisTranslator for unroll 3q or more (#10776)
- Move OpenQASM 2 exporter to
qiskit.qasm2
(#10533) - Add display of internal circuits for ControlFlowOps to text drawer (#10414)
- Optimization stage as a plugin. (#10581)
- constructing cliffords from linear functions and permutation gates (#10423)
- Adding
coupling-map
andtarget
toHighLevelSynthesis
(#10477) - Add
draw
method toOperator
class (#10271) - Add tests of
Expr
support throughSabreSwap
(#10511) - Add full
Expr
support toStochasticSwap
(#10506) - limiting matrix-based commutativity check (#10495)
- Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)
- Add IGate rules to standard equivalence library (#7146)
- Add NormalizeRXAngle and RXCalibrationBuilder passes (#10634)
- Preparations to update the default MPL drawer style to
"iqx"
(#10950)
Changed
- Pass manager refactoring: cleanup internals (#10127)
- Deprecate Unroller pass (#10607)
- Singleton parameterless controlled gates (#10898)
- Pin Numpy < 2 in requirements (#10893)
- Update plot_gate_map() family to leverage graphviz for visualization (#10208)
- Use singletons for standard library unparameterized, non-controlled gates (#10314)
- Adding h, p and u to basic aer (#10673)
- qiskit-terra == qiskit, in version libraries (#10425)
- Keep resets at beginning of circuits (#10591)
- Migrate init stage to plugins (#10689)
- Migrate layout stage to plugins (#10622)
- Cleaning up U3 in the unitary extension (#10597)
- Update minimum Rust version to 1.64 (#10541)
- Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)
Removed
- Removed code deprecated in 0.22 [transpiler and providers] (#10872)
- Removed code deprecated in qiskit-terra 0.21, released on June 2022 (#10754)
- removed deprecated PauliTable, StabilizerTable and tests (#10815)
- Remove code deprecated in 0.15 (#10779)
- Remove deprecated
x
andz
arguments toPauli
(#10717) - Removed deprecated functions in qiskit.scheduler.utils (#10879)
- remove qiskit.utils.deprecation.deprecate_function, deprecated in terra 0.22 (#10881)
- Remove quantum_info deprecated code in 0.22 (#10861)
- Remove deprecated code in 0.19 (#10791)
- Removed code deprecated in 0.20 (#10767)
- Remove deprecated BIPMapping pass (#10526)
- Removal of deprecated property num_ancilla_qubits (#10793)
Fixed
- Fix input normalisation of
transpile(initial_layout=...)
(#11031) - Add base-gate callback to
CUGate.params
return (#11032) - Fix build filter coupling map with mix ideal/physical targets (#11009)
- schedule() considers instruction map (#10988)
- Fix commutation analysis to group gates into blocks of pairwise commuting gates (#10618)
- NoiseAdaptiveLayout to consider inconsistencies in backend (#10859)
- Use only discrete-basis translations in
GateDirection
(#10786) - Fix qpy for controlled
UnitaryGate
(#10809) - Add global-phase support to control-flow builders (#10800)
- BackendEstimator support BackendV2 without coupling_map (#10956)
- Fix hash of
Parameter
andParameterExpression
(#10875) - Fix IQX color schemes (#10941)
- Support dynamic circuit in BackendEstimator (#9700)
- Avoid useless deepcopy of target with custom pulse gates in transpile (#10973)
- Fix bug in qs_decomposition (#10850)
- Fix issues with ControlFlowOp displays (#10842)
- Fix Clifford.from_operator to fail with non-Clifford diagonal operators (#10904)
- Support passing empty lists to Pauli delete method (#10849)
- fix random statevector distribution (#10866)
- Allow dynamical decoupling pass to work on circuits with pulse gates (#10834)
- Fix GateDirection pass (#10825)
- Fix
qpy
for multiple controlled parametrized gates (#10758) - Track Sabre decay heuristic on physical qubits (#10756)
- Handle final comments with no terminating newline in OpenQASM 2 (#10773)
- Support new-style Bit in Pauli convertor from QuantumCircuit (#10757)
- Add validation to Sampler if there are no measurements (#10642)
- Fix performance of Sabre rust<->Python boundary (#10652)
- Fix classical-synthesis label ordering with
registerless=False
(#9536) - Reject bad values in
SparsePauliOp.paulis
setter (#10437) - Fixing the tools for plotting Pauli vec (#10619)
- Fix open circles and visual circuit tests to .9999 (#10580)
- Fix multiple nested custom controlled gates in QPY (#10537)
- Implemented a type check in copy method of QuantumCircuit class (#10521)
- Force decimal points in OpenQASM 2 floats (#10532)
- limiting matrix-based commutativity check (#10495)
- Fix final_layout when VF2PostLayout finds a better layout (#10466)
- Fix empty-barrier handling in OpenQASM 2 (#10469)
- Fix Pulse channel index validation (#10476)
- raise an exception with a custom gate with clbits or no qubits (#10438)
Qiskit 0.25.3
Release notes: https://qiskit.org/documentation/release_notes.html#qiskit-0-44-3
Changelog
Fixed
- Fix input normalisation of
transpile(initial_layout=...)
(backport #11031) (#11058) - Fix calling backend.name() for backendV2 (#11065) (#11076) (#11092)
- Fix build filter coupling map with mix ideal/physical targets (#11009) (#11049)
- Emit a descriptive error when the QPY version is too new (#11094)
- BackendEstimator support BackendV2 without coupling_map (#10956) (#11006)
- Support dynamic circuit in BackendEstimator (#9700) (#10984)
- Avoid useless deepcopy of target with custom pulse gates in transpile (#10973) (#10978)
- Fix bug in qs_decomposition (#10850) (#10957)
Qiskit 0.45.0rc1
Changelog
Deprecated
- Pass manager refactoring: cleanup internals (#10127)
- Deprecate passing
None
toDAGCircuit
appenders (#10752) - Deprecate Unroller pass (#10607)
- Fix deprecation warning of unscheduled circuits in timeline drawer (#10851)
- Deprecation of algorithm utils (
algorithm_globals
andvalidation
) (#10905) - Deprecate
bind_parameters
in favor ofassign_parameters
(#10792) - Move OpenQASM 2 exporter to
qiskit.qasm2
(#10533) - Deprecate
qiskit.extensions
(#10725) - Deprecate duplicate circuit gate method (#10797)
Added
- Merging
UnrollCustomDefinitions
intoHighLevelSynthesis
as a single pass (#10965) - Add UnitaryOverlap to the circuit library (#10734)
- schedule() considers instruction map (#10988)
- Pass manager refactoring: cleanup internals (#10127)
- Add display of expressions to circuit drawers (#10869)
- Singleton parameterless controlled gates (#10898)
- Starting layout analysis pass for sabre (#10829)
- Rewrite singleton handling including
SingletonInstruction
(#11014) - Annotated operations (#9846)
- Add
apply_layout
method toSparsePauliOp
(#10947) - Fix hash of
Parameter
andParameterExpression
(#10875) - Fix deprecated behaviour in timeline drawer (#10846)
- Improve the ergonomics of the TranspileLayout class (#10835)
- Add
check_input
option toUnitaryGate
(#10660) - Fix
MergeAdjacentBarriers
to scale with number of barriers (#10900) - Add
use_symengine
option toqpy.dump
(#10820) - Update plot_gate_map() family to leverage graphviz for visualization (#10208)
- #10360 New sign feature in parameterexpression.py (#10571)
- adding an option to CouplingMap.reduce to allow disconnected coupling maps (#10863)
- Use singletons for standard library unparameterized, non-controlled gates (#10314)
- Optimise
QuantumCircuit.assign_parameters
for single-parameter binding (#10548) - Add fast path to
Parameter.assign
(#10549) - Add option to SabreLayout to specify starting layouts (#10721)
- Allow empty list default initialization for
SparsePauliOp
(#10765) - Add fast-path construction to
DAGCircuit
methods (#10753) - Use BasisTranslator for unroll 3q or more (#10776)
- Move OpenQASM 2 exporter to
qiskit.qasm2
(#10533) - Add display of internal circuits for ControlFlowOps to text drawer (#10414)
- Optimization stage as a plugin. (#10581)
- constructing cliffords from linear functions and permutation gates (#10423)
- Adding
coupling-map
andtarget
toHighLevelSynthesis
(#10477) - Add
draw
method toOperator
class (#10271) - Add tests of
Expr
support throughSabreSwap
(#10511) - Add full
Expr
support toStochasticSwap
(#10506) - limiting matrix-based commutativity check (#10495)
- Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)
- Add IGate rules to standard equivalence library (#7146)
- Add NormalizeRXAngle and RXCalibrationBuilder passes (#10634)
- Preparations to update the default MPL drawer style to
"iqx"
(#10950)
Changed
- Pass manager refactoring: cleanup internals (#10127)
- Deprecate Unroller pass (#10607)
- Singleton parameterless controlled gates (#10898)
- Pin Numpy < 2 in requirements (#10893)
- Update plot_gate_map() family to leverage graphviz for visualization (#10208)
- Use singletons for standard library unparameterized, non-controlled gates (#10314)
- Adding h, p and u to basic aer (#10673)
- qiskit-terra == qiskit, in version libraries (#10425)
- Keep resets at beginning of circuits (#10591)
- Migrate init stage to plugins (#10689)
- Migrate layout stage to plugins (#10622)
- Cleaning up U3 in the unitary extension (#10597)
- Update minimum Rust version to 1.64 (#10541)
- Revert "Revert "Pass manager refactoring: add passmanager module (#10124)" (#10454)" (#10474)
Removed
- Removed code deprecated in 0.22 [transpiler and providers] (#10872)
- Removed code deprecated in qiskit-terra 0.21, released on June 2022 (#10754)
- removed deprecated PauliTable, StabilizerTable and tests (#10815)
- Remove code deprecated in 0.15 (#10779)
- Remove deprecated
x
andz
arguments toPauli
(#10717) - Removed deprecated functions in qiskit.scheduler.utils (#10879)
- remove qiskit.utils.deprecation.deprecate_function, deprecated in terra 0.22 (#10881)
- Remove quantum_info deprecated code in 0.22 (#10861)
- Remove deprecated code in 0.19 (#10791)
- Removed code deprecated in 0.20 (#10767)
- Remove deprecated BIPMapping pass (#10526)
- Removal of deprecated property num_ancilla_qubits (#10793)
Fixed
- Fix input normalisation of
transpile(initial_layout=...)
(#11031) - Add base-gate callback to
CUGate.params
return (#11032) - Fix build filter coupling map with mix ideal/physical targets (#11009)
- schedule() considers instruction map (#10988)
- Fix commutation analysis to group gates into blocks of pairwise commuting gates (#10618)
- NoiseAdaptiveLayout to consider inconsistencies in backend (#10859)
- Use only discrete-basis translations in
GateDirection
(#10786) - Fix qpy for controlled
UnitaryGate
(#10809) - Add global-phase support to control-flow builders (#10800)
- BackendEstimator support BackendV2 without coupling_map (#10956)
- Fix hash of
Parameter
andParameterExpression
(#10875) - Fix IQX color schemes (#10941)
- Support dynamic circuit in BackendEstimator (#9700)
- Avoid useless deepcopy of target with custom pulse gates in transpile (#10973)
- Fix bug in qs_decomposition (#10850)
- Fix issues with ControlFlowOp displays (#10842)
- Fix Clifford.from_operator to fail with non-Clifford diagonal operators (#10904)
- Support passing empty lists to Pauli delete method (#10849)
- fix random statevector distribution (#10866)
- Allow dynamical decoupling pass to work on circuits with pulse gates (#10834)
- Fix GateDirection pass (#10825)
- Fix
qpy
for multiple controlled parametrized gates (#10758) - Track Sabre decay heuristic on physical qubits (#10756)
- Handle final comments with no terminating newline in OpenQASM 2 (#10773)
- Support new-style Bit in Pauli convertor from QuantumCircuit (#10757)
- Add validation to Sampler if there are no measurements (#10642)
- Fix performance of Sabre rust<->Python boundary (#10652)
- Fix classical-synthesis label ordering with
registerless=False
(#9536) - Reject bad values in
SparsePauliOp.paulis
setter (#10437) - Fixing the tools for plotting Pauli vec (#10619)
- Fix open circles and visual circuit tests to .9999 (#10580)
- Fix multiple nested custom controlled gates in QPY (#10537)
- Implemented a type check in copy method of QuantumCircuit class (#10521)
- Force decimal points in OpenQASM 2 floats (#10532)
- limiting matrix-based commutativity check (#10495)
- Fix final_layout when VF2PostLayout finds a better layout (#10466)
- Fix empty-barrier handling in OpenQASM 2 (#10469)
- Fix Pulse channel index validation (#10476)
- raise an exception with a custom gate with clbits or no qubits (#10438)