Changelog¶
UNRELEASED¶
Fix an issue related to the handling of
IfElseOpconditions inqiskit_to_tk(). #514.
0.72.0 (October 2025)¶
Update minimum pytket version to 2.9.3.
Update minimum qiskit version to 2.2.0.
Update minimum qiskit-ibm-runtime version requirement to 0.42.0.
0.71.1 (September 2025)¶
Set qiskit version to 2.1.1.
Set qiskit-ibm-runtime version to 0.41.1
0.71.0 (July 2025)¶
Update minimum pytket version to 2.8.0.
Update minimum qiskit version to 2.1.1.
Document limitations of conversion of symbolic circuits between pytket and qiskit.
0.70.0 (July 2025)¶
Fix overwriting of user-supplied
serviceparameter toIBMQBackend.
0.69.0 (July 2025)¶
Migrate to upgraded IBM Quantum Platform.
Add
instanceparameter forTketAutoPass.Update minimum qiskit-ibm-runtime version requirement to 0.40.1.
0.68.3 (June 2025)¶
Restrict qiskit version to < 2.1.
0.68.2 (June 2025)¶
Update minimum pytket version requirement to 2.6.0.
0.68.0 (May 2025)¶
Add
VF2PostLayoutto default compilation.Fix: don’t introduce implicit swaps when transpiling for unitary and density- matrix backends.
Update minimum pytket version requirement to 2.4.1.
0.67.0 (April 2025)¶
Add support for Python 3.13.
Support qiskit >=2.0, drop support for qiskit <2.0.
Update minimum pytket version requirement to 2.3.2.
Drop support for conversion of
CircBoxes containing conditional gates to qiskit in thetk_to_qiskit()converter.
0.66.0 (March 2025)¶
Update qiskit minimum version requirement to 1.4.2.
Update lightsabre pass to be a
CustomPassMap()object.Update pytket version requirement to 2.1.0.
0.65.0 (March 2025)¶
Improve
qiskit_to_tk()to handleIfElseOp(generated byif_test()) with register conditions. Only conditions on an entire register are supported.Fix conversion of
CnZgates when the number of control qubits is one.
0.64.0¶
Update pytket version requirement to 2.0.1.
0.63.0 (January 2025)¶
Support conversion of qiskit circuits containing
IfElseOpin theqiskit_to_tk()converter. Note: Only conditions on a single bit are supported currently. Handling of more general conditions will be added in future.Reject circuits containing nested conditionals when converting to qiskit.
Update pytket version requirement to 1.39.0.
Add support for fractional gates on backends that support them.
0.62.0 (December 2024)¶
AerBackendnow rejects circuits with too many qubitsUpdate pytket version requirement to 1.37.0.
Update qiskit version requirement to 1.3.1.
Fix conversion of circuits containing multiple operations conditioned on the same scratch bit.
0.61.0 (December 2024)¶
Restrict qiskit version to ~= 1.2.4, to avoid breaking changes in 1.3.0
0.60.0 (November 2024)¶
Fix an unhelpful warning message about implicit swaps when using optimisation level 2 with
AerBackendAdd a boolean
perm_warningargument totk_to_qiskit()indicating whether to give a warning if the inputCircuithas an implicit qubit permutation.Add new level 3 optimisation that uses
GreedyPauliSimp()Fix
get_results()for Aer backends when circuits with different numbers of qubits or postprocessing circuits submitted together.Add
timeoutparameter toget_compiled_circuit()andget_compiled_circuits().
0.59.0 (November 2024)¶
Updated pytket version requirement to 1.34.0.
Fix handling of non-default registers when selecting bits in results.
Update default compilation to use
QiskitSabreLayoutPassManageras aCustomPass().Fix handling of non-default registers when selecting bits in results.
The
tk_to_qiskit()converter gives a warning if the inputCircuitcontains implicit qubit permutations.
0.58.0 (October 2024)¶
Updated pytket version requirement to 1.33.1.
Require qiskit >= 1.2.4.
Require qiskit-ibm-runtime >= 0.30.0.
Require qiskit-aer >= 0.15.1.
0.57.0 (October 2024)¶
Updated pytket version requirement to 1.33.
Added handling of generalised controlled gates to
qiskit_to_tk()andtk_to_qiskit(). Thecontrol_stateis handled directly instead of using additionalXgates.A controlled
qiskit.circuit.library.UnitaryGatewill now be converted to a pytket controlled unitary box byqiskit_to_tk()instead of a controlledCircBoxwith a unitary box inside.
0.56.0 (September 2024)¶
Added
AerDensityMatrixBackendsimulator. This simulator has the option to support aNoiseModel.Fix conversion of symbols into qiskit.
Require qiskit >= 1.2.0.
Add conversion of controlled unitary gates from qiskit to tket.
Initialize
TketAutoPasswith aBackendV2.Update
TketBackendto derive fromBackendV2.Fix to allow
AerBackendto work with multi-controlled Z gates.
0.55.0 (July 2024)¶
Updated pytket version requirement to 1.30.
0.54.1 (June 2024)¶
Relax version requirements on dependencies by removing upper bounds.
Fix status reporting when running on hardware.
0.54.0 (June 2024)¶
User can pass a
SamplerOptionsinstance (fromqiskit-ibm-runtime) via a keyword argument to both anIBMQBackendconstructor and an instance methodprocess_circuits().Remove dependency on deprecated qiskit-ibm-provider.
Remove support for deprecated “ibmq_qasm_simulator” backend.
Forbid circuits with incomplete classical registers in
tk_to_qiskit().Updated pytket version requirement to 1.29.
Update qiskit-ibm-runtime version requirement to 0.24.1.
Update qiskit version requirement to 1.1.
Update qiskit-aer version requirement to 0.14.2.
When constructing an Aer backend with a name for which more than one is available, emit a warning and pick the first in the list.
0.53.0 (April 2024)¶
Updated pytket version requirement to 1.27.
Update qiskit-ibm-runtime version requirement to 0.23.
0.52.0 (April 2024)¶
Update pytket version requirement to 1.26.
Update qiskit-aer version requirement to 0.14.
Update conversion to qiskit to use symengine for symbolic circuits
Add
default_compilation_pass_offline()for offline compilation given config and props objects.Add
DirectednessPredicatetoIBMQBackendDefault compilation pass of
IBMQBackendwill keep ECR gates in the direction required by the backend.
0.51.0 (March 2024)¶
Update qiskit-ibm-runtime version requirement to 0.22.
Remove all remote simulators
Rename
IBMQLocalEmulatorBackendtoIBMQEmulatorBackendIBMQEmulatorBackendwill now run locallyAdd support for contextual optimisation on local emulator
0.50.0 (March 2024)¶
Update qiskit-algorithms version requirement to 0.3.
0.49.0 (March 2024)¶
Update pytket version requirement to 1.25.
Update qiskit version requirement to 1.0.
Update qiskit-ibm-provider version requirement to 0.10.
Update qiskit-ibm-runtime version requirement to 0.21.
Add
IBMQLocalEmulatorBackendfor running local emulation ofIBMQBackendusingAerBackendwith a noise model.
0.48.1rc1¶
Fix: use correct
instancewithIBMQEmulatorBackend.
0.48.0 (January 2024)¶
Updated pytket version requirement to 1.24.
Python 3.12 support added, 3.9 dropped.
Fix conditional bit in pytket to qiskit conversion
Fix symbolic conversion of parameter in conversion
0.47.0 (January 2024)¶
Update qiskit-ibm-runtime version to 0.17.0.
Update qiskit-ibm-provider version to 0.8.0.
Updated pytket version requirement to 1.23.
0.46.0 (November 2023)¶
Updated pytket version requirement to 1.22.
Add support for circuits with barriers in the Aer simulators.
Update qiskit version to 0.45.0.
Update qiskit-ibm-runtime version to 0.15.1.
Update qiskit-aer version to 0.13.0.
Update qiskit-ibm-provider version to 0.7.2.
Introduce dependency on qiskit-algorithms.
Seed given to
process_circuits()will be automatically incremented for the different circuit batches submitted.Fix
RuntimeErrorcaused by the use of custom gates inqiskit_to_tk()#200.
0.45.0 (October 2023)¶
Updated pytket version requirement to 1.21.
Implement crosstalk noise model for
AerBackend.Don’t include
SimplifyInitial()in default passes; instead make it an option toprocess_circuits().
0.44.0 (September 2023)¶
Fix to add include Measure, Reset and Conditional operations to the supported operations of
AerStateBackend.Update qiskit-ibm-runtime version to 0.12.0.
Update qiskit-ibm-provider version to 0.7.0.
Update pytket version requirement to 1.19.
0.43.0 (August 2023)¶
Update qiskit version to 0.44.
Update qiskit-aer version to 0.12.2.
Update qiskit-ibm-runtime version to 0.11.3.
Update qiskit-ibm-provider version to 0.6.3.
Add option to specify the maximum number of qubits supported by Aer backends (defaults to 40).
0.42.0 (August 2023)¶
Update pytket version requirement to 1.18.
0.41.0 (July 2023)¶
Update pytket version requirement to 1.17.
Fix conversion of qiskit
UnitaryGateto and from pytket (up to 3 qubits).Fix handling of qiskit controlled gates in the
qiskit_to_tk()converter.Handle CCZ and CSX gates in circuit converters.
0.40.0 (June 2023)¶
IBM devices are now accessed using the qiskit-ibm-provider instead of the deprecated
IBMQ. This allows the newest IBM devices and simulators to be accessed throughpytket-qiskit. See the updated documentation on credentials.The parameters
hub,groupandprojectare no longer handled as separate arguments inIBMQBackendandavailable_devices(). Use"instance=f"{hub}/{group}/{project}"instead.Added support for the {X, SX, Rz, ECR} in the default compilation pass for
IBMQBackendandIBMQEmulatorBackend. This is the set of gates used by some of the new IBM devices.Fix to the
tk_to_qiskit()converter to prevent cancellation of redundant gates when converting to qiskit.Handle qiskit circuits with
InitializeandStatePreparationinstructions in theqiskit_to_tk()converter. Thetk_to_qiskit()converter now handlesStatePreparationBox.Fix handling of control state in
qiskit_to_tk().Update qiskit version to 0.43.1
Update qiskit-ibm-runtime version to 0.11.1
Update qiskit-ibm-provider version to 0.6.1
Update pytket version to 1.16
0.39.0 (May 2023)¶
Updated pytket version requirement to 1.15.
The
get_compiled_circuit()method now allows for optional arguments to override the default settings in theNoiseAwarePlacement.
0.38.0 (April 2023)¶
Fix to ensure that the
IBMQBackendandIBMQEmulatorBackendboth properly enforceMaxNQubitsPredicate.Update qiskit version to 0.42.
Updated pytket version requirement to 1.14.
0.37.1 (March 2023)¶
Fix backend settings for
AerStateBackendandAerUnitaryBackend
0.37.0 (March 2023)¶
Fix faulty information in
backend_infoUpdated pytket version requirement to 1.13.
0.36.0 (February 2023)¶
Update qiskit version to 0.41.
Fix order of Pauli terms when converting from
QubitPauliOperator.
0.35.0 (February 2023)¶
Automatically use IBMQ token if saved in pytket config and not saved in qiskit config.
Update qiskit version to 0.40.
Update code to remove some deprecation warnings.
Work around https://github.com/Qiskit/qiskit-terra/issues/7865.
0.34.0 (January 2023)¶
Handle more multi-controlled gates in
tk_to_qiskit()andqiskit_to_tk()converters (including CnY and CnZ).Drop support for Python 3.8; add support for 3.11.
Fix ordering of registers in statevector simulation results.
Remove
reverse_indexargument intk_to_qiskit().Updated pytket version requirement to 1.11.
0.33.0 (December 2022)¶
Fix handling of parameter when converting
PauliEvolutionGatetoQubitPauliOperator.Updated pytket version requirement to 1.10.
0.32.0 (December 2022)¶
Use
qiskit_ibm_runtimeservices for sampling onIBMQBackendandIBMQEmulatorBackend. Note that shots tables (ordered lists of results) are no longer available from these backends. (get_shots()will fail; useget_counts()instead.)Fix incorrect circuit permutation handling for
AerUnitaryBackendandAerStateBackend.
0.31.0 (November 2022)¶
Update
TketBackendto supportFullyConnectedarchitecture.Fix the issue that some qiskit methods can’t retrieve results from
TketJob.Updated pytket version requirement to 1.9.
Handle
OpType.Phasewhen converting to qiskit.Change default optimization level in
default_compilation_pass()to 2.
0.30.0 (November 2022)¶
Update qiskit version to 0.39.
tk_to_qiskit()now performs a rebase pass prior to conversion. Previously an error was returned if aCircuitcontained gates such asOpType.ZZMaxwhich have no exact replacement in qiskit. Now the unsupported gate will be implemented in terms of gates supported in qiskit rather than returning an error.Updated pytket version requirement to 1.8.
0.29.0 (October 2022)¶
Add post-routing
KAKDecomposition()to default pass withoptimisation_level= 2.Add support for
ECRGateintk_to_qiskit()conversion.Update qiskit version to 0.38.
Updated pytket version requirement to 1.7.
0.28.0 (August 2022)¶
Improve result retrieval speed of
AerUnitaryBackendandAerStateBackend.Update qiskit version to 0.37.
Updated pytket version requirement to 1.5.
0.27.0 (July 2022)¶
Updated pytket version requirement to 1.4.
0.26.0 (June 2022)¶
Updated pytket version requirement to 1.3.
0.25.0 (May 2022)¶
Updated pytket version requirement to 1.2.
0.24.0 (April 2022)¶
Fix two-qubit unitary conversions.
Update qiskit version to 0.36.
Updated pytket version requirement to 1.1.
0.23.0 (March 2022)¶
Removed
characterisationproperty of backends. (Usebackend_infoinstead.)Updated pytket version requirement to 1.0.
0.22.2 (February 2022)¶
Fixed
rebase_pass().
0.22.1 (February 2022)¶
Added
rebase_pass().
0.22.0 (February 2022)¶
Qiskit version updated to 0.34.
Updated pytket version requirement to 0.19.
Drop support for Python 3.7; add support for 3.10.
0.21.0 (January 2022)¶
Qiskit version updated to 0.33.
Updated pytket version requirement to 0.18.
0.20.0 (November 2021)¶
Qiskit version updated to 0.32.
Updated pytket version requirement to 0.17.
0.19.0 (October 2021)¶
Qiskit version updated to 0.31.
Removed deprecated
AerUnitaryBackend.get_unitary. Userun_circuit()andpytket.backends.backendresult.BackendResult.get_unitary()instead.Updated pytket version requirement to 0.16.
0.18.0 (September 2021)¶
Qiskit version updated to 0.30.
Updated pytket version requirement to 0.15.
0.17.0 (September 2021)¶
Updated pytket version requirement to 0.14.
0.16.1 (July 2021)¶
Fix slow/high memory use
get_operator_expectation_value()
0.16.0 (July 2021)¶
Qiskit version updated to 0.28.
Use provider API client to check job status without retrieving job in IBMQBackend.
Updated pytket version requirement to 0.13.
0.15.1 (July 2021)¶
Fixed bug in backends when n_shots argument was passed as list.
0.15.0 (June 2021)¶
Updated pytket version requirement to 0.12.
0.14.0 (unreleased)¶
Qiskit version updated to 0.27.
0.13.0 (May 2021)¶
Updated pytket version requirement to 0.11.
0.12.0 (unreleased)¶
Qiskit version updated to 0.26.
Code rewrites to avoid use of deprecated qiskit methods.
Restriction to hermitian operators for expectation values in
AerBackend.
0.11.0 (May 2021)¶
Contextual optimisation added to default compilation passes (except at optimisation level 0).
Support for symbolic parameters in rebase pass.
Correct phase when rebasing.
Ability to preserve UUIDs of qiskit symbolic parameters when converting.
Correction to error message.
0.10.0 (April 2021)¶
Support for symbolic phase in converters.