Skip to content

Qiskit Terra 0.25.0

Compare
Choose a tag to compare
@qiskit-bot qiskit-bot released this 27 Jul 21:41
· 1858 commits to main since this release
0.25.0
fa0491b

Release notes: https://qiskit.org/documentation/release_notes.html#terra-0-25-0

Changelog

Deprecated

  • Add deprecation warning to algs module (#10406)
  • qiskit_version deprecation (#10242)
  • Remove method qasm from Instruction and all of its subclasses (#10399)
  • Deprecate namespace packaging hooks (#10322)
  • Deprecate pulse Call instruction (#10247)
  • Deprecate get_vf2_call_limit in preset_passmanagers (#10065)
  • Deprecate circuit-library Jupyter magic (#9940)

Added

  • Add full Expr support to StochasticSwap (#10506) (#10510)
  • Allow circuits w/ control flow in O2 and O3 (#10372)
  • Optimize ConsolidateBlocks pass (#10365)
  • Add Expr support to OpenQASM 3 exporter (#10408)
  • Support control flow in ConsolidateBlocks (#10355)
  • Add display of internal circuits for ControlFlowOps to mpl circuit drawer (#10207)
  • Add flatten option to the NLocal family (#10269)
  • Improve parameter-binding performance of large instructions (#10284)
  • Add block collection options split_layers and collect_from_back (#10254)
  • Add in qpy the support for Discriminator and Kernel (#10327)
  • Add Expr support to DAGCircuit.substitute_node_with_dag (#10381)
  • Add Expr support in DAGCircuit.substitute_node (#10382)
  • Add a new argument concurrent_measurements to target class (#10258)
  • Add Expr support to DAGCircuit.replace_block_with_node (#10383)
  • Add find_bit method to DAGCircuit to get mapping of bits to positional index (#10128)
  • Add Expr support to QPY for conditions and targets (#10392)
  • Add Expr support to the control-flow builders (#10400)
  • Add Expr support to DAGCircuit.compose (#10377)
  • Add Expr support to QuantumCircuit.compose (#10375)
  • Add separable_circuits method to DAGCircuit class (#9471)
  • Add support for semantic equality checking of Exprs in DAGCircuit (#10367)
  • Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
  • DAGCircuit: Add get_causal_cone method (#10325)
  • Add get_dt_from_backend func to the builder command (#10253)
  • Add Expr supprt to DAGCircuit simple constructors (#10362)
  • Linear function usability improvements (#10053)
  • Add Expr support to ControlFlowOp representation (#10358)
  • Add initial representation of classical expressions (#10332)
  • Relax wire_order restrictions in circuit visualization (#9893)
  • Adding depth-5n synthesis algorithm for -CZ-CX- circuits (#9932)
  • Add schmidt_decomposition function to quantum_info (#10104)
  • Adding the feature of calculating entanglement measures negativity (#10134)
  • Add HAS_PYGMENTS lazy tester (#9944)
  • Allow multiplication of SparsePauliOp and ParameterExpression (#10264)
  • Pass manager refactoring: add passmanager module (#10124)
  • Added classical_predecessors method (#9980)
  • Allow to normalize inputs on StatePreparation and Initialize (#7189)
  • Add more 1q and 2q Pauli rotation equivalences (#7407)
  • Add standard 1q Pauli equivalences to standard library (#10300)
  • add abs method to ParameterExpression (#9309)

Changed

  • Enable Sabre for control flow circuits at O1 (#10371)
  • Refactor output of OpenQASM 3 exporter to use fewer aliases (#10249)
  • Remove cyclic-definition handling from Clifford.from_circuit (#10441)
  • Use rustworkx version of token_swapper (#10001)
  • Use stable Python C API for building Rust extension (#10120)
  • Assign values directly to fully bound parameters in quantum circuits (#10183)
  • Switch QuantumCircuit.from_qasm_str and from_qasm_file to new parser (#9955)
  • Drop support for Python 3.7 (#10009)
  • Set max_trials for VF2Layout in preset pass managers. (#10054)

Removed

  • Remove list argument broadcasting and simplify transpile() (#10291)
  • Remove deprecated InstructionSet circuit_cregs argument (#10302)
  • Remove deprecations from mpl circuit drawer (#10020)

Fixed

  • Fix final_layout when VF2PostLayout finds a better layout (#10466) (#10493)
  • Fix empty-barrier handling in OpenQASM 2 (#10469) (#10491)
  • raise an exception with a custom gate with clbits or no qubits (#10438) (#10485)
  • Fix Pulse channel index validation (#10476) (#10486)
  • Fix UnassignedDurationError of update_from_instruction_schedule_map (#10447)
  • Add Expr support to OpenQASM 3 exporter (#10408)
  • Improve parameter-binding performance of large instructions (#10284)
  • Add Expr support in DAGCircuit.substitute_node (#10382)
  • Add Expr support to the control-flow builders (#10400)
  • fix 1q matrix bug in Quantum Shannon Decomposer (#10126)
  • Add mid-circuit measurement before conditional operation in random_circuit (#10401)
  • Fix inner qubit mapping in UnitarySynthesis pass. (#10405)
  • Fix plot legend don't show up when dataset start with zero (#10176)
  • Fix deepcopy for new-style Bit (#10411)
  • Fix DiagonalGate QPY serialisation (#10376)
  • Add support for QuantumCircuit.layout to qpy (#10148)
  • Fix CheckMap with control-flow builder nested conditionals (#10395)
  • Fix VQD's optimal_values (#10279)
  • Fix qasm export for gates with same name (#10286)
  • Fix deprecation warnings emitted by import qiskit.primitives (#10287)
  • Fix BasicSwap FakeRun Typo (#10274)
  • Improve casting and error message for ParameterExpression (#10244)
  • FullAncillaAllocation for backends witout a coupling map (#10240)
  • Fix the output macros.measure with backendV2 (#10135)
  • Fix QuantumCircuit.draw() not outputting pdf in latex mode (#10212)
  • Fix output of DensityMatrix.partial_transpose to match input dimensions (#10163)
  • Assign values directly to fully bound parameters in quantum circuits (#10183)
  • Fix unitary synthesis for parameterized basis gates in Target (#10090)
  • Fix PassManagerConfig.from_backend with BackendV1 and no CouplingMap (#10172)
  • Fix top-level switch statements in QuantumCircuit.compose (#10164)
  • Fixing BlockCollapser with Clbits (#9823)
  • Fix initial_layout in transpile with loose qubits (#10153)
  • Remove undefined variable (#10117)
  • Fix wrong relative phase of MCRZ (#9836)
  • Fix tweedledum runtime detection in BooleanExpression.from_dimacs_file (#10132)
  • define getstate and setstate for OneQubitGateErrorMap (#10092)
  • Add the qubit_coordinates_map for ibm_seattle (#10089)
  • Switch QuantumCircuit.from_qasm_str and from_qasm_file to new parser (#9955)
  • Fix interaction graph vf2 scoring to include 1q component (#10084)
  • Set max_trials for VF2Layout in preset pass managers. (#10054) (#10061)
  • Set max_trials for VF2Layout in preset pass managers. (#10054)
  • Remove recursion from ConstrainedReschedule pass (#10051) (#10057)
  • Remove recursion from ConstrainedReschedule pass (#10051)
  • Fix for unintended rounding in 'state_to_latex' latex output (#9300) (#10048)
  • Fix for unintended rounding in 'state_to_latex' latex output (#9300)
  • Fix delay padding to respect target's constraints (#10007) (#10038)
  • FIx 0q operation handling in Statevector (#10031) (#10039)
  • circuit: narrow the return type of QuantumCircuit.assign_parameters (#10037)
  • FIx 0q operation handling in Statevector (#10031)
  • Allow decomposing composite gates by name (#9170)
  • Fix delay padding to respect target's constraints (#10007)
  • Use backend_compat module's convert to target (#10016)