Skip to content

Releases: Qiskit/qiskit

Qiskit Terra 0.16.2

26 Jan 17:26
0.16.2
a517383
Compare
Choose a tag to compare

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

12 Nov 17:45
0.16.1
dce7906
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix bug in quantum channel subtraction (#5343) (#5357)
  • Restore using aqua from release for tutorials job (#5246) (#5307)
  • Fix bug: execute valid circuits built with delays (#5302) (#5305)
  • Fix display of backend name in Result.repr (#5284) (#5310)
  • Fix C4XGate QASM definition. (#5265) (#5308)

Qiskit Terra 0.16.0

15 Oct 21:13
0.16.0
160574a
Compare
Choose a tag to compare

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

08 Sep 17:37
0.15.2
94a8524
Compare
Choose a tag to compare

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

10 Aug 17:01
0.15.1
bc5c5d6
Compare
Choose a tag to compare

Changelog

Fixed

  • Update backend snapshots with new conf or defs (#4897) (#4898)
  • Changed default labels for sdg, tdg, sx, and sxdg to None (#4885) (#4889)

Qiskit Terra 0.15.0

06 Aug 17:26
0.15.0
5e116b8
Compare
Choose a tag to compare

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 from apply_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 from apply_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

15 Jun 20:49
0.14.2
0517a9d
Compare
Choose a tag to compare

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

01 May 13:12
0.14.1
ca0461b
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix import of deprecated gates from qiskit.extensions (#4366) (#4367)

Qiskit Terra 0.14.0

30 Apr 20:22
0.14.0
afe78a9
Compare
Choose a tag to compare

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 to Statevector and DensityMatrix (#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

09 Apr 21:06
0.13.0
7303e7d
Compare
Choose a tag to compare

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 add RR 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 to Statevector and DensityMatrix (#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 to QuantumState and BaseOperator (#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 to quantum_info.operators (#3887)
  • Revert "Add ScalarOp to quantum_info.operators (#3887)"
  • Add ScalarOp to quantum_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 add RR 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)