Skip to content

Commit

Permalink
Update release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
mtreinish committed Jan 28, 2025
1 parent c4ab136 commit eb8fb6f
Showing 1 changed file with 56 additions and 8 deletions.
64 changes: 56 additions & 8 deletions releasenotes/notes/remove-deadweight-5d68e3fa42fc19bd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,62 @@
features_transpiler:
- |
The scheduling passes :class:`.PadDelay` and :class:`.PadDynamicalDecoupling` has new arguments on
their constructors ``target`` and ``durations``.
their constructors ``target`` and ``durations`` these are used to specify the :class:`.Target` or
:class:`.InstructionDurations` respectively. This is required to provide the durations for the
instructions in the circuit when this pass is run.
upgrade_circuits:
- |
The deprecated attributes for :class:`.Instruction` and :class:`.Gate`: ``duration`` and ``unit``.
The deprecated attributes for :class:`.Instruction` and :class:`.Gate`: ``duration`` and ``unit``. This includes
setting the ``unit`` or ``duration`` arguments for any :class:`qiskit.circuit.Instruction`
or subclass. These attributes were deprecated in Qiskit 1.3.0. These attributes were used to attach a custom execution
duration and unit for that duration to an individual instruction. However,
the source of truth of the duration of a gate is the :class:`.BackendV2`
:class:`.Target` which contains the duration for each instruction supported
on the backend. The duration of an instruction is not something that's
typically user adjustable and is an immutable property of the backend. If
you were previously using this capability to experiment with different
durations for gates you can mutate the
:attr:`.InstructionProperties.duration` field in a given :class:`.Target` to
set a custom duration for an instruction on a backend (the unit is always in
seconds in the :class:`.Target`).
- |
The deprecated attribute for :class:`.Instruction` and :class:`.Gate`: ``condition`` has been
removed
removed. These attributes were deprecated in the 1.3.0 release.
This functionality has been superseded by the :class:`.IfElseOp` class
which can be used to describe a classical condition in a circuit.
- |
The deprecated methods for :class:`.Instruction` and :class:`.Gate`: ``c_if`` and ``condition_bits``
have been removed.
have been removed. These methods were deprecated in the 1.3.0 release.
This functionality has been superseded by the :class:`.IfElseOp` class
which can be used to describe a classical condition in a circuit.
For example, a circuit using :meth:`.Instruction.c_if` like::
from qiskit.circuit import QuantumCircuit
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.x(0).c_if(0, 1)
qc.z(1.c_if(1, 0)
qc.measure(0, 0)
qc.measure(1, 1)
can be rewritten as::
qc = QuantumCircuit(2, 2)
qc.h(0)
with expected.if_test((expected.clbits[0], True)):
qc.x(0)
with expected.if_test((expected.clbits[1], False)):
qc.z(1)
qc.measure(0, 0)
qc.measure(1, 1)
- |
The deprecated methods ``InstructionSet.c_if`` has been removed.
The deprecated methods ``InstructionSet.c_if`` has been removed. This method
was deprecated in the 1.3.0 release. This functionality has been superseded
by the :class:`.IfElseOp` class which can be used to describe a classical
condition in a circuit.
upgrade_transpiler:
- |
The :class:`.ResetAfterMeasureSimplification` transpiler pass now will use an :class:`.IfElseOp`
Expand All @@ -38,12 +81,17 @@ upgrade_transpiler:
removed. These arguments were deprecated in Qiskit 1.4.0 and were removed because the larger
removal of ``Instruction.condition`` it no longer served a purpose.
- |
The previously deprecated ``AlignMeasures`` transpiler pass has been removed.
The previously deprecated ``AlignMeasures`` transpiler pass has been removed. This pass was deprecated in Qiskit 1.1.0. Instead the
:class:`.ConstrainedReschedule` pass should be used. :class:`.ConstrainedReschedule` performs the
same function and also supports aligning to additional timing constraints.
- |
When calling :func:`.generate_preset_pass_manager` or :func:`.transpile` and specifying the ``instruction_durations`` argument
with a list instead of an :class:`.InstructionDurations` object and the list specifies durations in units of ``dt`` a ``dt`` parameter
is required if scheduling the circuit.
upgrade_visualization:
- |
The timeline drawer now requires the target argument is specified when called. This was deprecated in 1.4.0.
The timeline drawer now requires the target argument is specified when called. As instructions no
longer contain duration attributes this extra argument is required to
specify the durations for all the supported instructions. Without the
argument the timeline drawer does not have access to this information.

0 comments on commit eb8fb6f

Please sign in to comment.