New Features
- [**breaking**] Use hugr envelopes to store/load circuits ([813](https://github.com/CQCL/tket2/pull/813))
tket2-py-v0.8.1
[0.8.1](https://github.com/CQCL/tket2/compare/tket2-py-v0.8.0...tket2-py-v0.8.1) (2025-03-18)
Features
* Update `tket2-exts` extension to `0.6.0` ([e358bb1](https://github.com/CQCL/tket2/commit/e358bb1a1641153cd718995da09888f98f0ffe35))
tket2-py-v0.8.0
[0.8.0](https://github.com/CQCL/tket2/compare/tket2-py-v0.7.0...tket2-py-v0.8.0) (2025-03-17)
⚠ BREAKING CHANGES
* pre-envelope `Circuit` serialisation functions are deprecated.
* `Node` is now an associated type of `HugrView` `Circuit::load_function_reader` takes a `BufRead` rather than `Read`
* **tket2-hseries:** Make `UtilsOp` enum `non_exhaustive` so that future additions are not considered API-breaking.
Features
* Add methods to en/decode from bytes ([807](https://github.com/CQCL/tket2/issues/807)) ([3e76fd2](https://github.com/CQCL/tket2/commit/3e76fd2fb981889542b06cd218dfce9ad925cf29))
* Use hugr envelopes to store/load circuits ([813](https://github.com/CQCL/tket2/issues/813)) ([2940b2e](https://github.com/CQCL/tket2/commit/2940b2e0c9b270259259690b83dbdf261543d26d))
Bug Fixes
* **tket2-hseries:** rm unneeded ext, make `UtilsOp` enum `non_exhaustive` ([797](https://github.com/CQCL/tket2/issues/797)) ([8c3ee89](https://github.com/CQCL/tket2/commit/8c3ee8971b9f095ccdb0522cf0751a2ff20b89a5))
Miscellaneous Chores
* bump to hugr-rs 0.15 and hugr-py 0.11 ([806](https://github.com/CQCL/tket2/issues/806)) ([f3bfaae](https://github.com/CQCL/tket2/commit/f3bfaae0b6e4b8fd934a62343317b85ccb8f96ee))
tket2-hseries-v0.11.0
Bug Fixes
- [**breaking**] Remove `OrderInZones` operation. Make `UtilsOp` enum `non_exhaustive` ([797](https://github.com/CQCL/tket2/pull/797))
New Features
- Lower tk2 ops using function calls ([812](https://github.com/CQCL/tket2/pull/812))
tket2-exts-v0.6.0
[0.6.0](https://github.com/CQCL/tket2/compare/tket2-exts-v0.5.1...tket2-exts-v0.6.0) (2025-03-18)
⚠ BREAKING CHANGES
* pre-envelope `Circuit` serialisation functions are deprecated.
* `Node` is now an associated type of `HugrView` `Circuit::load_function_reader` takes a `BufRead` rather than `Read`
* **tket2-hseries:** Make `UtilsOp` enum `non_exhaustive` so that future additions are not considered API-breaking.
Features
* Use hugr envelopes to store/load circuits ([813](https://github.com/CQCL/tket2/issues/813)) ([2940b2e](https://github.com/CQCL/tket2/commit/2940b2e0c9b270259259690b83dbdf261543d26d))
Bug Fixes
* **tket2-hseries:** rm unneeded ext, make `UtilsOp` enum `non_exhaustive` ([797](https://github.com/CQCL/tket2/issues/797)) ([8c3ee89](https://github.com/CQCL/tket2/commit/8c3ee8971b9f095ccdb0522cf0751a2ff20b89a5))
Miscellaneous Chores
* bump to hugr-rs 0.15 and hugr-py 0.11 ([806](https://github.com/CQCL/tket2/issues/806)) ([f3bfaae](https://github.com/CQCL/tket2/commit/f3bfaae0b6e4b8fd934a62343317b85ccb8f96ee))
tket2-py-v0.7.0
[0.7.0](https://github.com/CQCL/tket2/compare/tket2-py-v0.6.1...tket2-py-v0.7.0) (2025-03-06)
⚠ BREAKING CHANGES
* **tket2-py:** Adds `OrderInZones` to `tket2.qsystem.utils`
Features
* **tket2-py:** bump tket2_exts constraint ([794](https://github.com/CQCL/tket2/issues/794)) ([520e950](https://github.com/CQCL/tket2/commit/520e9505630d1bc166472fb1af1095bb39e8b414))
tket2-hseries-v0.10.0
Bug Fixes
- [**breaking**] remove type argument from `RNGContext` type, swap returns ([786](https://github.com/CQCL/tket2/pull/786))
New Features
- *(tket2-hseries)* [**breaking**] Add order_in_zones extension op ([792](https://github.com/CQCL/tket2/pull/792))
tket2-exts-v0.5.1
[0.5.1](https://github.com/CQCL/tket2/compare/tket2-exts-v0.5.0...tket2-exts-v0.5.1) (2025-03-06)
Features
* Add order_in_zones extension op ([3ec7f5d](https://github.com/CQCL/tket2/commit/3ec7f5d5e0a7d07254e1b09976cddea98cd83702))
tket2-exts-v0.5.0
[0.5.0](https://github.com/CQCL/tket2/compare/tket2-exts-v0.4.0...tket2-exts-v0.5.0) (2025-03-04)
⚠ BREAKING CHANGES
* To be compatible with Guppy's convention of implicitly returning `self` as the second value of the tuple, the following signatures are updated:
diff
- /// `fn random_int(RNGContext) -> (RNGContext, u32)`
+ /// `fn random_int(RNGContext) -> (u32, RNGContext)`
- /// `fn random_float(RNGContext) -> (RNGContext, f32)`
+ /// `fn random_float(RNGContext) -> (f32, RNGContext)`
- /// `fn random_int_bounded(RNGContext, bound: u32) -> (RNGContext, u32)`
+ /// `fn random_int_bounded(RNGContext, bound: u32) -> (u32, RNGContext)`
Bug Fixes
* remove type argument from `RNGContext` type, swap returns ([786](https://github.com/CQCL/tket2/issues/786)) ([633ebd7](https://github.com/CQCL/tket2/commit/633ebd74d71ba81f5b71d6db757b08ea3c959a5d))