Skip to content

Example of a release note with spelling mistakes#81

Closed
1ucian0 wants to merge 7 commits intospellchecking/1from
spellchecking/3
Closed

Example of a release note with spelling mistakes#81
1ucian0 wants to merge 7 commits intospellchecking/1from
spellchecking/3

Conversation

@1ucian0
Copy link
Copy Markdown
Owner

@1ucian0 1ucian0 commented Apr 28, 2026

This is an example of a PR with a release note and Bob suggests a fix.

eliarbel and others added 6 commits April 27, 2026 13:33
* Format floating-point values

This commit adds formatting functionality to render floating-point
values (e.g. rotation angles) in a way similar to the `g`
formatting flag in Python.

* Address review comments

* change input parameter of the formatter to usize
* add tests

* Integrate Pi-formatting into `F64UiFormatter`

* Fix dependency version in `Cargo.toml`
* Docs: Properly document `QkParams`

We had previously added API to handle `QkParams` in our C API, including a doxygen group named `QkParam`. However, we failed to include `QkParam` anywhere in our documentation and therefore it never shows up even if you manually search for any of the documented functions.

These commits add `qk-param.rst` to the cdocs directory, as well as to `index.rst` to include anything documenting `QkParam`.

* Remove wonky line.

* Fix: Modify docstring to mention circuit limited functionality
…iskit#16006)

* Fixing python passes and docstrings related to approximation_degree

* directly mention None value in the docstring

* exposing approximation_degree to CommutativeOptimization & SubstitutePi4Rotations in the pipeline

* reverting changes to CommutativeOptimization and SubstitutePi4Rotations.

These two passes are currently not Target-aware, and so they do not properly handle the option approximation_degree=None,
which means that the error rates are computed based on the Target.

We have decided that we will keep approximation_degree to be of type float, but make sure that builtin plugins overwrite
the None value with 1.0

* release note

* improving docstring as suggested in review
…kit#15832)

* docs: add PEP 484 type hints to transpiler analysis and utility passes

Add `from __future__ import annotations` and PEP 484 type annotations to all 9 analysis passes (CountOps, Depth, Size, Width, NumQubits, NumTensorFactors, CountOpsLongestPath, DAGLongestPath, ResourceEstimation) and 3 utility passes (DAGFixedPoint, FixedPoint, ContainsInstruction).

Changes include:

- Type-annotate __init__ parameters and run() method signatures with DAGCircuit, bool, str, and -> None return types

- Expand sparse docstrings with Args blocks where missing

- Fix copy-paste module docstring in contains_instruction.py (was incorrectly 'Check if a property reached a fixed point')

- Rename placeholder parameter '_' to 'dag' in ResourceEstimation.run() for clarity

* Refactor import statements in count_ops.py

* Refactor imports and update docstring formatting

* Refactor import statements and update docstring

* Refactor imports and update docstring formatting

* Refactor import statement for TYPE_CHECKING

* Apply suggestion from @Cryoris

Co-authored-by: Julien Gacon <gaconju@gmail.com>

* Refactor imports and docstring formatting

* Refactor import statements and docstring formatting

* Refactor imports and update docstring format

* Refactor import statements in width.py

* Update instruction_name type to Iterable in ContainsInstruction

* Update dag_fixed_point.py

* Refactor imports and docstrings in fixed_point.py

* Add copyright notice and docstring to count_ops.py

* Add docstring for counting operations in DAGCircuit

* Add type checking for DAGCircuit import

* Add copyright notice and docstring to depth.py

* Add copyright notice and docstring to num_qubits.py

* Import DAGCircuit for type checking

Add import statement for DAGCircuit in num_tensor_factors.py

* Update resource_estimation.py for type checking

* Add copyright notice and docstring to size.py

* Update width.py

* Update copyright notice in contains_instruction.py

* Update copyright notice in dag_fixed_point.py

* Add copyright notice and docstring to fixed_point.py

* Update fixed point tracking in DAG utility

* Fix fixed point property update logic

* Remove unnecessary blank line in fixed_point.py

* Remove unnecessary blank line in dag_fixed_point.py

* fix: use from __future__ import annotations with TYPE_CHECKING guard

Add from __future__ import annotations to all 12 files so that
type hints are treated as strings at runtime (fixing Python 3.10
NameError). Keep TYPE_CHECKING guard for DAGCircuit import to
satisfy ruff F821. This matches the pattern used in basepasses.py
and layout.py.

