From 39b0cb82ab2f3bce5aee663ec1f1e0817aca71db Mon Sep 17 00:00:00 2001 From: Matthew Treinish Date: Thu, 17 Aug 2023 17:23:38 -0400 Subject: [PATCH] Prepare 0.25.1 release (#10644) * Prepare 0.25.1 release This commit prepares the 0.25.1 release, this consists of bumping the version number to 0.25.` in all the appropriate files. It also adds a prelude release note to provide a brief introduction to the release. When this commit merges it should be tagged as the 0.25.1 release. Of particular note for this release, this is the first time we'll be releasing the qiskit package from the qiskit-terra repo and also the first time we're publishing the documentation from this repo too. * Fix repository_owner condition docs_deploy gha job (#10635) This commit fixes an issue in the job definition for the new docs deployment job added in #10610. The new jobs are conditioned to only execute from the Qiskit/qiskit-terra repo. However that line is being flagged as a syntax error in github. This seems to be due to the double quotes used for `"Qiskit"`. A similar condition exists on the pre-existing github actions jobs but they use a single quote instead of a double and they function correctly. This commit updates the condition to used single quotes to match the working syntax in other jobs. (cherry picked from commit d25f9053219ffbb502395630e329835fc0ae1cf5) --- .github/workflows/docs_deploy.yml | 2 +- docs/conf.py | 10 +--- docs/release_notes.rst | 90 +++++++++++++++++++++++++++++++ qiskit/VERSION.txt | 2 +- qiskit_pkg/setup.py | 6 +-- setup.py | 6 ++- 6 files changed, 102 insertions(+), 14 deletions(-) diff --git a/.github/workflows/docs_deploy.yml b/.github/workflows/docs_deploy.yml index 053201ebb64f..5067cf492670 100644 --- a/.github/workflows/docs_deploy.yml +++ b/.github/workflows/docs_deploy.yml @@ -23,7 +23,7 @@ on: jobs: build: - if: github.repository_owner == "Qiskit" + if: github.repository_owner == 'Qiskit' name: Build runs-on: ubuntu-latest diff --git a/docs/conf.py b/docs/conf.py index 6249953afb40..ade97477d171 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,9 +24,9 @@ author = "Qiskit Development Team" # The short X.Y version -version = "0.25" +version = "0.44" # The full version, including alpha/beta/rc tags -release = "0.45.0" +release = "0.44.1" # The language for content autogenerated by Sphinx or the default for gettext content translation. language = "en" @@ -37,12 +37,6 @@ rst_prolog = f".. |version| replace:: {version}" -# For 'qiskit_sphinx_theme' tells it we're based at 'https://qiskit.org/'. -# Should not include the subdirectory for the stable version. -docs_url_prefix = "documentation" - -rst_prolog = f".. |version| replace:: {version}" - extensions = [ "sphinx.ext.napoleon", "sphinx.ext.autodoc", diff --git a/docs/release_notes.rst b/docs/release_notes.rst index 17991694bb4f..db75e96ab4f5 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -124,6 +124,96 @@ Qiskit Metapackage Version qiskit-terra qiskit-aer qiskit-ignis qiskit-ibmq- For the ``0.7.0``, ``0.7.1``, and ``0.7.2`` meta-package releases the meta-package versioning strategy was not formalized yet. +############# +Qiskit 0.44.1 +############# + +.. _Release Notes_0.25.1: + +Terra 0.25.1 +============ + +.. _Release Notes_0.25.1_Prelude: + +Prelude +------- + +Qiskit Terra 0.25.1 is a bugfix release, addressing some issues identified since the 0.25.1 release. + +.. _Release Notes_0.25.1_Bug Fixes: + +Bug Fixes +--------- + +.. releasenotes/notes/fix-qpy-nested-custom-controlled-2a23dfe828bc46c8.yaml @ b'3ba0b74b89d206b99d09fdec2b833f13394b4a36' + +- Fixed a bug in QPY serialization (:mod:`qiskit.qpy`) where multiple controlled custom gates in + a circuit could result in an invalid QPY file that could not be parsed. Fixed `#9746 + `__. + +.. releasenotes/notes/fix_9363-445db8fde1244e57.yaml @ b'c1ee9744e1be10ca2e78958fb91308777a668b44' + +- Fixed `#9363 `__. + by labeling the non-registerless synthesis in the order that Tweedledum + returns. For example, compare this example before and after the fix:: + + from qiskit.circuit import QuantumCircuit + from qiskit.circuit.classicalfunction import BooleanExpression + + boolean_exp = BooleanExpression.from_dimacs_file("simple_v3_c2.cnf") + circuit = QuantumCircuit(boolean_exp.num_qubits) + circuit.append(boolean_exp, range(boolean_exp.num_qubits)) + circuit.draw("text") + + from qiskit.circuit.classicalfunction import classical_function + from qiskit.circuit.classicalfunction.types import Int1 + + @classical_function + def grover_oracle(a: Int1, b: Int1, c: Int1) -> Int1: + return (a and b and not c) + + quantum_circuit = grover_oracle.synth(registerless=False) + print(quantum_circuit.draw()) + + Which would print + + .. parsed-literal:: + + Before After + + c: ──■── a: ──■── + │ │ + b: ──■── b: ──■── + │ │ + a: ──o── c: ──o── + ┌─┴─┐ ┌─┴─┐ + return: ┤ X ├ return: ┤ X ├ + └───┘ └───┘ + +.. releasenotes/notes/paulivecplot-normalization-5dd3cf3393c75afb.yaml @ b'91ca2c408b4c4f1d02060c859dbca2f6d6a8bfe8' + +- Fixed :func:`plot_state_paulivec`, which previously damped the state coefficients by a factor of + :math:`2^n`, where :math:`n` is the number of qubits. Now the bar graph correctly displays + the coefficients as :math:`\mathrm{Tr}(\sigma\rho)`, where :math:`\rho` is the state to + be plotted and :math:`\sigma` iterates over all possible tensor products of single-qubit Paulis. + +.. releasenotes/notes/qasm2-float-decimal-76b44281d9249f7a.yaml @ b'f42e881cff435fffb83c65eb442924e2aec17aab' + +- Angles in the OpenQASM 2 exporter (:func:`.QuantumCircuit.qasm`) will now always include a + decimal point, for example in the case of ``1.e-5``. This is required by a strict interpretation of the + floating-point-literal specification in OpenQASM 2. Qiskit's OpenQASM 2 parser + (:func:`.qasm2.load` and :func:`~.qasm2.loads`) is more permissive by default, and will allow + ``1e-5`` without the decimal point unless in ``strict`` mode. + +.. releasenotes/notes/sparse-pauli-op-constraint-pauli-setter-52f6f89627d1937c.yaml @ b'48a7b821e00fd61f94a0ac878cb3a7b41eb4a8dc' + +- The setter for :attr:`.SparsePauliOp.paulis` will now correctly reject attempts to set the + attribute with incorrectly shaped data, rather than silently allowing an invalid object to be + created. See `#10384 `__. + +- Fixed a performance regression in the :class:`~.SabreLayout` and :class:`~.SabreSwap` transpiler passes. + Fixed `#10650 `__ + ############# Qiskit 0.44.0 ############# diff --git a/qiskit/VERSION.txt b/qiskit/VERSION.txt index d21d277be513..af2dabf3ff68 100644 --- a/qiskit/VERSION.txt +++ b/qiskit/VERSION.txt @@ -1 +1 @@ -0.25.0 +0.25.1 diff --git a/qiskit_pkg/setup.py b/qiskit_pkg/setup.py index 3db3aa707fd5..86d028711c94 100644 --- a/qiskit_pkg/setup.py +++ b/qiskit_pkg/setup.py @@ -15,7 +15,7 @@ # This file is the setup.py file for the qiskit package. Because python # packaging doesn't offer a mechanism to have qiskit supersede qiskit-terra # and cleanly upgrade from one to the other, there needs to be a separate -# package shim to ensure no matter how people installed qiskit < 0.45.0 the +# package shim to ensure no matter how people installed qiskit < 0.44.1 the # upgrade works. import os @@ -26,11 +26,11 @@ with open(README_PATH) as readme_file: README = readme_file.read() -requirements = ["qiskit-terra==0.45.0"] +requirements = ["qiskit-terra==0.25.1"] setup( name="qiskit", - version="0.45.0", + version="0.44.1", description="Software for developing quantum computing programs", long_description=README, long_description_content_type="text/markdown", diff --git a/setup.py b/setup.py index a295f70b3b99..9fd24f51b20c 100644 --- a/setup.py +++ b/setup.py @@ -53,11 +53,13 @@ "z3-solver>=4.7", ] csp_requirements = ["python-constraint>=1.4"] +bip_requirements = ["cplex", "docplex"] +toqm_requirements = ["qiskit-toqm>=0.1.0"] setup( name="qiskit-terra", - version="0.25.0", + version="0.25.1", description="Software for developing quantum computing programs", long_description=README, long_description_content_type="text/markdown", @@ -88,8 +90,10 @@ extras_require={ "qasm3-import": qasm3_import_extras, "visualization": visualization_extras, + "bip-mapper": bip_requirements, "crosstalk-pass": z3_requirements, "csp-layout-pass": csp_requirements, + "toqm": toqm_requirements, "all": visualization_extras + z3_requirements + csp_requirements + qasm3_import_extras, }, project_urls={