Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: Track circuit extensions and read/write packages #680

Merged
merged 10 commits into from
Nov 7, 2024

Conversation

aborgna-q
Copy link
Collaborator

Removes the guppy-specific and adds supports for loading functions packages and standalone hugrs.

Temporarily keeps track of the required extensions for the hugr in an optional Circuit::required_extensions field until CQCL/hugr#1613 gets implemented. Fallbacks to a default set when loading bare hugrs.

Note that storing a circuit with a non-root parent is currently an error. We'll need to store some pointer to the entrypoint on the hugr's metadata, and that'll require some serialization-stable path encoding. I'll open an issue for that .

blocked-by: CQCL/hugr#1621. I'll remove the patch in cargo.toml once that gets released.

drive-by: Use circuit_hash for the PartialEq implementation of circuits. The derived equality failed on graphs with different node indices.

BREAKING CHANGE: Removed load_guppy_* methods. Use Circuit::load_function_reader instead.

@aborgna-q aborgna-q requested a review from a team as a code owner October 31, 2024 14:04
@aborgna-q aborgna-q requested a review from ss2165 October 31, 2024 14:04
@hugrbot
Copy link
Collaborator

hugrbot commented Oct 31, 2024

This PR contains breaking changes to the public Rust API.

cargo-semver-checks summary

--- failure auto_trait_impl_removed: auto trait no longer implemented ---

Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
      ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
     impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/auto_trait_impl_removed.ron

Failed in:
type Command is no longer UnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit/command.rs:25
type Command is no longer RefUnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit/command.rs:25
type Command is no longer UnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit/command.rs:25
type Command is no longer RefUnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit/command.rs:25
type Circuit is no longer UnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit.rs:40
type Circuit is no longer RefUnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit.rs:40
type Circuit is no longer UnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit.rs:40
type Circuit is no longer RefUnwindSafe, in /home/runner/work/tket2/tket2/PR_BRANCH/tket2/src/circuit.rs:40

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
      ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
     impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/enum_missing.ron

Failed in:
enum tket2::serialize::guppy::CircuitLoadError, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:114

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
      ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
     impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/function_missing.ron

Failed in:
function tket2::serialize::guppy::load_guppy_json_file, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:16
function tket2::serialize::load_guppy_json_file, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:16
function tket2::serialize::guppy::find_function, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:58
function tket2::serialize::guppy::load_guppy_json_reader, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:32
function tket2::serialize::load_guppy_json_reader, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:32
function tket2::serialize::guppy::load_guppy_json_str, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:26
function tket2::serialize::load_guppy_json_str, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:26

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
      ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
     impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.36.0/src/lints/module_missing.ron

Failed in:
mod tket2::serialize::guppy, previously in file /home/runner/work/tket2/tket2/BASELINE_BRANCH/tket2/src/serialize/guppy.rs:1

Copy link

codecov bot commented Oct 31, 2024

Codecov Report

Attention: Patch coverage is 82.84024% with 29 lines in your changes missing coverage. Please review.

Project coverage is 82.87%. Comparing base (5cd934b) to head (fc053c9).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
tket2/src/serialize.rs 78.57% 18 Missing and 9 partials ⚠️
tket2-py/tket2/circuit/build.py 90.90% 1 Missing ⚠️
tket2/src/circuit.rs 96.77% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #680      +/-   ##
==========================================
+ Coverage   82.17%   82.87%   +0.69%     
==========================================
  Files          62       62              
  Lines        7028     7128     +100     
  Branches     6781     6875      +94     
==========================================
+ Hits         5775     5907     +132     
+ Misses        889      848      -41     
- Partials      364      373       +9     
Flag Coverage Δ
python 82.21% <90.90%> (+0.02%) ⬆️
rust 82.89% <82.27%> (+0.72%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@ss2165 ss2165 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍌

tket2-py/tket2/circuit/build.py Outdated Show resolved Hide resolved
Comment on lines +65 to +67
self.hugr[self.hugr.root].op = ops.FuncDefn(
function_name, inputs=dfg_op.inputs, _outputs=dfg_op.outputs
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hugr rewriting is so much easier in python 🤔

}
/// The [IGNORED_EXTENSION_OPS] definition depends on the buggy behaviour of [`NamedOp::name`], which returns bare names instead of scoped names on some cases.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice comment 🙏

/// Error type for conversion between `Op` and `OpType`.
#[derive(Debug, Display, Error, From)]
#[non_exhaustive]
pub enum CircuitStoreError {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when are we dropping the word "Circuit" 👀

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Soon™️
(it should be my next PR)

},
}

/// Error type for conversion between `Op` and `OpType`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe add tket2/tket1 prefixes to Op and OpType to distinguish

tket2/src/serialize.rs Outdated Show resolved Hide resolved
let mut mod2 = ModuleBuilder::new();
define("foo", &mut mod2);
define("bar", &mut mod2);
define("banana", &mut mod2);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍌

}

#[rstest]
fn serialize_errors(multi_module_pkg: Package) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's still a few errors missing coverage, up to you about adding more tests

@aborgna-q aborgna-q force-pushed the ab/circuit-extensions branch from 7e093dd to 63f3e1f Compare November 6, 2024 14:43
@aborgna-q aborgna-q requested a review from ss2165 November 6, 2024 16:44
Copy link
Member

@ss2165 ss2165 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍌

@aborgna-q aborgna-q added this pull request to the merge queue Nov 7, 2024
Merged via the queue into main with commit 5e87dd9 Nov 7, 2024
16 checks passed
@aborgna-q aborgna-q deleted the ab/circuit-extensions branch November 7, 2024 09:12
@aborgna-q aborgna-q linked an issue Nov 7, 2024 that may be closed by this pull request
github-merge-queue bot pushed a commit that referenced this pull request Nov 15, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.5.0](tket2-py-v0.4.1...tket2-py-v0.5.0)
(2024-11-11)


### ⚠ BREAKING CHANGES

* Removed `load_guppy_*` methods. Use Circuit::load_function_reader
instead.

### Features

* move extensions to auxillary package
([#682](#682))
([dd78f9a](dd78f9a))
* Track circuit extensions and read/write packages
([#680](#680))
([5e87dd9](5e87dd9))


### Reverts

* "Support python 3.13
([#653](#653))"
([#657](#657))
([3fb67ac](3fb67ac))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: Seyon Sivarajah <[email protected]>
Co-authored-by: Agustín Borgna <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Dec 16, 2024
## 🤖 New release
* `tket2`: 0.6.0 -> 0.7.0 (⚠️ API breaking changes)
* `tket2-hseries`: 0.6.0 -> 0.7.0 (⚠️ API breaking changes)

### ⚠️ `tket2` breaking changes

```
--- failure auto_trait_impl_removed: auto trait no longer implemented ---

Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
        ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/auto_trait_impl_removed.ron

Failed in:
  type Units is no longer UnwindSafe, in /tmp/.tmpfB4eOr/tket2/tket2/src/circuit/units.rs:62
  type Units is no longer RefUnwindSafe, in /tmp/.tmpfB4eOr/tket2/tket2/src/circuit/units.rs:62

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/enum_missing.ron

Failed in:
  enum tket2::serialize::guppy::CircuitLoadError, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:114

--- failure enum_no_repr_variant_discriminant_changed: enum variant had its discriminant change value ---

Description:
The enum's variant had its discriminant value change. This breaks downstream code that used its value via a numeric cast like `as isize`.
        ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/enum_no_repr_variant_discriminant_changed.ron

Failed in:
  variant Tk2Op::QAlloc 17 -> 18 in /tmp/.tmpfB4eOr/tket2/tket2/src/ops.rs:61
  variant Tk2Op::QFree 18 -> 20 in /tmp/.tmpfB4eOr/tket2/tket2/src/ops.rs:63
  variant Tk2Op::Reset 19 -> 21 in /tmp/.tmpfB4eOr/tket2/tket2/src/ops.rs:64

--- failure enum_variant_missing: pub enum variant removed or renamed ---

Description:
A publicly-visible enum has at least one variant that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/enum_variant_missing.ron

Failed in:
  variant CircuitLoadError::ValError, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:156
  variant RewriterSerialisationError::OpaqueOp, previously in file /tmp/.tmphWIpmA/tket2/src/rewrite/ecc_rewriter.rs:221

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/function_missing.ron

Failed in:
  function tket2::serialize::guppy::load_guppy_json_reader, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:32
  function tket2::serialize::load_guppy_json_reader, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:32
  function tket2::serialize::guppy::load_guppy_json_str, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:26
  function tket2::serialize::load_guppy_json_str, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:26
  function tket2::serialize::guppy::load_guppy_json_file, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:16
  function tket2::serialize::load_guppy_json_file, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:16
  function tket2::serialize::guppy::find_function, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:58

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/module_missing.ron

Failed in:
  mod tket2::serialize::guppy, previously in file /tmp/.tmphWIpmA/tket2/src/serialize/guppy.rs:1

--- failure pub_module_level_const_missing: pub module-level const is missing ---

Description:
A public const is missing, renamed, or changed from const to static.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/pub_module_level_const_missing.ron

Failed in:
  ROTATION_TYPE in file /tmp/.tmphWIpmA/tket2/src/extension/rotation.rs:39
  ROTATION_CUSTOM_TYPE in file /tmp/.tmphWIpmA/tket2/src/extension/rotation.rs:35

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/struct_missing.ron

Failed in:
  struct tket2::extension::REGISTRY, previously in file /tmp/.tmphWIpmA/tket2/src/extension.rs:37
```

### ⚠️ `tket2-hseries` breaking changes

```
--- failure auto_trait_impl_removed: auto trait no longer implemented ---

Description:
A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented.
        ref: https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/auto_trait_impl_removed.ron

Failed in:
  type FutureOp is no longer UnwindSafe, in /tmp/.tmpfB4eOr/tket2/tket2-hseries/src/extension/futures.rs:164
  type FutureOp is no longer RefUnwindSafe, in /tmp/.tmpfB4eOr/tket2/tket2-hseries/src/extension/futures.rs:164

--- failure enum_missing: pub enum removed or renamed ---

Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/enum_missing.ron

Failed in:
  enum tket2_hseries::extension::hseries::HSeriesOp, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:79
  enum tket2_hseries::extension::hseries::LowerTk2Error, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries/lower.rs:41
  enum tket2_hseries::HSeriesPassError, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/lib.rs:38

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/function_missing.ron

Failed in:
  function tket2_hseries::extension::hseries::lower_tk2_op, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries/lower.rs:113
  function tket2_hseries::extension::hseries::check_lowered, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries/lower.rs:153

--- failure function_parameter_count_changed: pub fn parameter count changed ---

Description:
A publicly-visible function now takes a different number of parameters.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/function_parameter_count_changed.ron

Failed in:
  tket2_hseries::extension::futures::future_custom_type now takes 2 parameters instead of 1, in /tmp/.tmpfB4eOr/tket2/tket2-hseries/src/extension/futures.rs:59

--- failure method_parameter_count_changed: pub method parameter count changed ---

Description:
A publicly-visible method now takes a different number of parameters.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#fn-change-arity
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/method_parameter_count_changed.ron

Failed in:
  tket2_hseries::lazify_measure::LazifyMeasurePass::run now takes 2 parameters instead of 3, in /tmp/.tmpfB4eOr/tket2/tket2-hseries/src/lazify_measure.rs:54

--- failure module_missing: pub module removed or renamed ---

Description:
A publicly-visible module cannot be imported by its prior path. A `pub use` may have been removed, or the module may have been renamed, removed, or made non-public.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/module_missing.ron

Failed in:
  mod tket2_hseries::extension::hseries, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:1

--- failure pub_module_level_const_missing: pub module-level const is missing ---

Description:
A public const is missing, renamed, or changed from const to static.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/pub_module_level_const_missing.ron

Failed in:
  EXTENSION_VERSION in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:38
  EXTENSION_ID in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:36

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/struct_missing.ron

Failed in:
  struct tket2_hseries::extension::futures::REGISTRY, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/futures.rs:30
  struct tket2_hseries::extension::result::REGISTRY, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/result.rs:36
  struct tket2_hseries::extension::hseries::LowerTket2ToHSeriesPass, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries/lower.rs:177
  struct tket2_hseries::extension::hseries::REGISTRY, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:40
  struct tket2_hseries::extension::hseries::HSeriesOpIter, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:73
  struct tket2_hseries::HSeriesPass, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/lib.rs:31
  struct tket2_hseries::extension::hseries::EXTENSION, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:40

--- failure trait_missing: pub trait removed or renamed ---

Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.37.0/src/lints/trait_missing.ron

Failed in:
  trait tket2_hseries::extension::hseries::HSeriesOpBuilder, previously in file /tmp/.tmphWIpmA/tket2-hseries/src/extension/hseries.rs:131
```

<details><summary><i><b>Changelog</b></i></summary><p>

## `tket2`
<blockquote>

##
[0.7.0](tket2-v0.6.0...tket2-v0.7.0)
- 2024-12-16

### New Features

- [**breaking**] Track circuit extensions and read/write packages (#680)
- [**breaking**] update measurement and alloc operations (#702)

### Refactor

- [**breaking**] update to hugr 0.14 (#700)
</blockquote>

## `tket2-hseries`
<blockquote>

##
[0.7.0](tket2-hseries-v0.6.0...tket2-hseries-v0.7.0)
- 2024-12-16

### New Features

- [**breaking**] update measurement and alloc operations (#702)

### Refactor

- [**breaking**] update to hugr 0.14 (#700)
- [**breaking**] rename hseries to qsystem (#703)
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

---------

Co-authored-by: Agustín Borgna <[email protected]>
@hugrbot hugrbot mentioned this pull request Dec 18, 2024
github-merge-queue bot pushed a commit that referenced this pull request Dec 18, 2024
## 🤖 New release
* `tket2`: 0.7.0 -> 0.7.1 (✓ API compatible changes)
* `tket2-hseries`: 0.7.0 -> 0.7.1 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `tket2`
<blockquote>

##
[0.7.0](tket2-v0.6.0...tket2-v0.7.0)
- 2024-12-16

### ⚠ BREAKING CHANGES

- Removed `load_guppy_*` methods. Use `Circuit::load_function_reader`
instead.
- Extension definitions and registries now use `Arc`s for sharing

### New Features

- [**breaking**] Track circuit extensions and read/write packages (#680)
- [**breaking**] update measurement and alloc operations (#702)

### Refactor

- [**breaking**] update to hugr 0.14 (#700)
</blockquote>

## `tket2-hseries`
<blockquote>

##
[0.7.1](tket2-hseries-v0.7.0...tket2-hseries-v0.7.1)
- 2024-12-18

### New Features

- Add monomorphization and constant folding to QSystemPass (#730)
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

---------

Co-authored-by: Agustín Borgna <[email protected]>
@hugrbot hugrbot mentioned this pull request Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Circuit need to keep track of their Extensions
3 participants