Releases: Quantinuum/tket2
Releases · Quantinuum/tket2
tket-qsystem: v0.24.0
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::passesand addhugr_passesre-exports (#1472) - Move hugr-passes implementations to tket::passes (#1487)
Contributors
tket-py: v0.13.0
0.13.0 (2026-04-07)
⚠ BREAKING CHANGES
- Removed
Tk2CircuituseCompilationStateinstead. Non-stable APIs have been marked as internal. They will be re-designed and stabilized in future releases. - Moved
tket::modifier::ModifierResolverPassto - Renamed
- Updated public
hugrdependency to0.26.0. - Minimum supported Rust version bumped to 1.91
- Removed
CircuitHashtrait, useCircuit::circuit_hashorhugr::algorithms::hash::HugrHashinstead. - Removed
tket::passes::lower_to_pytket. UseNormalizeGuppyinstead. - Renamed
TKETDecode::decode_inplacetodecode_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_pytketpass (#1431) (a214abc) - Reorganize
tket::passesand addhugr_passesre-exports (#1472) (b3bc669) - Replace
Tk2Circuitwith a simplerCompilationStatedefinition (#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
tket: v0.18.0
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_pytketpass (#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_opdefforRotationOpfor constant folding (#1468) - [breaking] Reorganize
tket::passesand addhugr_passesre-exports (#1472) - [breaking] Bump
hugrdependency 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
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)
NormalizeGuppypass 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
Bug Fixes
- [breaking] Don't rely on command params for pytket barriers (#1298)
- Wrongly reused qubit IDs in pytket encoding (#1358)
New Features
NormalizeGuppypass 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
tket-exts: v0.12.2
tket-py: v0.12.15
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
0.12.14 (2026-01-15)
Features
- make PytketHugrPass store a list of passes (#1360) (498dd3a)
- Reduced glibc version requirement to 2.34 (#1327) (498dd3a)
- Remove order edges in NormalizeGuppy pass (#1326) (dbfffd5), closes #1325
- Use constant folding by default on NormalizeGuppy (#1323) (6f11024)
Bug Fixes
- Incorrect manylinux version in linux wheels (#1327) (498dd3a)
- Wrongly reused qubit IDs in pytket encoding (#1358) (498dd3a)