Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 0.45.2 contents into stable/0.46.0 branch #11620

Merged
merged 26 commits into from
Jan 22, 2024

Conversation

mtreinish
Copy link
Member

Summary

This PR is a merge of the contents of the stable/0.45 branch after the 0.45.2 release. This is to ensure that the 0.46.0 release is up to date with the 0.45.x series just with the extra deprecation warnings.

Details and comments

mergify bot and others added 26 commits November 29, 2023 08:27
…11337) (Qiskit#11338)

* Update DAGCircuit.draw() docstring with current requirements

Since Qiskit#8162 the dag drawer hasn't required pydot to run. It now uses
rustworkx's graphviz_draw() function which directly calls graphviz.
However, in Qiskit#8162 the docstring for the DAGCircuit.draw() method was not
updated to reflect this and the method documentation still said that
pydot was required. This commit fixes this oversight and updates the
docstring to correctly state that only graphviz is required (as
rustworkx is a hard dependency for Qiskit it's not anything that needs
to be documented). It also includes more details on how to install
graphviz as this is often a potential source of confusion for users.

* Update qiskit/dagcircuit/dagcircuit.py

Co-authored-by: Jake Lishman <[email protected]>

---------

Co-authored-by: Jake Lishman <[email protected]>
(cherry picked from commit c3a7d40)

Co-authored-by: Matthew Treinish <[email protected]>
(cherry picked from commit c100c7b)

Co-authored-by: Kevin Hartman <[email protected]>
…ion (Qiskit#11351) (Qiskit#11359)

* Don't substitute ideal gates in target with Optimize1qGatesDecomposition

This commit fixes an issue in Optimize1qGatesDecomposition where the
pass would defer to synthesized gates if the output from synthesis was
ideal even if the input gate was also ideal. This typically comes up in
simulators where there are no error rates for any gates and everything
is listed as ideal. This would cause the transpiler to translate gates
unnecessarily which was unexpected. This commit fixes this by adding an
additional check to the subsitution condition to ensure we're only
substituting a gate if it's not in the target (when they're all ideal).

Fixes Qiskit#10568

* Update releasenotes/notes/fix-optimize-1q-sim-407b88e45e6062b6.yaml

Co-authored-by: Jake Lishman <[email protected]>

* Update qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py

* Fix formatting

---------

Co-authored-by: Jake Lishman <[email protected]>
(cherry picked from commit f12db3b)

Co-authored-by: Matthew Treinish <[email protected]>
We currently use macOS 11.7 images in our CI and CPython 3.8 for the
all-optionals test run.  `z3-solver` recently released 4.12.3.0, which
upped the macOS platform version from 10.16 to 11.7.  This in theory
should be fine for our VM image, but the pre-built version of CPython
3.8 we have access to was built for an older macOS, so does not match a
`macos_11_7_x86_64` platform tag, and forces us to build Z3 from source,
often timing out the job.

This should have no effect on user machines, which will be typically be
using newer versions of Python, or will be able to install from source
if required.

This CI-only constraint can be relaxed when the version of CPython we
use on the macOS VMs supports the 11.7 macOS API version.

(cherry picked from commit c865c56)

Co-authored-by: Jake Lishman <[email protected]>
* fixed bug in OptimizeSwapBeforeMeasure Qiskit#11195

* fix lint issue

(cherry picked from commit 3551c7c)

Co-authored-by: Seemanta Bhattacharjee <[email protected]>
* fix a bug in StabilizerState repr

* add a test to check repr does not throw an error

* add release notes

(cherry picked from commit 1b69780)

Co-authored-by: Shelly Garion <[email protected]>
…it#11398) (Qiskit#11420)

* Remove non-API docs and tutorials (Qiskit#11352)

* Remove non-API docs and tutorials

* Remove sphinx-design

* Fix bad reference

* Fix bad deploy step

* Remove translatable strings script

* Fix bad merge conflict in tox.ini

* Delete contributing guides
I assume the index is supposed to be `2`

(cherry picked from commit e0cbc1f)

Co-authored-by: Philipp Seitz <[email protected]>
* fix tex by replacing \th with \rotationangle

* fix line too long

(cherry picked from commit b145420)

Co-authored-by: Kevin J. Sung <[email protected]>
…t#11457)

* Remove Qiskit Terra 0.25 from release_notes.rst

* Review feedback: use a comment

(cherry picked from commit 22a372f)

Co-authored-by: Eric Arellano <[email protected]>
…iskit#11366) (Qiskit#11482)

* Testing

* Fix case default empty

* Add reno

* Lint

(cherry picked from commit fe2d7f9)

Co-authored-by: Edwin Navarro <[email protected]>
…#11485)

Using `BlueprintCircuit.copy()` or `.copy_empty_like()` would previously
erase the global phase as part of the rebuild operation.  This overrides
`BlueprintCircuit.copy_empty_like()` to ensure that it is always
propagated through.

(cherry picked from commit 19767bc)

Co-authored-by: Jake Lishman <[email protected]>
This was originally added because of `nbformat` using deprecated
functionality.  The constraint is causing installation problems for some
of our optionals now, particularly on Python 3.12, and should be fixed
by now anyway.

(cherry picked from commit c399df2)

Co-authored-by: Jake Lishman <[email protected]>
* Remove duplicated skip_unentangled_qubits parameter from docstring

* Add missing backslashes in several docstrings

* Add type hints to fix docstring for LinearFunction

* Add :math: to ZZFeatureMap docstring equations

(cherry picked from commit 4b3316d)

Co-authored-by: huisman <[email protected]>
The object is supposed to "broadcast" like a gate; one instruction per
qubit.  This silently did the wrong thing when given a `set` as its
argument, previously.

(cherry picked from commit 4c6eed9)

Co-authored-by: Jake Lishman <[email protected]>
…t#11530)

* Add other primitives team members to CODEOWNERS

* Switch to using a team

Co-authored-by: Matthew Treinish <[email protected]>

---------

Co-authored-by: Matthew Treinish <[email protected]>
(cherry picked from commit 2d04bad)

Co-authored-by: Jake Lishman <[email protected]>
…1572) (Qiskit#11574)

The QPY backwards compatibility tests are setup to verify that we can
load qpy files generated with historical releases using the current
version of Qiskit under development. This ensures we're meeting our
backwards compatibility guarantees with QPY. However, the tests were
over eagerly running on pre-releases that don't have any stability
guarantees, mainly alpha and beta releases indicated by "a" and "b"
suffixes respectively in the version number. This commit excludes
these pre-release versions from the tests as it's not valid to
run with these. Release candidate pre-releases should still be run
because they have stable APIs and they're not skipped by this PR.

(cherry picked from commit abb803f)

Co-authored-by: Matthew Treinish <[email protected]>
Qiskit#11397) (Qiskit#11573)

* Fix a bug of missing pulse library entry in PulseQobj parsing (Qiskit#11397)

* Fix missing pulse lib bug

* Update releasenotes/notes/fix-missing-pulse-lib-c370f5b9393d0df6.yaml

Co-authored-by: Will Shanks <[email protected]>

* Add user warning

---------

Co-authored-by: Will Shanks <[email protected]>
(cherry picked from commit a9e9e95)

# Conflicts:
#	qiskit/pulse/calibration_entries.py

* Fix merge conflict

---------

Co-authored-by: Naoki Kanazawa <[email protected]>
Co-authored-by: Elena Peña Tapia <[email protected]>
* clifford qpy support + test

* release notes

* cleanup: checking if instruction is of type Instruction

* review comment

* review comments: consistency + remove specialized handling

* adding test to test_qpy.py

* changing version string to 0.45.2

---------

Co-authored-by: Elena Peña Tapia <[email protected]>
(cherry picked from commit 786c0e9)

Co-authored-by: Alexander Ivrii <[email protected]>
* Prepare release 0.45.2

* Update release notes

* Update release notes

* Update release notes

* Update releasenotes/notes/fix-blueprintcircuit-phase-7102043cf2e47e33.yaml

---------

Co-authored-by: Elena Peña Tapia <[email protected]>
…#11595)

This commit fixes an issue that was triggered during the 0.45.1 and
0.45.2 releases (the first two release with Python 3.12 support). Just
as with Python 3.10 and 3.11 there were no precompiled binaries
available as wheels for numpy and scipy which prevents us from testing
the wheels in CI. However, when we added Python 3.12 support we
neglected to also skip tests on the 32bit platforms with 3.12 too. This
causes the CI wheel publish jobs to fail because they try unsuccessfully
to install scipy and numpy. This commit fixes this oversight by also
excluding Python 3.12 tests on these platforms. This isn't needed on
`main` because for future releases we've downgraded 32 bit platform
support to Tier 3 which doesn't run tests after wheel builds. This
should be forward ported to stable/0.46 as we'll need it there
too.
* Update intersphinx URLs

* Bad URL, oops!

(cherry picked from commit 7da6584)

Co-authored-by: Eric Arellano <[email protected]>
@mtreinish mtreinish added the Changelog: None Do not include in changelog label Jan 22, 2024
@mtreinish mtreinish requested review from nonhermitian, a team and eggerdj as code owners January 22, 2024 21:51
@qiskit-bot
Copy link
Collaborator

One or more of the the following people are requested to review this:

@Eric-Arellano
Copy link
Collaborator

We need #11615 included in stable/0.46 for the docs deploy to work.

Copy link
Member

@jakelishman jakelishman left a comment

Choose a reason for hiding this comment

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

Eric: we're not on the verge of releasing 0.46 yet, this is just the intermediate merge due since 0.45.2 was released. We'll merge up further changes from the 0.45 branch right before the release of 0.46 - there's even some suggestion/discussion that we might cut a 0.45.3 with a runtime import check that the Qiskit 0.45/1.0 environment is sound (#11617) but nothing fixed.

@jakelishman jakelishman enabled auto-merge January 22, 2024 22:24
@jakelishman
Copy link
Member

Oh, and the other part of the review comment: I saw that the merge was clean, so if the tests pass, there shouldn't be any worries.

@jakelishman jakelishman added this pull request to the merge queue Jan 22, 2024
@mtreinish mtreinish removed this pull request from the merge queue due to a manual request Jan 22, 2024
@mtreinish mtreinish merged commit 38d4de1 into Qiskit:stable/0.46 Jan 22, 2024
13 checks passed
@mtreinish mtreinish deleted the merge-0.45.2 branch January 22, 2024 23:18
@jakelishman
Copy link
Member

For completeness' sake: I actually just learned about git show --remerge-diff, which is a more reliable way of investigating a merge commit, and I can see that actually the merge did have two conflicts, but they were resolved by simply taking the stable/0.45 side, and both were minor documentation things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: None Do not include in changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants