Releases: Qiskit/qiskit
Releases · Qiskit/qiskit
Qiskit Terra 0.18.2
Qiskit Terra 0.18.1
Changelog
Changed
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
tonp.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
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
tophase
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 parentInstruction
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
Qiskit Terra 0.17.3
Qiskit Terra 0.17.2
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
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
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
toStatevector
andDensityMatrix
(#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 toGate
andquantum_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)
- ...