Skip to content

Releases: Quantinuum/tket2

tket-qsystem: v0.24.0

07 Apr 10:52
a7c66f6

Choose a tag to compare

Bug Fixes

  • pytket encoder drops order edges to the output node (#1466)
  • Constant Folding with PassScope::Global should act globally, not just beneath the entrypoint (#1470)

New Features

  • [breaking] Use raw Hugrs in pytket encoding/decoding API (#1418)
  • Add qsystem.rz pytket decoder (#1432)
  • [breaking] Update MSRV to rust 1.91 (#1446)
  • [breaking] Update to hugr 0.26.0 (#1448)
  • [breaking] Follow pass scopes in composable passes (#1429)
  • [breaking] Reorganize tket::passes and add hugr_passes re-exports (#1472)
  • Move hugr-passes implementations to tket::passes (#1487)

Contributors

tket-py: v0.13.0

07 Apr 15:40
042ba1d

Choose a tag to compare

0.13.0 (2026-04-07)

⚠ BREAKING CHANGES

  • Removed Tk2Circuit use CompilationState instead. Non-stable APIs have been marked as internal. They will be re-designed and stabilized in future releases.
  • Moved tket::modifier::ModifierResolverPass to
  • Renamed
  • Updated public hugr dependency to 0.26.0.
  • Minimum supported Rust version bumped to 1.91
  • Removed CircuitHash trait, use Circuit::circuit_hash or hugr::algorithms::hash::HugrHash instead.
  • Removed tket::passes::lower_to_pytket. Use NormalizeGuppy instead.
  • Renamed TKETDecode::decode_inplace to decode_into.
  • Removed deprecated find_tuple_unpack_rewrites. Use

Features

  • expose ModifierResolverPass to Python (#1502) (9e3e0de), closes #1452
  • Expose NormalizeGuppy::squash_borrows flag in python (#1412) (ba25fa1)
  • Follow pass scopes in composable passes (#1429) (ae0016c)
  • Move hugr-passes implementations to tket::passes (#1487) (cc5ca5c)
  • Pass scopes in python API, update to hugr-py 0.16 (#1464) (369aba2)
  • Print full traceback for rust-originated errors (#1435) (9c03ee0)
  • Remove deprecated unpack tuple pass (#1387) (86ac8f9)
  • Remove unused lower_to_pytket pass (#1431) (a214abc)
  • Reorganize tket::passes and add hugr_passes re-exports (#1472) (b3bc669)
  • Replace Tk2Circuit with a simpler CompilationState definition (#1482) (e814f35)
  • Replace CircuitHash with hugr's implementation (#1420) (e2b4991)
  • Update MSRV to rust 1.91 (#1446) (b82a771)
  • Update to hugr 0.26.0 (#1448) (f43a877)
  • Use raw Hugrs in pytket encoding/decoding API (#1418) (9df9993)

tket-exts: v0.12.3

07 Apr 15:23
3b52f45

Choose a tag to compare

0.12.3 (2026-04-07)

Features

  • Pass scopes in python API, update to hugr-py 0.16 (#1464) (369aba2)

Documentation

tket: v0.18.0

02 Apr 12:47
4fdadd2

Choose a tag to compare

This release bumps hugr to 0.27.0 and reworks the pytket encoding/decoding API to use raw Hugrs.
The tket::passes module now contains the passes previously available in hugr_passes.

Bug Fixes

  • (pytket decoder) Panic on repeated bit registers in pytket decoded output (#1445)
  • pytket encoder drops order edges to the output node (#1466)

Documentation

  • Fix tket README introductory example (#1463)

New Features

  • [breaking] Use raw Hugrs in pytket encoding/decoding API (#1418)
  • [breaking] Remove unused lower_to_pytket pass (#1431)
  • [breaking] Replace CircuitHash with hugr's implementation (#1420)
  • [breaking] Update MSRV to rust 1.91 (#1446)
  • [breaking] Update to hugr 0.26.0 (#1448)
  • [breaking] Follow pass scopes in composable passes (#1429)
  • Implemented post_opdef for RotationOp for constant folding (#1468)
  • [breaking] Reorganize tket::passes and add hugr_passes re-exports (#1472)
  • [breaking] Bump hugr dependency to 0.27.0 (#1488)
  • Move hugr-passes implementations to tket::passes (#1487)
  • Pass scopes in python API, update to hugr-py 0.16 (#1464)

Refactor

  • (llvm) use llvm.is.fpclass for from_halfturns (#1457)

Testing

  • Fixed signatures when decoding pytket circuits (#1405)

Contributors

tket: v0.17.0

03 Feb 09:50
663885c

Choose a tag to compare

Bug Fixes

  • (encoded-circ) Track unsupported wires between input and output (#1224)
  • Multiple fixes to the pytket encoder (#1226)
  • Don't use opgroup in pytket barrier encoding (#1251)
  • guppy_to_circuit always returns num_operations = 0 (#1200)
  • (pytket-decoder) Avoid QAllocating and immediately freeing qubits (#1256)
  • Encoding of opaque subgraphs with no associated qubit/bit (#1295)
  • [breaking] Don't rely on command params for pytket barriers (#1298)
  • Track output qubits in CircuitInfo (#1304)
  • Wrongly reused qubit IDs in pytket encoding (#1358)

New Features

  • Deprecate local find_tuple_unpack rewrite (#1188)
  • Add CopyableExpressionAST (#1209)
  • NormalizeGuppy pass to simplify generated structure (#1220)
  • [breaking] pytket EncodedCircuit struct for in-place pytket optimisation (#1211)
  • [breaking] Interval is independent of resource IDs and scope position (#1205)
  • Don't translate usizes to pytket (#1241)
  • BorrowSquashPass to elide redundant borrow/return ops (#1159)
  • [breaking] Bump hugr to 0.25.0 (#1325)
  • Remove order edges in NormalizeGuppy pass (#1326)
  • [breaking] Remove deprecated unpack tuple pass (#1387)

Refactor

  • Remove contain_qubits, use TypeUnpacker (#1283)
  • [breaking] Replace Subcircuit with SiblingSubgraph (#1288)
  • (metadata) [breaking] Migrate all metadata keys onto the new metadata traits (#1328)

Contributors

tket-qsystem: v0.23.0

03 Feb 09:51
663885c

Choose a tag to compare

Bug Fixes

  • [breaking] Don't rely on command params for pytket barriers (#1298)
  • Wrongly reused qubit IDs in pytket encoding (#1358)

New Features

  • NormalizeGuppy pass to simplify generated structure (#1220)
  • Allow running arbitrary serializable pytket passes on hugrs (#1266)
  • BorrowSquashPass to elide redundant borrow/return ops (#1159)
  • [breaking] Bump hugr to 0.25.0 (#1325)
  • Remove order edges in NormalizeGuppy pass (#1326)
  • hide new public funcs introduced by linearization (#1333)

Testing

  • regenerate guppy_opt examples, and count gates (#1249)
  • run pytket on guppy_opt tests, measure (very limited) success (#1250)

Contributors

tket-py: v0.12.16

29 Jan 11:22
d4dbaa3

Choose a tag to compare

0.12.16 (2026-01-29)

Bug Fixes

  • Bundle additional extensions while roundtripping to rust in tket passes (#1372) (225a7fc)

tket-exts: v0.12.2

28 Jan 16:25
24bcf8d

Choose a tag to compare

0.12.2 (2026-01-28)

Features

  • tket-exts: Export an ExtensionRegistry with all tket extensions (#1371) (c908427)

Documentation

tket-py: v0.12.15

16 Jan 16:20
4892731

Choose a tag to compare

0.12.15 (2026-01-15)

Bug Fixes

  • Fixes linux-x86_64 wheels requiring a GLIBC version above the stated manylinux compatibility

tket-py: v0.12.14

16 Jan 13:10
bcbf0f9

Choose a tag to compare

0.12.14 (2026-01-15)

Features

Bug Fixes

  • Incorrect manylinux version in linux wheels (#1327) (498dd3a)
  • Wrongly reused qubit IDs in pytket encoding (#1358) (498dd3a)

Documentation

  • update example notebook after Guppy optimization fixes (#1357) (7487e3a)