Also fixes contains_instruction.py module docstring (was copy-paste
from fixed_point.py).

---------

Co-authored-by: Julien Gacon <gaconju@gmail.com>
…date (Qiskit#16081)

* Skip decomposer construction in consolidate blocks with force_consolidate

In the recently merged Qiskit#16075 a default decomposer was added to the
consolidate block pass if the `force_consolidate` flag was set. This was
intended to enable running the pass in the absence of the options
required to configure a decomposer. If the force consolidate flag is set
we don't need a two qubit decomposer configured since we're always going
to consolidate a 2q block of > 1 gate. However, that fix was incomplete
because we don't want to use a decomposer if force_consolidate is set to
True. The 2q decomposer is used to compute the number of basis gates for
a 2q decomposition of the unitary based on the unitary's coordinates in
the weyl chamber. This basis gate count is then used as a heuristic in
the pass on whether to consolidate the block to a UnitaryGate or not.
Specifically, if the number of basis gates for the weyl coordinates is
less than the number of basis gates in the block then we consolidate
the block into a `UnitaryGate`. With `force_consolidate=True` all of this
work, including the initialization of the decomposers (which isn't
free), is wasted since we know we're going to consolidate.

This commit adjusts the logic in the pass so that the decomposer is
set to None when `force_consolidate=True` and the pass skips all usage
of the decomposer internally when force_consolidate is set to True.

Internally the rust code of the pass isn't handling the interface as
ideally as I would like. The rust interface I'd like is to define
the decomposer interface as something like:

```rust
enum DecomposerInput {
    ForceConsolidate,
    Decomposer(DecomposerType),
}
```

and removing the dedicated force_consolidate argument to make the use
of a decomposer and force consolidate mutally exclusive.
However, this isn't compatible with the pyo3 boundary layer. Since the
inner function of consolidate blocks is oddly the `py_` function to
avoid a larger refactor this opted to just make the decomposer arg an
`Option<DecomposerType>` and do a runtime check around the value and
`force_consolidate`. This has some additional overhead but in practice
it's negligible.

* Skip running decomposer if we're going to consolidate

The running of the 2q decomposer to compute the weyl coordinates and the
number of 2q gates is the most expensive part of the heuristic used to
determine whether we should consolidate or not. It's also the last bit
of data collection we run prior to making the determination of whether
to consolidate or not. This commit introduces a small optimization where
we only run the 2q decomposer when we know the other checks to determine
whether we should consolidate or not are false. If any of them are true
then we can skip the expensive computation and just consolidate the
block.

* Use unreachable!() instead of a default value
This commit adds a new crate to the qiskit crate collection for defining
the BackendV3 interface in Qiskit. The backendv3 interface will be a
Rust first construct that will expose a shared interface to both Python
and C, while the current BackendV2 interface is only exposed to Python.
As a first step to facilitate it's development this commit adds a new
empty crate where we'll slowly build up the functionality of that
interface. Right now it's just empty but in subsequent commits we'll add
onto it.
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bob has some suggestions to improve the release notes:


Corrected the spelling and grammar in the release notes file. Changed "The :mod:`qiskit.circuit` module is now fixed of any bug" to "All bugs in the :mod:`qiskit.circuit` module have been fixed" for better grammar, clarity, and conciseness.

---
fixes:
- |
The :mod:`qiskit.circuit` module is now fixed of any bug. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The :mod:`qiskit.circuit` module is now fixed of any bug.
All bugs in the :mod:`qiskit.circuit` module have been fixed.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bob has some suggestions to improve the release notes:


Successfully corrected the spelling and grammar in the release notes file. 

Changed from:
"The :mod:`qiskit.circuit` module is now fixed of any bug."

To:
"Fixed bugs in the :mod:`qiskit.circuit` module."

The correction addresses:
- Grammatical error ("fixed of" → proper verb usage)
- Redundancy and awkward phrasing
- Follows standard release note conventions

---
fixes:
- |
The :mod:`qiskit.circuit` module is now fixed of any bug. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The :mod:`qiskit.circuit` module is now fixed of any bug.
Fixed bugs in the :mod:`qiskit.circuit` module.

@1ucian0 1ucian0 closed this Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants