Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Qiskit Terra 0.16.2
Changelog
Fixed
- Update the definition of the Hellinger fidelity (bp #5595) (#5703)
- Fix global phase tracking around DAGCircuit.substitute_node. (bp #5618) (#5673)
- More efficient C3X implementation (bp #5668) (#5669)
- Fix U2Gate decomposition in QuantumCircuit.u2 deprecation message. (#5660) (#5663)
- [Stable] Improve 1q decomposition pass with multiple matching basis (#5431) (#5655)
- Fix global phase in OneQubitEulerDecomposer using PSX and ZSX basis and in Diagonal gate (#5474) (#5652)
- Make optimize_1q_gates U and P aware (#5429) (#5651)
- Durations populated from calibrations (#5562) (#5616)
- Convert delays to instructions when assembling (#5481) (#5615)
- Use actual gate name in backend monitor (bp #5546) (#5589)
- Add ZSX Euler basis to UnitarySynthesis pass. (#5583) (#5585)
- Fix global phase handling in circuit.repeat (#5588) (#5592)
- transpile singleton (#5298) (#5507)
- Fix compensate_phase of pulse.builder.frequency_offset (#5489) (#5497)
- Add missing layout data for ibmq_casablanca. (#5492) (#5500)
- Fix bug when multiplying SparsePauliOp by np.int64 (#5417) (#5419)
Qiskit Terra 0.16.1
Changelog
Fixed
Qiskit Terra 0.16.0
Changelog
Deprecated
- Deprecate QuantumCircuit.u1/2/3 (#5083)
- Deprecate MSGate (#4979)
- Deprecate MSBasisDecomposer and remove references in transpiler.py (#5009)
Added
- Add Optimize1qGatesDecomposition to optimize 1q gates using Euler Decomposer (#5216)
- Probability distribution circuits (#5068)
- Add lightweight v2 provider interface starter (#5086)
- Classical Function compiler (#4522)
- Added spherical coords functionality to plot_bloch_vector (#4803)
- Add (piecewise) linear amplitude function to the circuit library (#5110)
- Schedules with Parameters (#5073)
- basicaer handling of global_phase. (#4915)
- [WIP] Pulse Gates: Transpiler changes (part 2) (#5080)
- Make InstructionScheduleMap support ParameterExpressions (#4940)
- Passmanager.remove(index) (#5024)
- Add Grover operator to the circuit library (#4828)
- Pulse Schedule disassembler (#4735)
- User API: support pulse gate calibrations (#4859)
Changed
- Allow ParameterExpressions to be cast to ints (#5001)
Removed
- Remove deprecated DAGNode dict constructor argument (#5201)
- Drop support for python 3.5 (#4926)
- Remove deprecated gate keyword arguments (#4935)
- Removing deprecated gates (#4593)
Fixed
- substitute_node only in single-qubit gates with singleton decompositions (#5225)
- Fixed issue 4697 by updating append method (#4887)
- Build BlueprintCircuit before inverse and compose (#5170)
- Fix in the circuit text drawer when a custom gate with even-length label is controlled (#5091)
- The lookahead_swap pass is global_phase aware (#5172)
- HoareOptimizer pass does preserve state between runs anymore (#5138)
- fix qasm loading of sx/sxdg/u/phase (#5156)
- Layout.from_intlist: Integer list length must equal number of qubits in circuit (#4913)
- Circuit.mcry with mode 'basic' uses MCXVChain (#4787)
- allow integer qarg in QuantumCircuit.unitary (#4955)
- Fix box aspect ratio for Bloch sphere and QSphere (#4893)
- Fix/5056 composite instruction to qasm (#5059)
- Fix global phase for qobj assembly (#5126)
- Fix handling of ancillas in functional Pauli rotations (#5079)
- Fix for a rounding error in plot_state_qsphere() (#4797)
- execute(..., backend=..., passmanager=...) has not conflicting args (#5051)
- Fix latex circuit drawer handling of circuits without gates (#5035)
- Fix random crashes on TextProgressBar (#5034)
- QuantumCircuit.extend updates cached bits (#5039)
- Fix DAGCircuit.compose condition map when handling multiple cregs. (#5026)
- Inverse of MCX gates to include ancillae (#5020)
- Fix Counts object creation with empty input (#5018)
- Fix/5015 QuantumCircuit eq should always return a Bool (#5016)
- Fix inverse in controlled gates (#4976)
- Update PhaseGate.control(n) to return MCPhaseGate (#4994)
- Fix decomposition in UnitaryGate.definition for 1Q gates (#4996)
- Fix pi_check not handling large numbers properly (#4853)
- fixes MCPhaseGate definition (#4989)
- Fix pulse transforms recursion bug fix that was lost in merge conflict (#4974)
- Fix on _bloch_multivector_data (utils.py) when number of qubit is 1 (#4948)
- redress global_phase in controlled UnitaryGate (#4799)
- Update backend snapshots with new conf or defs (#4897)
- Changed default labels for sdg, tdg, sx, and sxdg to None (#4885)
Qiskit Terra 0.15.2
Changelog
Fixed
- QuantumCircuit.extend updates cached bits (#5039) (#5041)
- Fix DAGCircuit.compose condition map when handling multiple cregs. (#5026) (#5029)
- Inverse of MCX gates to include ancillae (#5020) (#5027)
- Fix Counts object creation with empty input (#5018) (#5022)
- Fix inverse in controlled gates (#4976) (#5007)
- Update PhaseGate.control(n) to return MCPhaseGate (#4994) (#5003)
- fixes MCPhaseGate definition (#4989) (#4995)
Qiskit Terra 0.15.1
Qiskit Terra 0.15.0
Changelog
Deprecated
- Cleanup leftover SamplePulse mentions (#4730)
- Update plots to work with quantum state classes (#4324)
- Create metaclass to handle tolerances through atol and rtol for Operators and States (#4141)
- Finish issue 4167: SamplePulse->Waveform (#4670)
- Finish issue 4168 (#4662)
- Remove the interactive visualizations (#4438)
- New mpl drawer fixes open issues and adds proportional font text width spacing and labels (#4616)
- Removing
condition
argument fromapply_operation_back
(#4135) - Circuit reverse_bits operation (#4509)
- Unused variables (such as qasm(..., prec)) are being removed (#4192)
- Cache dag qubits/clbits (#4535)
- Remove deprecated multi-qubit acquire instructions (#4505)
Added
- Support for backends with defective qubits and gates (#4782)
- Allow Generator object for seed in QuantumVolume circuit (#4867)
- Sqrt(X) and C-Sqrt(X) gates (#4638)
- Add U and Phase gate (#4765)
- Quadratic form on binary variables circuit (#4800)
- Add synthesis-based translation method. (#4763)
- add global_phase to QuantumCircuit class (#4565)
- Add fake backends for Bogota, Montreal, and Toronto (#4733)
- Add phase estimation circuit to the library (#4685)
- Ancilla qubit type (#4686)
- Pulse builder interface (#4174)
- Add Counts object (#4501)
- Circuit control (#4627)
- Parameter conjugate (#4619)
- Adds BasisTanslator, UnrollCustomDefinitions to default levels. (#4446)
- Sabre layout and routing transpiler passes (#4537)
- Circuit reverse_bits operation (#4509)
- Add SetPhase instruction to pulse (#4540)
- Add rep delay (#4539)
- Add circuit.repeat (#4521)
- Add DAGDependency (#3581)
- Add BasisTranslator and UnrollCustomDefinitions passes. (#4442)
- Add from_networkx method to DAGCircuit class (#4255)
- Add ShiftFrequency instruction to pulse (#4390)
- Add init qubits flag to qobj (#4432)
- add DensityMatrix.to_statevector() for pure states (#4433)
- Add equivalence_library kwarg to circuit_to_{gate,inst} converters. (#4431)
- Update qsphere plots to show state labels and phases (#4384)
- Add support for substituting a Parameter with a ParameterExpression. (#4200)
- Add len to Schedule in Pulse along with related tests. (#4394)
- Add shift frequency qobj instruction -
shiftf
to schema (#4359) - Add EquivalenceLibrary.draw() method. (#4196)
Changed
- Update plots to work with quantum state classes (#4324)
- Create metaclass to handle tolerances through atol and rtol for Operators and States (#4141)
- Finish issue 4167: SamplePulse->Waveform (#4670)
- Finish issue 4168 (#4662)
- Removing
condition
argument fromapply_operation_back
(#4135) - QuantumCircuit.to_gate(..., label=...) support (#4478)
- Bugfix: Modified Pulse Style to default to RCParams. (#4470)
- fixed issue 4391 by updating idle_wires() in dagcircuit (#4481)
- Adding support for cregbundle in latex drawer (#4410)
- Allow transformation passes to modify the property set (#4387)
- Rename rescheduler to transform (#4251)
- Remove marshmallow from result/ and requirements (#4030)
Removed
- Remove switchable DAGCircuit implementation (#4386)
- Remove the interactive visualizations (#4438)
- remove deprecated qi functions (#4579)
- Remove almost-one-year-old deprecated methods (warning was inserted in #2683) (#4498)
- remove draw(..., line_length, ...) (deprecated after #3108) (#4507)
- Draw method: remove deprecated channels_to_plot argument (#4508)
- Remove deprecated multi-qubit acquire instructions (#4505)
- Remove circuit_instruction_map deprecated attribute (#4503)
- Remove marshmallow from result/ and requirements (#4030)
Fixed
- Drawers support for "partial" layout (#4795)
- fix dag_visualization in windows (#4794)
- Allow numbers.Integral instead of only built-in int for QuantumRegister index (#4591)
- pi_check qasm includes * between num and pi (#4732)
- Fix broadcast acquire config (#4654)
- QuantumCircuit.num_nonlocal_gates to count only Gate instances. (#4517)
- Fixes DAGCircuit.substitute_node_with_dag mutating input_dag if node has a condition (#4734)
- Fix transpiler failure with circuits containing conditions (#4695)
- Fix cnot method on QuantumCircuit (#4713)
- For DAGCircuit.compose remap condition bits (#4626)
- Fixes bug with cregbundle and conditional gates (#4597)
- New mpl drawer fixes open issues and adds proportional font text width spacing and labels (#4616)
- Add composite circuit definition when calling circuit.qasm() (#3748)
- disallow specifying controlled gate with zero controls. (#4584)
- fixes issue of crashing on unroll of 3+ qubit gates (#4577). (#4596)
- Issue #4182 Initializer should use at most 2^(n+1)-2n cnots (#4183)
- Fix ZZFeatureMap barriers (#4586)
- Set register name for definition of ControlledGates with ctrl_state. (#4582)
- Give MCX implementations more specific names. (#4568)
- Added num_ctrl_bits and ctrl_state to UnitaryGate call to ControlledGate (#4551)
- fix bug in unrolling open controlled basis gates. (#4444)
- Cache dag qubits/clbits (#4535)
- fixed issue 4391 by updating idle_wires() in dagcircuit (#4481)
- Fix #4445 | Bug in scheduler if circuit is empty (#4472)
- Fix disassemble of isometry and added test_disassemble_isometry (#4402)
- Circuit library NLocal string circuit drawer issue (#4468)
- Bugfix: Hz -> GHz conversion for SetFrequency -> PulseQobjInstruction (#4399)
- label support for controlled unitary (#4429)
- Allow bypassing parallel mode at init (#4345)
- MPL circuit drawer can handle multiple super/sub script commands in register name (#3827)
- Fix import of deprecated gates from qiskit.extensions (#4366)
Qiskit Terra 0.14.2
Changelog
Fixed
- Set register name for definition of ControlledGates with ctrl_state. (#4582) (#4583)
- Give MCX implementations more specific names. (#4568) (#4570)
- fix bug in unrolling open controlled basis gates. (#4444) (#4561)
- [Stable] Cache dag qubits/clbits (#4535) (#4558)
- fixed issue 4391 by updating idle_wires() in dagcircuit (#4481) (#4553)
- Circuit library NLocal string circuit drawer issue (#4468) (#4543)
- Add equivalence_library kwarg to circuit_to_{gate,inst} converters. (#4431) (#4534)
- Fix the circuit gate links in docs (#4487) (#4514)
- fixed issue 4133 by updating U3 and U2 definitions (#4165) (#4474)
- Fix #4445 | Bug in scheduler if circuit is empty (#4472) (#4476)
- Add missing T gate to documentation (#4409) (#4428)
- Bugfix: Hz -> GHz conversion for SetFrequency -> PulseQobjInstruction (#4399) (#4434)
- Fix bug in visualization/pulse/matplotlib (#4403) (#4405)
Qiskit Terra 0.14.1
Qiskit Terra 0.14.0
Changelog
Deprecated
- Stop monkeypatching standard gates and move them to circuit/library/standard_gates (#4035)
- add circuit.compose() method (#4190)
- Boolean logic AND and OR to circuit library (#4130)
Added
- Add
from_int
method toStatevector
andDensityMatrix
(#4289) - Global MS gate in circuit library (#4333)
- Iqp circuit added to circuit library (#4266)
- Add new fake backends FakeAthens and FakeRome (#4330)
- Circuit library: GraphState, HLF (#4259)
- Multi-control multi-target gate (#4028)
- N-local circuits for circuit library (#4211)
- Support for cregbundle in text circuit drawer (#4274)
- #3891 | PulseCompression (#4114)
- Add Cifford.from_label method (#4222)
- Use isometry for decomposition of 3+ qubit unitary gates (#4243)
- Blueprint circuit for the circuit library (#4185)
- Add EquivalenceLibrary.has_entry. (#4214)
- Diagonal in circuit library (#4186)
- HamiltonianGate (#4071)
- New fake backends: Cambridge, Paris, London, Valencia, Essex, Armonk (#4129)
- Boolean logic AND and OR to circuit library (#4130)
- Add methods to retrieve info from channels config in backends (#4097)
- Circuit library: QFT (#4072)
- Show instance name in output of pulse drawer (#4122)
- Hoare optimization transpiler pass (#3185)
Changed
- Stop monkeypatching standard gates and move them to circuit/library/standard_gates (#4035)
- add circuit.compose() method (#4190)
- ParametricPulses: rename constantpulse to constant (#4077)
- Remove marshmallow from providers/ (#4016)
Fixed
- Timeslot error fix and tests (#4335)
- missing pass_manager_drawer(..., filename=None) (#4331)
- fixed issue 4292 by updating latex drawer (#4322)
- QuantumCircuit.data modification methods to reset ParameterTable. (#4319)
- text-draw gates when are controlled and with a label (#4262)
- controlled gates label awareness (#4218)
- Fix bug in random_clifford (#4287)
- Transpiling with basis_gates=None disables unrolling (#4263)
- Error checking for time inputs to schedules and instructions (#4224)
- Adds ability to set ctrl_state on standard gates (#4076)
- Handle error on import if pygments < 2.4 is installed (#4229)
- Fix ParameterExpression.subs not detecting parameter name conflicts. (#4199)
- Instruction.is_parameterized to return False when fully bound. (#4198)
-
- Fixed SetFrequency name sf -> setf in pulse instructions. (#4213)
- Correct display of cx & ccx gates and fix bug on multi-control gates in text_drawer (#4173)
- For appended circuit add padding for wire labels in text drawing mode (#4095)
- Properly copy registers on circuit copy (#4178)
- Changed pi_check to handle parameter values where possible (#3876)
- fixed issue 3427 by updating interpolation module functions (#3854)
- Fix conversion of numpy.number instruction params to python types. (#4152)
Qiskit Terra 0.13.0
Changelog
Deprecated
- Convert the MCX functions to gates (#4082)
- Deprecate some unneeded methods of QuantumState (#4075)
- Cleanup quantum_info.random (#4058)
- generalize dag.compose_back(), deprecate dag.extend_back() (#3772)
- Add measure probability functions to QuantumState classes (#3952)
- Command/Inst refactor: FrameChange -> ShiftPhase (#3893)
- Improves
OneQubitEulerDecomposer
class and addRR
basis decomposition. (#3703) - Simplify BaseOperator abstract class (#3875)
- Defaults in TranspileConfig (now called PassManagerConfig) (#3035)
Added
- Add
SparsePauliOp
operator class (#3932) - add circuit.num_nonlocal_gates (#4101)
- Optimized clifford synthesis for up to 3 qubits (#4098)
- QuantumVolume and FourierChecking in circuit library (#4102)
- add a name attribute to CouplingMap (#4103)
- Add diamond norm function for quantum channels (#4050)
- Add random Clifford and pauli table functions (#4062)
- Log time for execute steps (#3922)
- Cleanup quantum_info.random (#4058)
- Add
Clifford
operator class (#3938) - Add measure and reset methods to QuantumState classes (#4041)
- Add env variable and user config option to suppress packaging warnings (#3362)
- Rename sample_measure to sample_counts and sample_memory (#4056)
- Update Statevector and DensityMatrix evolve to work with operator qargs attr (#3983)
- Jupyter widget for circuit library (#3861)
- Add
sample_measure
toStatevector
andDensityMatrix
(#3987) - Add measure probability functions to QuantumState classes (#3952)
- Add
StabilizerTable
class (#3931) - add iswap and dcx gates (#3992)
- Add
PauliTable
symplectic operator class (#3889) - Add
num_qubits
attribute toQuantumState
andBaseOperator
(#3986) - Allow generic callable to be inserted in CmdDef (#3385)
- Text drawer support for open controlled gates (#3867)
- Add library of gates with their equivalent circuit implementations. (#3946)
- Add ability to add operators on subsystems. (#3888)
- Implement the RYY gate (#3912)
- Add BaseJob status methods (#3723)
- Add
ScalarOp
toquantum_info.operators
(#3887) - Revert "Add
ScalarOp
toquantum_info.operators
(#3887)" - Add
ScalarOp
toquantum_info.operators
(#3887) - Add
qargs
property,__call__
, method to set qargs to BaseOperators (#3873) - Add support for backend.run to FakeBackend (#3890)
- Add wait_for_final_state() to BaseJob (#3731)
- start of a circuit library (#3841)
- Support Scheduler in execute pipeline (#3792)
Changed
- Upgrading bind_parameters: allow in place and mixed floats + parameters (#4037)
- Optional parameter basis_gates in Optimize1qGates (#4019)
- Remove marshmallow from RunConfig (#4096)
- Support for circuit.draw(initial_state=False) (#4068)
- Implement multi-controlled U1 as gate (#3883)
- Transpiler should raise when conflicting parameters, not just ignore them silently (#4060)
- layout_method and routing_method selectors in transpile() (#3999)
- Clean up default class atol and rtol for operators and states (#3989)
- Command/Inst refactor: Pulses and Play (#3936)
- set depth/width for LookaheadSwap pass (#3996)
- Populate equivalence library with existing gate definitions. (#3979)
- Command/Inst refactor: Acquire (and Kernel, Discriminator) (#3935)
- Fix preset pass managers to not always decompose Swaps (#3963)
- fix issue 3733 making result.get_counts() return also a list of dicts (#3751)
- Command/Inst refactor: FrameChange -> ShiftPhase (#3893)
- Command/Inst refactor: Snapshot (#3933)
- Allow list params in Instruction (#3955)
- Transition DAGCircuit to retworkx (#3916)
- Command/Inst refactor: Delay (#3924)
- Remove marshmallow from Qobj (#3383)
- Switch DAGCircuit wires property to a set instead of a list (#3934)
- Use CSPLayout in Level 2 and Level 3 (#3391)
- Command/Instruction unification (#3862)
- Improves
OneQubitEulerDecomposer
class and addRR
basis decomposition. (#3703) - Simplify BaseOperator abstract class (#3875)
- remove identity insertion in gate decomposition (#3879)
- Docathon: schedule.py and remove deprecated buffer arg (#3836)
- Defaults in TranspileConfig (now called PassManagerConfig) (#3035)
Removed
- Remove deprecated code! :) (#4005)
- Remove warnings about dt, dtm, and rep_time units changing (#3981)
- Remove previously deprecated instruction parameter types (#3948)
Fixed
- Add LookaheadSwap condition to prevent hangs (#4112)
- Optimize1qGates should allow rounding when calculating theta (#4015)
- BarrierBeforeFinalMeasurements pass to insert device-wide barrier. (#4054)
- Bugfix: Instruction name / pulse library name mismatch (#4051)
- Each thread needs its own passmanager (#4003)
- Update dt and dtm for FakeAlmaden: it had 'dt' and 'dtm' in units of seconds, but the spec has them in units of ns. (#3991)
- Fix pulse drawer bug for plot range (#3954)
- Fix schedule assember bug (#3900)
- Instruction.copy to deepcopy self._definition if it is set. (#3874)
- Creates dag op for a call of QASM custom gate (#3393)
- Fix substitute parameters when decomposing composite gates (#3914)
- Fixed issue #3806 by checking if QuantumCircuit args can be cast to int (#3869)
- Fix circuit extending with self (#3843)