Skip to content

Releases: ProjectQ-Framework/ProjectQ

ProjectQ v0.8.0

18 Oct 16:02
009c880
Compare
Choose a tag to compare

Added

  • New backend for the Azure Quantum platform

Changed

  • Support for Python 3.6 and earlier is now deprecated
  • Moved package metadata into pyproject.toml

Fixed

  • Fixed installation on Apple Silicon with older Python versions (< 3.9)

Repository

  • Update docker/setup-qemu-action GitHub action to v2
  • Fixed CentOS 7 configuration issue
  • Added two new pre-commit hooks: blacken-docs and pyupgrade

ProjectQ v0.7.3

27 Apr 10:14
7145676
Compare
Choose a tag to compare

Fixed

  • Fixed IonQ dynamic backends fetch, which relied on an incorrect path.

ProjectQ v0.7.2

11 Apr 12:35
2b48dd4
Compare
Choose a tag to compare

Changed

  • Added IonQ dynamic backends fetch.

Repository

  • Fix issues with building on CentOS 7 & 8
  • Update pre-commit/pre-commit-hooks to v4.2.0
  • Update Lucas-C/pre-commit-hooks hook to v1.1.13
  • Update flake8 hook to v4.0.1
  • Update pylint hook to v3.0.0a4
  • Update black hook to v22.3.0
  • Update check-manifest to v0.48

ProjectQ v0.7.1

10 Jan 13:21
9222a52
Compare
Choose a tag to compare

Added

  • Added environment variable to avoid -march=native when building ProjectQ
  • Added environment variable to force build failure if extensions do not compile on CI

Changed

Deprecated

Fixed

  • Fix compiler flags cleanup function for use on CI
  • Fix workflow YAML to allow execution of GitHub Actions locally using act
  • GitHub action using deprecated and vulnerable pre-commit version
  • Fixed issue with gen_reqfile command if --include-extras is not provided

Removed

Repository

  • Add configuration for CIBuildWheel in pyproject.toml
  • Remove use of deprecated images windows-2016 in GitHub workflows
  • Re-add build of Python binary wheels in release publishing GitHub workflow
  • Update dangoslen/changelog-enforcer GitHub action to v3
  • Update thomaseizinger/keep-a-changelog-new-release GiHub action to v1.3.0
  • Update thomaseizinger/create-pull-request GiHub action to v1.2.2
  • Update pre-commit hook pre-commit/pre-commit-hooks to v4.1.0
  • Update pre-commit hook PyCQA/isort to v5.10.1
  • Update pre-commit hook psf/black to v21.12b0
  • Update pre-commit hook PyCQA/flake8 to v4.0.1
  • Update pre-commit hook mgedmin/check-manifest to v0.47

ProjectQ v0.7.0

15 Jul 15:18
db4a088
Compare
Choose a tag to compare

Added

  • UnitarySimulator backend for computing the unitary transformation corresponding to a quantum circuit

Changed

  • Moved some exceptions classes into their own files to avoid code duplication

Deprecated

Fixed

  • Prevent infinite recursion errors when too many compiler engines are added to the MainEngine
  • Error in testing the decomposition for the phase estimation gate
  • Fixed small issue with matplotlib drawing backend
  • Make all docstrings PEP257 compliant

Removed

  • Some compatibility code for Python 2.x

Repository

  • Added isort to the list of pre-commit hooks
  • Added some more flake8 plugins to the list used by pre-commit:
    • flake8-breakpoint
    • flake8-comprehensions
    • flake8-docstrings
    • flake8-eradicate
    • flake8-mutable

ProjectQ v0.6.1

23 Jun 15:48
1ff10be
Compare
Choose a tag to compare

Repository

  • Fix GitHub workflow for publishing a new release

ProjectQ v0.6.0

23 Jun 15:12
76f4809
Compare
Choose a tag to compare

Added

  • New backend for the IonQ platform
  • New backend for the AWS Braket platform
  • New gates for quantum math operations on quantum registers
  • Support for state-dependent control qubits (ie. negatively or positively controlled gates)

Changed

  • Name of the single parameter of the LocalOptimizer has been changed from m to cache_size in order to better represent its actual use.

Deprecated

  • Compatibility with Python <= 3.5
  • LocalOptimizer(m=10) should be changed into LocalOptimizer(cache_size=10). Using of the old name is still possible, but is deprecated and will be removed in a future version of ProjectQ.

Fixed

  • Installation on Mac OS Big Sur
  • IBM Backend issues with new API

Removed

  • Compatibility with Python 2.7
  • Support for multi-qubit measurement gates has been dropped; use All(Measure) | qureg instead

Repository

  • Use setuptools-scm for versioning

  • Added .editorconfig file

  • Added pyproject.toml and setup.cfg

  • Added CHANGELOG.md

  • Added support for GitHub Actions

    • Build and testing on various plaforms and compilers
    • Automatic draft of new release
    • Automatic publication of new release once ready
    • Automatic upload of releases artifacts to PyPi and GitHub
  • Added pre-commit configuration file

  • Updated cibuildwheels action to v1.11.1

  • Updated thomaseizinger/create-pull-request action to v1.1.0

ProjectQ v0.5.1

05 Jun 13:17
v0.5.1
659304d
Compare
Choose a tag to compare

Mostly bug fixing release.

New Features

  • Add histogram plot function for measurement results (thanks @AriJordan )
  • New backend for AQT (thanks @dbretaud )

Fixes

ProjectQ v0.5.0

23 Mar 08:03
f4a82f2
Compare
Choose a tag to compare

New Features

Improvements

  • Significantly improved C++ simulator performances (thanks @melven)
  • Allow user modification of the qubit drawing order for the CircuitDrawer compiler engine (thanks @alexandrupaler)
  • Update to the installation script. The installation now automatically defaults to the pure Python implementation if compilation of the C++ simulator (or other C++ modules) should fail (#337)
  • Automatic generation of the documentation (#339)

Fixes

  • Fixed connection issues between IBM backend and the IBM Quantum Experience API (thanks @alexandrupaler)

Breaking Changes

The ProjectQ v0.5.x release branch is the last one that is guaranteed to work with Python 2.7.x.

Future releases might introduce changes that will require Python 3.5 (Python 3.4 and earlier have already been declared deprecated at the time of this writing)

ProjectQ v0.4.2

31 Jan 21:17
1513fb5
Compare
Choose a tag to compare

New Features

Improvements

  • Equality testing is now a lot faster because matrix comparisons are only done if one of the two gates is a MatrixGate (@ thanks @cgogolin)
  • Update to newer RevKit version (thanks @msoeken)
  • IBM backend exposes now two new variables: num_retries and interval=1

Fixes

  • Fix for "502 Server Error" which sometimes appeared when running on IBM's QE devices
  • Bugfix in restrictedgateset which allowed the controlled version of an allowed single qubit gate, which should not be the case (#301)

Breaking Changes

  • BasicGateshould not be used anymore to create individual gates defined by a custom matrix. Equality testing won't check gate matrices for BasicGate anymore. This gives a large speed improvement for compilation. Instead use the new MatrixGate class or better define a new gate class derived from BasicGate if your desired gate does not yet exist in ProjectQ.