Skip to content

Releases: Qiskit/qiskit

Qiskit Terra 0.18.2

09 Sep 20:59
0.18.2
47fbfd0
Compare
Choose a tag to compare

Changelog

Fixed

  • Correctly handle parametric pulse assemble() kwarg if empty list (#6922) (#6925)
  • Fix mpl circuit drawing duplication in ipykernel 6 (backport #6890) (#6900)

Qiskit Terra 0.18.1

02 Aug 19:15
0.18.1
31a6228
Compare
Choose a tag to compare

Changelog

Changed

  • Exclude bip-mapper extra from all (#6843) (#6846)

Fixed

  • Build aarch64 wheels in github actions with QEMU emulation (#6844) (#6854)
  • Fix QNSPSA settings (#6818) (#6837)
  • Handle single bit conditions in QPY (#6775) (#6835)
  • Fix JupyterLab compatibility with job watcher widget (#6598) (#6834)
  • Fix subgraph handling of non-contiguous nodelist argument (#6738) (#6820)
  • Ensure a non-parameterized global phase in EvolvedOperatorAnsatz is a float (#6792) (#6805)
  • Fix CompleteMeasFitter not imported in QuantumInstance (#6782) (#6790)
  • sx and sxdg colored as cliffords in mpl (#6765) (#6773)
  • Fix fake backend kwargs (#6743) (#6747)
  • Change operator comparison from np.array_equal to np.allclose (#6473) (#6644) (#6739)
  • update docstrings in UnitarySynthesis pass (#6737) (#6745)
  • Handle complex parameters and blueprint circuits in QPY (#6713) (#6730)

Qiskit Terra 0.18.0

12 Jul 19:26
0.18.0
5ca9675
Compare
Choose a tag to compare

Changelog

Deprecated

  • Deprecate the QiskitIndexError exception class (#6642)
  • Deprecate legacy provider interface (#6337)
  • use ParameterExpression.gradient directly (#6335)
  • Add @Property and setter for DAGNode.name (#6199)
  • Change attribute most_likely_phase to phase in PhaseEstimator (#6238)
  • Replace DAGNode.condition with DAGNode.op.condition (#6110)

Added

  • Pulse optimal decomposition of su4 for CNOT (#6581)
  • Add the option to wrap circuits in QuantumCircuit.compose (#6659)
  • Add dynamical decoupling transpiler pass (#6619)
  • Add align measure pass (#6673)
  • Add settings property to optimizer classes in qiskit.algorithms.optimizers (#6545)
  • BIP mapping pass (#6580)
  • Add PauliList class (#5993)
  • Add support for faulty directed gate (#6407)
  • Move gate, control, and param label selections from 3 circuit drawers to utils (#6078)
  • Add option to sort by values to plot_histogram (#6592)
  • latex-source (and latex) circuit drawer support for standalone (and cleaner output) (#6483)
  • QuantumCircuit.ccx(..., ctrl_state=...) parameter added for consistency with other controlled gates (#6508)
  • Add line_discipline kwarg to job_monitor function (#5691)
  • Allow users to optionally specify Isometry tolerance (#6482)
  • Add option to set encoding when saving Qasm to file (#5842)
  • Add a new transpiler pass to remove all barriers (#6329)
  • Add plain Gradient Descent optimizer (#6459)
  • Arithmetic circuit library: multipliers (#6470)
  • Create function to set user config (#5943)
  • Add StabilizerState class to qiskit.quantum_info.states (#5907)
  • Classical conditioning on individual classical bits now supported (#6018)
  • Added the class RZXCalibrationBuilderNoEcho (#6300)
  • Arithmetic circuit library: Adders (#6164)
  • 2-SPSA and QN-SPSA (#6405)
  • Add distributions results objects (#6377)
  • Add SciPyOptimizer (#6319)
  • Add qpy serialization format (#5578)
  • Issue 6326 (#6327)
  • Adding IBMQ_guadalupe as a mock backend (#6265)
  • Latex drawings now show numbering of active wires in custom instructions (#6153)
  • Adding Pauli and city to the draw option for statevector (#6146)

Changed

  • Wrap library circuits (#6634)
  • Classical condition boxes are now drawn as bullets in text drawer (#6370)
  • Move Gate.label to parent Instruction class (#6626)
  • Make tweedledum a hard requirement (#6588)
  • Don't enable multiprocessing by default on Python 3.9 (#6524)
  • Enable lo frequencies to be passed in circuits (#6167)
  • Using MissingOptionalLibraryError for consistency (#6098)
  • save a PDF file if circuit.draw(..., filename=.pdf) (#6446)
  • Use symengine for parameter and parameter expressions (#6270)
  • Update fake backend and fake provider to use versioned interface (#6286)
  • Support reps=0 in the n-local circuits (#6273)
  • Remove deprecation for pulse instruction parameter method (#6277)
  • Update circuit.delay to accept parameterized duration (Fix #6029) (#6225)
  • ScheduleBlock 4/4 - add ScheduleBlock (#6158)
  • Decompose controlled Pauli rotations in terms of Paulis (#4837)

Fixed

  • Fix qasm output for composite gates (#5887)
  • Fix Optimize1qGatesDecomposition length heuristic (#6553)
  • Add Expectation Converter to Gradient Wrapper (#6274)
  • fix bug in layout deletion (#6683)
  • Fixed qc.num_connected_components() for circuits with bit conditioned gates (#6564)
  • Fixed issue 6623 by raising errors for negative delay durations (#6625)
  • Fix calibration handling of transpiler passes on gates with >2 qubits (#6655)
  • fix 6547 (#6562)
  • Delay support when loading from QASM2 (#6594)
  • Improve error handling in creating Pauli with an invalid label (#5911)
  • Fix quantum part of Shor's algorithm (#6310)
  • Fix oracle_evaluation for PhaseOracle (#6365)
  • Fix #6497 (opflow.expectations ignore coefficients) (#6500)
  • TwoLocal entangling map works for numpy integers (#6556)
  • qc.num_connected_components() now returns the correct output (#6519)
  • Fix PiecewiseChebyshev does not work as expected when breakpoints = None (#6210)
  • TwoLocal raises proper exception for reps input that is not int and added unit tests (#6522)
  • Fix adding controls to an open controlled gate (#6309)
  • Fixed NFT optimizer by including argument for args as supplied (#6527)
  • Fix result aggregation when parameterized qobj is enabled with measurement mitigation (#5494)
  • Fixed typo in LinearAmplitudeFunction docstring (#6491)
  • Fix 2 problems with reverse_bits on all 3 circuit drawers (#5938)
  • improve error message for LookaheadSwap pass (#6452)
  • Matplotlib drawer fix for drawing custom instructions with classical register (#6339)
  • Fix addition of PauliSumOp with parameters (#6316)
  • Correctly require is_good_state on AmplificationProblem constructor (#6417)
  • Respect max_experiments in QuantumInstance BackendV1 path (#6391)
  • VQE with L_BFGS_B and P_BFGS supports Gradient (#6373)
  • The text drawings of custom instructions with clbits are now drawn as expected (#6242)
  • Drawing boxes of custom instructions extended to classical bits in latex (#6240)
  • Fix 6159 (Remove Unexpected Warning of PauliExpectation and AerPauliExpectation) (#6281)
  • Typo fix of controlled SWAP gate documentation (#6358)
  • fix optimal num iterations (#6298)
  • BasisTranslator skips translating gates already in target basis (#6350)
  • Support multiplication of TaperedPauliSumOp with ParameterExpression (#6315)
  • Fix behavior of instmap.add when partial function is specified (#6292)
  • Fix schedule inline transform (#6322)
  • plot_histogram does not raise for neg values (#6340)
  • Add support on QuantumInstance/run_circuits for Backends that don't handle QasmQobj (#6299)
  • Fix #6307 (PauliExpectation takes unnecessary adjoint when it converts operators) (#6318)
  • fix empty check of block subroutine (#6325)
  • Fix QuantumState._subsystem_probabilities (#6324)
  • Fix expval pauli qargs bug (#6304)
  • Fixes disassembler error for mcx gate (#6291)
  • fix error when dag_drawer removes a temporary file that is still open (#6266)
  • Fix bug in Pauli.evolve for CZ, CY, Swap (#6287)
  • object generation fix (#6282)
  • Bug fixes for callback function in SPSA (#6253)
  • fix global phase in initializer (#6236)
  • Small fixes in the SparseVectorStateFn (#6272)
  • BooleanExpression expression breaks label in the latex circuit drawer (#6260)
  • Bugfix in clifford instruction name (#6251)
  • Unroller error more descriptive when reaching a node without definition (#6235)
  • Don't remove swaps with conditions in OptimizeSwapBeforeMeasure (#6239)
  • mpl circuit drawer does not change the style dict in-place (#6190)
  • Pulse Builder: fix seconds_to_samples() for numpy arrays (#6213)
  • Better tolerances for gate decompositions (#5827)
  • global phase reverse_bits (#6206)
  • Fix error on construct_circuit 'a' parameter handling (#6216)
  • Allow custom gate color in the MPL circuit drawer (#6184)
  • Fix params for a controlled - UnitaryGate (#5780)
  • better unrolling in preset passmanagers (#6133)
  • Fix SPSA recalibration (#6173)
  • Preserve global phase in Unroller (#6155)
  • Ensure we include all cython files in sdist (#6163)
  • MCZ is now drawn correctly in matplotlib (#5981) (#6008)

Qiskit Terra 0.17.4

18 May 20:59
0.17.4
fa05da3
Compare
Choose a tag to compare

Changelog

Fixed

  • Respect max_experiments in QuantumInstance BackendV1 path (backport #6391) (#6414)

Qiskit Terra 0.17.3

10 May 22:27
0.17.3
ab1539c
Compare
Choose a tag to compare

Changelog

Added

  • Add Distributions result objects for Qiskit runtime (#6388)

Fixed

  • Fix counts histogram for distributions of differing sizes. (#6390) (#6393)

Qiskit Terra 0.17.2

05 May 15:00
0.17.2
1f5e3cb
Compare
Choose a tag to compare

Changelog

Fixed

  • BasisTranslator skips translating gates already in target basis (#6350) (#6356)
  • Support multiplication of TaperedPauliSumOp with ParameterExpression (#6315) (#6353)
  • Add support on QuantumInstance/run_circuits for Backends that don't handle QasmQobj (backport #6299) (#6343)
  • plot_histogram does not raise for neg values (#6340) (#6344)
  • Fix bug in Pauli.evolve for CZ, CY, Swap (#6287) (#6296)
  • Small fixes in the SparseVectorStateFn (#6272) (#6275)
  • Fix expval pauli qargs bug (#6304) (#6328)
  • Bugfix in clifford instruction name (#6251) (#6258)

Qiskit Terra 0.17.1

15 Apr 17:29
0.17.1
9946e99
Compare
Choose a tag to compare

Changelog

Fixed

  • global phase reverse_bits (#6206) (#6224)
  • Fix error on construct_circuit 'a' parameter handling (#6216) (#6219)
  • Allow custom gate color in the MPL circuit drawer (#6184) (#6212)
  • Fix params for a controlled - UnitaryGate (#5780) (#6191)
  • better unrolling in preset passmanagers (#6133) (#6189)
  • Fix SPSA recalibration (#6173) (#6186)
  • Fixed duplicated routine name in Shor algorithm (#6114) (#6176)
  • Preserve global phase in Unroller (#6155) (#6180)
  • Ensure we include all cython files in sdist (#6163) (#6174)

Qiskit Terra 0.17.0

01 Apr 15:39
0.17.0
ce15f8a
Compare
Choose a tag to compare

Changelog

Deprecated

  • Deprecate Bit.index and Bit.register (#6069)
  • ScheduleBlock 3/4 - add ScheduleBlock (#5854)
  • Deprecate probability distribution circuits (#6080)
  • Deprecate circuit.combine and circuit.extend (#4208)
  • Deprecate matmul and mul in qinfo (#5834)
  • Improved Pauli operator class (#5261)
  • Allow process fidelity to work with a non-unitary target channel (#5339)
  • Optimize allocated qubits in arithmetic circuits (#5332)
  • Deprecate Python 3.6 support (#5301)
  • Migrate qiskit.util module to qiskit.utils (#5420)
  • Deprecate schemas in qiskit-terra (#5262)

Added

  • ScheduleBlock 3/4 - add ScheduleBlock (#5854)
  • Boolean expression object (#5830)
  • Overload & and ^ for ciruit.compose and circuit.tensor (#6065)
  • Migrate basic aer provider to new versioned interface (#5128)
  • add ECR gate and approximation_degree option (#5609)
  • Add documentation guide on writing a provider (#5406)
  • Enable parallel_map on windows (#3547)
  • Add fake backends for new IBM Quantum devices (#6021)
  • Add additional basis gates rz, sx, x to basicaer. (#6022)
  • Implemented Random Shuffling in CSPLayout (#5994)
  • new 16Q device map (#6013)
  • Transfer the CNOTDihedral Operator class (#5442)
  • Improved Clifford synthesis method (#5779)
  • Add reverse_qargs to Operator (#5970)
  • Add simplify of U3->U1/U2 in OneQubitEulerDecomposer (#5554)
  • Add calibrations with the TemplateOptimization (#5752)
  • Allow passmanager.append(flowcontroller) instead of passes (#5772)
  • Clifford templates (#5769)
  • Easier way to call a pass on a circuit (#5503)
  • Enable user defined cost dict for templates (#5521)
  • Issue 5549 template matching (#5550)
  • More efficient C3X implementation (#5668)
  • Add PauliTwoDesign to the circuit library (#5552)
  • Add reverse_qargs to Statevector and DensityMatrix (#5464)
  • Amplitude Estimation algorithms (#5517)
  • Improve decomposition of (multi-)controlled-z (#5572)
  • Add PiecewiseChebyshev arithmetic circuit (#5364)
  • Add readout_length to backend properties (#5516)
  • Improved Pauli operator class (#5261)
  • Allow process fidelity to work with a non-unitary target channel (#5339)
  • Add metadata attribute to QuantumCircuit (#5270)
  • routing_method='none' and Error pass (#5274)
  • Allow specifying the last interval in PiecewisePolynomialPauliRotations (#5480)
  • Add environment variable for number of procs in parallel_map (#5384)
  • ParameterExpression.eq takes bounded expr == value (#5444)
  • Add support for circuits and labels in Statevector.equiv (#5215)
  • Add integer option to initialize to init using bitmap (#5418)
  • Add support for Python 3.9 (#5189)
  • Added meas_level and meas_return for circuit jobs (#5452)
  • Gradient functionality for parameter expressions (#5181)
  • Support complex parameters (#5192)
  • Add R(v) gate; rotation wrt rotation vector (#5336)
  • Add circuit.tensor (#5295)
  • Add PiecewisePolynomialRotations and InverseChebychev to the circuit library (#5219)
  • Add user config file options to control parallel execution (#5324)
  • fixed issue 3908 by adding trigonometric functions to ParameterExpres… (#4854)
  • allow Initialize from labels (#5229)
  • Adding Pauli to the standard gate library (#5153)

Changed

  • ScheduleBlock 3/4 - add ScheduleBlock (#5854)
  • Set sympy.evaluate(False) on frequent code paths for phase tracking. (#6072)
  • Migrate basic aer provider to new versioned interface (#5128)
  • Added reverse_bits parameter to plot_bloch_multivector() (#5959) (#6014)
  • Deprecate matmul and mul in qinfo (#5834)
  • QFT little endian (#4849)
  • Name-ordered circuit parameters (#5759)
  • Make Register and Bit hashed attrs immutable (#5867)
  • quantum_info.operator mixin interface refactor (#5617)
  • Wrap qiskit.Aer and qiskit.IBMQ with lazy loading object (#5619)
  • Change ParameterExpression eq to sympy equals() (#5760)
  • Add a lazy loading wrapper class for qiskit_version (#5620)
  • ScheduleBlock 1/4 - remove timeslot dependency from instruction (#5681)
  • Create explicit C3XGate/C4XGate in MCXGrayCode (#5601)
  • Log warning instead of raise exception in channel measures (#5594)
  • better initial_layout validation (#5526)
  • EquivalenceLibrary.draw to return SVG instead of PNG. (#5355)
  • Improved Pauli operator class (#5261)
  • Do not execute CSPLayout if layout_method is set in transpile (#5495)
  • Add __array__ method to Gate and quantum_info classes (#5402)
  • allow statevectors to be parameter in initialize (#5190)
  • Move Quaternion from operators to synthesis (#5449)
  • Add user config file options to control parallel execution (#5324)
  • Register or QuantumCircuit raises when an ambiguous non-integer gets passed to (#4858)

Removed

  • Remove deprecated interactive visualizations (#5991)
  • Remove circuit methods deprecated in 0.14.0 (#5948)
  • Wrap qiskit.Aer and qiskit.IBMQ with lazy loading object (#5619)
  • Remove deprecated pulse code (#5564)
  • passmanager(..., callback=...) parameter removed (#5522)
  • Migrate ApproximateTokenSwapper to only use retworkx and make networkx optional (#5471)
  • Remove deprecated DAGCircuit.qubits() and .clbits() methods. (#5433)
  • Remove deprecated quantum_info methods (#5439)

Fixed

  • no full scheduling of circuits with delay unless explicitly requested (#6084)
  • Fix RecursionError in SummedOp.to_pauli_op() and enhance PauliOp.tensor(), PauliSumOp.tensor() (#6111)
  • Properly clear parameter table on remove_final_measurement (#6109)
  • Fix TaperedPauliSumOp.to_matrix_op() (#6102)
  • Fix CalibrationBuilder (#6067)
  • Fix condition in BasisTranslator and change node.condition to @Property (#6040)
  • Enable consolidate blocks to to work with single gate blocks (#6024)
  • Fixes QASM parser to handle U (#6077)
  • Subcircuits with classical wires stay right of measures (#5958)
  • Update interpretation of meas_map in Qiskit (#5971)
  • fix plot_state_city if only real axis is specified (#6015)
  • Remove delays from Acquire Channels (#6000)
  • fix unique circuit names when binding parameters (#5851)
  • Remove DagNode.hash() (#5979)
  • make commutative_cancellation basis aware (#5672)
  • fix for permutation circuit (#5813)
    • Added left hand side calibrations carry over with + operator. (#5946)
  • Fix to carry over calibrations with iadd and add (#5910)
  • fix global phase in Instruction.inverse (#5925)
  • Fix circular entanglement edge case in NLocal (#5884)
  • fix qasm output with open controlled gates (#5688)
  • Fixed inconsistency in gate names between text and matplotlib backends (#5360)
  • Fix marginal_counts incorrect creg_sizes with Result object and add format_marginal kwarg (#5490)
  • Fix parameter handling in global phase (#5807)
  • clean classical bits after QuantumCircuit.remove_final_measurements (#5808)
  • Global phase in TwoQubitBasisDecomposer (#5764)
  • Fix incorrect durations in scheduled circuit (#5778)
  • Fix handling of classical bits in timeline drawer and non-treament of delay as idle time (#5662)
  • Fix incorrect qargs setting in sabre_swap (#5749)
  • Raise if attempting to convert parameterized circuit to qasm. (#5705)
  • add matrix rep for delay instruction (#5704)
  • Update the definition of the Hellinger fidelity (#5595)
  • Add unroll step to level2 passmanager optimization loop (#5671)
  • Fix global phase tracking around DAGCircuit.substitute_node. (#5618)
  • Fix U2Gate decomposition in QuantumCircuit.u2 deprecation message. (#5660)
  • Fix global phase in OneQubitEulerDecomposer using PSX and ZSX basis and in Diagonal gate (#5474)
  • Fix & refactor the linear combination of unitaries gradients (#5501)
  • Output transpiled circuit in dt (#5563)
  • Propagate Pauli phase when evaluating PauliOp (#5602)
  • Unroll parametervectors in circuit.execute (#5593)
  • Avoid collecting non atomic nodes in 1q runs (#5570)
  • Fix global phase handling in circuit.repeat (#5588)
  • Use actual gate name in backend monitor (#5546)
  • Fix quantum Fisher information computation based on overlap (#5508)
  • Add ZSX Euler basis to UnitarySynthesis pass. (#5583)
  • Durations populated from calibrations (#5562)
  • Test calling BlueprintCircuit.to_instruction directly after construction (#5544)
  • Fix unbound template parameters in template substitution (#5534)
  • Conditionals must display to the right of measures using the same register (#5397)
  • Fixed handling of "decimals" parameter by updating format_statevector and format_unitary (#5347)
  • Add missing layout data for ibmq_casablanca. (#5492)
  • Fix compensate_phase of pulse.builder.frequency_offset (#5489)
  • [Issue 5304]: Typecast to float only if bound to parameters (#5455)
  • Convert delays to instructions when assembling (#5481)
  • Bug fix to ensure that calibrations are carried over by circuit compose (#5396)
  • Optimize allocated qubits in arithmetic circuits (#5332)
  • Make optimize_1q_gates U and P aware (#5429)
  • Honor initial_layout when coupling map is None (#5346)
  • transpile singleton (#5298)
  • conditional wires are draw as classical wires in text circuit drawer (#5206)
  • Remove lone identity gates in Optimize 1q decomposition pass (#5292)
  • fix hash bug (#5379)
  • fix hasattr in get_options (#5370)
  • Add ZSX basis to one qubit decomposition and optimization pass (#5314)
  • Fix bug in quantum channel subtraction (#5343)
  • Fix global phase tracking for Unroller, OneQubitEulerDecomposer, and ControlledGate (#5248)
  • Fix qubits indexing in Statevector._evolve_instruction (#5286)
  • Fix display of backend name in Result.repr (#5284)
  • Fix bug: execute valid circuits built with delays (#5302)
  • Fix issue with frequency change visualization. (#5253)
  • classical_function decorator to handle parsing indented define. (#5288)
  • Fix C4XGate QASM definition. (#5265)
  • ...
Read more

Qiskit Terra 0.16.4

08 Feb 17:00
0.16.4
3e48acf
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix incorrect durations in scheduled circuit (bp #5778) (#5792)
  • Fix incorrect qargs setting in sabre_swap (#5749) (#5793)
  • Global phase in TwoQubitBasisDecomposer (#5764) (#5791)
  • Fix compatibility with numpy 1.20.0 (#5788)

Qiskit Terra 0.16.3

28 Jan 19:24
0.16.3
0bb570f
Compare
Choose a tag to compare

Changelog

Fixed

  • Fix typo adding non-gates to _collect_1q_runs() output (#5740)