Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2747 +/- ##
==========================================
+ Coverage 83.48% 83.50% +0.01%
==========================================
Files 267 267
Lines 52911 52903 -8
Branches 47620 47612 -8
==========================================
+ Hits 44174 44176 +2
+ Misses 6353 6345 -8
+ Partials 2384 2382 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
doug-q
approved these changes
Dec 10, 2025
Co-authored-by: Douglas Wilson <[email protected]>
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 22, 2025
This release includes various breaking refactors and improvements:
- A lot of work has been done towards linking Hugrs. Now module-rooted
Hugrs can
be linked together using configurable policies.
- `ValueArray` has been removed.
- A type-safe API for accessing metadata on nodes has been added.
- Envelopes now have an extensive API for progressively describing a
package,
and failing gracefully on errors.
- The MSRV has been bumped to Rust 1.89, and the public pyo3 dependency
has been
updated to 0.27.
- Multiple deprecated definitions have been removed.
----
## 🤖 New release
* `hugr-model`: 0.24.3 -> 0.25.0 (✓ API compatible changes)
* `hugr-core`: 0.24.3 -> 0.25.0 (⚠ API breaking changes)
* `hugr-llvm`: 0.24.3 -> 0.25.0 (✓ API compatible changes)
* `hugr-passes`: 0.24.3 -> 0.25.0 (⚠ API breaking changes)
* `hugr-persistent`: 0.3.4 -> 0.4.0 (✓ API compatible changes)
* `hugr`: 0.24.3 -> 0.25.0 (✓ API compatible changes)
* `hugr-cli`: 0.24.3 -> 0.25.0 (⚠ API breaking changes)
### ⚠ `hugr-core` breaking changes
```text
--- failure enum_marked_non_exhaustive: enum marked #[non_exhaustive] ---
Description:
A public enum has been marked #[non_exhaustive]. Pattern-matching on it outside of its crate must now include a wildcard pattern like `_`, or it will fail to compile.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#attr-adding-non-exhaustive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/enum_marked_non_exhaustive.ron
Failed in:
enum ReadError in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/envelope.rs:108
--- 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.45.0/src/lints/enum_missing.ron
Failed in:
enum hugr_core::envelope::EnvelopeError, previously in file /tmp/.tmpLNcYQE/hugr-core/src/envelope.rs:262
--- 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.45.0/src/lints/function_missing.ron
Failed in:
function hugr_core::std_extensions::collections::value_array::value_array_type, previously in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:159
function hugr_core::envelope::format_generator, previously in file /tmp/.tmpLNcYQE/hugr-core/src/envelope.rs:93
function hugr_core::std_extensions::collections::value_array::value_array_type_def, previously in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:150
function hugr_core::hugr::serialize::serde_deserialize_hugr, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/serialize.rs:180
function hugr_core::envelope::get_generator, previously in file /tmp/.tmpLNcYQE/hugr-core/src/envelope.rs:80
function hugr_core::std_extensions::collections::value_array::value_array_type_parametric, previously in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:166
function hugr_core::std_extensions::collections::array::op_builder::build_all_value_array_ops, previously in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/array/op_builder.rs:390
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn 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.45.0/src/lints/inherent_method_missing.ron
Failed in:
MermaidFormatter::from_render_config, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/views/render.rs:50
--- 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.45.0/src/lints/module_missing.ron
Failed in:
mod hugr_core::std_extensions::collections::value_array, previously in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:1
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/pub_module_level_const_missing.ron
Failed in:
USED_EXTENSIONS_KEY in file /tmp/.tmpLNcYQE/hugr-core/src/envelope.rs:72
VALUE_ARRAY_TYPENAME in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:27
VERSION in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:33
GENERATOR_KEY in file /tmp/.tmpLNcYQE/hugr-core/src/envelope.rs:70
EXTENSION_ID in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:31
VALUE_ARRAY_VALUENAME in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:29
--- failure pub_static_missing: pub static is missing ---
Description:
A public static is missing, renamed, or made private.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/pub_static_missing.ron
Failed in:
EXTENSION in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:99
--- 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.45.0/src/lints/struct_missing.ron
Failed in:
struct hugr_core::envelope::WithGenerator, previously in file /tmp/.tmpLNcYQE/hugr-core/src/envelope.rs:127
struct hugr_core::hugr::views::render::RenderConfig, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/views/render.rs:21
struct hugr_core::std_extensions::collections::value_array::ValueArray, previously in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:39
--- failure trait_method_default_impl_removed: pub trait default method impl removed ---
Description:
A method's default impl in an unsealed trait has been removed, breaking trait implementations that relied on that default
ref: https://doc.rust-lang.org/book/ch10-02-traits.html#default-implementations
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/trait_method_default_impl_removed.ron
Failed in:
trait method hugr_core::hugr::patch::PatchVerification::invalidated_nodes in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/patch.rs:45
--- failure trait_method_missing: pub trait method removed or renamed ---
Description:
A trait method is no longer callable, and may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/trait_method_missing.ron
Failed in:
method invalidation_set of trait PatchVerification, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/patch.rs:44
method mermaid_string_with_config of trait HugrView, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/views.rs:404
method mermaid_string_with_config of trait HugrView, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/views.rs:404
method mermaid_string_with_config of trait HugrView, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/views.rs:404
method get_metadata_mut of trait HugrMut, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/hugrmut.rs:63
--- failure trait_method_parameter_count_changed: pub trait method parameter count changed ---
Description:
A trait method now takes a different number of parameters.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#major-any-change-to-trait-item-signatures
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/trait_method_parameter_count_changed.ron
Failed in:
Container::set_metadata now takes 2 instead of 3 parameters, in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/builder/build_traits.rs:114
Container::set_child_metadata now takes 3 instead of 4 parameters, in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/builder/build_traits.rs:123
HugrView::get_metadata now takes 2 instead of 3 parameters, in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/views.rs:107
HugrView::get_metadata now takes 2 instead of 3 parameters, in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/views.rs:107
HugrView::get_metadata now takes 2 instead of 3 parameters, in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/views.rs:107
HugrMut::set_metadata now takes 3 instead of 4 parameters, in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/hugrmut.rs:79
HugrMut::remove_metadata now takes 2 instead of 3 parameters, in file /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/hugrmut.rs:106
--- failure trait_method_requires_different_generic_type_params: trait method now requires a different number of generic type parameters ---
Description:
A trait method now requires a different number of generic type parameters than it used to. Calls or implementations of this trait method using the previous number of generic types will be broken.
ref: https://doc.rust-lang.org/reference/items/generics.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/trait_method_requires_different_generic_type_params.ron
Failed in:
Container::set_metadata (0 -> 1 generic types) in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/builder/build_traits.rs:114
Container::set_child_metadata (0 -> 1 generic types) in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/builder/build_traits.rs:123
HugrView::get_metadata (0 -> 1 generic types) in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/views.rs:107
HugrView::get_metadata (0 -> 1 generic types) in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/views.rs:107
HugrView::get_metadata (0 -> 1 generic types) in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/views.rs:107
HugrMut::set_metadata (0 -> 1 generic types) in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/hugrmut.rs:79
HugrMut::remove_metadata (0 -> 1 generic types) in /tmp/.tmpmZ0VmH/hugr/hugr-core/src/hugr/hugrmut.rs:106
--- 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.45.0/src/lints/trait_missing.ron
Failed in:
trait hugr_core::std_extensions::collections::value_array::VArrayOpBuilder, previously in file /tmp/.tmpLNcYQE/hugr-core/src/std_extensions/collections/value_array.rs:174
trait hugr_core::hugr::views::RootCheckable, previously in file /tmp/.tmpLNcYQE/hugr-core/src/hugr/views/root_checked.rs:73
```
### ⚠ `hugr-passes` breaking changes
```text
--- failure enum_marked_non_exhaustive: enum marked #[non_exhaustive] ---
Description:
A public enum has been marked #[non_exhaustive]. Pattern-matching on it outside of its crate must now include a wildcard pattern like `_`, or it will fail to compile.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#attr-adding-non-exhaustive
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/enum_marked_non_exhaustive.ron
Failed in:
enum NodeTemplate in /tmp/.tmpmZ0VmH/hugr/hugr-passes/src/replace_types.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.45.0/src/lints/enum_missing.ron
Failed in:
enum hugr_passes::call_graph::CallGraphNode, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/call_graph.rs:17
enum hugr_passes::call_graph::CallGraphEdge, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/call_graph.rs:9
--- failure enum_struct_variant_field_added: pub enum struct variant field added ---
Description:
An enum's exhaustive struct variant has a new field, which has to be included when constructing or matching on this variant.
ref: https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.45.0/src/lints/enum_struct_variant_field_added.ron
Failed in:
field entry_nodes_moved of variant NormalizeCFGResult::CFGPreserved in /tmp/.tmpmZ0VmH/hugr/hugr-passes/src/normalize_cfgs.rs:89
--- failure enum_struct_variant_field_missing: pub enum struct variant's field removed or renamed ---
Description:
A publicly-visible enum has a struct variant whose field 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.45.0/src/lints/enum_struct_variant_field_missing.ron
Failed in:
field entry_dfg of variant NormalizeCFGResult::CFGPreserved, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/normalize_cfgs.rs:88
--- 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.45.0/src/lints/function_missing.ron
Failed in:
function hugr_passes::replace_types::handlers::linearize_value_array, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/replace_types/handlers.rs:298
function hugr_passes::merge_bbs::merge_basic_blocks, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/lib.rs:40
function hugr_passes::replace_types::handlers::value_array_const, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/replace_types/handlers.rs:97
--- 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.45.0/src/lints/module_missing.ron
Failed in:
mod hugr_passes::merge_bbs, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/lib.rs:26
mod hugr_passes::call_graph, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/call_graph.rs:1
mod hugr_passes::linearize_array, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/linearize_array.rs:1
--- 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.45.0/src/lints/struct_missing.ron
Failed in:
struct hugr_passes::call_graph::CallGraph, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/call_graph.rs:42
struct hugr_passes::linearize_array::LinearizeArrayPass, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/linearize_array.rs:35
struct hugr_passes::LinearizeArrayPass, previously in file /tmp/.tmpLNcYQE/hugr-passes/src/linearize_array.rs:35
```
### ⚠ `hugr-cli` breaking changes
```text
--- 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.45.0/src/lints/enum_variant_missing.ron
Failed in:
variant CliError::Envelope, previously in file /tmp/.tmpLNcYQE/hugr-cli/src/lib.rs:88
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn 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.45.0/src/lints/inherent_method_missing.ron
Failed in:
HugrInputArgs::get_envelope, previously in file /tmp/.tmpLNcYQE/hugr-cli/src/hugr_io.rs:63
HugrInputArgs::get_hugr, previously in file /tmp/.tmpLNcYQE/hugr-cli/src/hugr_io.rs:88
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field 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.45.0/src/lints/struct_pub_field_missing.ron
Failed in:
field hugr_json of struct HugrInputArgs, previously in file /tmp/.tmpLNcYQE/hugr-cli/src/hugr_io.rs:40
```
<details><summary><i><b>Changelog</b></i></summary><p>
## `hugr-model`
<blockquote>
##
[0.25.0](hugr-model-v0.24.3...hugr-model-v0.25.0)
- 2025-12-22
### Bug Fixes
- *(model)* avoid non abi-compatible pyo3 calls
([#2679](#2679))
### New Features
- [**breaking**] Upgrade pyo3 dependency to 0.27
([#2736](#2736))
### Refactor
- Direct import of model representation to Python
([#2683](#2683))
</blockquote>
## `hugr-core`
<blockquote>
##
[0.25.0](hugr-core-v0.24.3...hugr-core-v0.25.0)
- 2025-12-22
### Bug Fixes
- *(hugr-core)* [**breaking**] Return error instead of panicking in
`MakeRegisteredOp::to_extension_op()`
([#2701](#2701))
- register packaged extensions before model_ast import
([#2702](#2702))
- ModuleGraph misses static edges to non-container entrypoints
([#2745](#2745))
### New Features
- return description output to python on error
([#2681](#2681))
- add hugr-core StaticGraph, deprecate hugr-passes CallGraph
([#2698](#2698))
- [**breaking**] Remove `RootCheckable`
([#2704](#2704))
- Add method to link Hugr modules (linking pt3)
([#2529](#2529))
- `insert_link_hugr` adds entrypoint subtree and links, with
reachability ([#2555](#2555))
- [**breaking**] Upgrade pyo3 dependency to 0.27
([#2736](#2736))
- [**breaking**] Bump MSRV to Rust 1.89
([#2747](#2747))
- [**breaking**] Allow disconnecting specific edges in a hugr
([#2737](#2737))
- Optype iterators over value ports
([#2738](#2738))
- [**breaking**] Type-safe access for node metadata
([#2755](#2755))
- [**breaking**] GeneratorDesc metadata definition
([#2759](#2759))
### Refactor
- [**breaking**] move envelope reading to dedicated module with
dedicated errors ([#2689](#2689))
- Direct import of model representation to Python
([#2683](#2683))
- *(linking.rs)* [**breaking**] (tiny) avoid type_complexity
([#2721](#2721))
- [**breaking**] Remove multiple deprecated definitions
([#2751](#2751))
- [**breaking**] Delete ValueArray
([#2760](#2760))
- Deprecate Value::Function and inline_constant_functions
([#2770](#2770))
</blockquote>
## `hugr-llvm`
<blockquote>
##
[0.25.0](hugr-llvm-v0.24.3...hugr-llvm-v0.25.0)
- 2025-12-22
### New Features
- *(llvm)* [**breaking**] upgrade to inkwell 0.7
([#2695](#2695))
### Refactor
- Deprecate Value::Function and inline_constant_functions
([#2770](#2770))
</blockquote>
## `hugr-passes`
<blockquote>
##
[0.25.0](hugr-passes-v0.24.3...hugr-passes-v0.25.0)
- 2025-12-22
### New Features
- *(hugr-passes)* [**breaking**] normalize_cfgs inlines entry DFG
([#2649](#2649))
- add hugr-core StaticGraph, deprecate hugr-passes CallGraph
([#2698](#2698))
- ReplaceTypes: recurse on replacements, much deprecation
([#2442](#2442))
- [**breaking**] Remove `RootCheckable`
([#2704](#2704))
- [**breaking**] Bump MSRV to Rust 1.89
([#2747](#2747))
- Add a pass to remove redundant order edges
([#2739](#2739))
- *(hugr-passes)* [**breaking**] add NodeTemplate::LinkedHugr, deprecate
::Call ([#2749](#2749))
### Refactor
- [**breaking**] Remove multiple deprecated definitions
([#2751](#2751))
- [**breaking**] Delete ValueArray
([#2760](#2760))
- Deprecate Value::Function and inline_constant_functions
([#2770](#2770))
### Testing
- Make Hugr valid in replace_types::op_to_call
([#2732](#2732))
</blockquote>
## `hugr-persistent`
<blockquote>
##
[0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0)
- 2025-12-22
### New Features
- [**breaking**] Remove `RootCheckable`
([#2704](#2704))
- [**breaking**] Bump MSRV to Rust 1.89
([#2747](#2747))
- [**breaking**] Type-safe access for node metadata
([#2755](#2755))
### Refactor
- [**breaking**] Remove multiple deprecated definitions
([#2751](#2751))
</blockquote>
## `hugr`
<blockquote>
##
[0.25.0](hugr-v0.24.3...hugr-v0.25.0)
- 2025-12-22
### Bug Fixes
- *(hugr-core)* [**breaking**] Return error instead of panicking in
`MakeRegisteredOp::to_extension_op()`
([#2701](#2701))
- register packaged extensions before model_ast import
([#2702](#2702))
- ModuleGraph misses static edges to non-container entrypoints
([#2745](#2745))
### Documentation
- Improve instructions for patch release
([#2720](#2720))
### New Features
- *(hugr-passes)* [**breaking**] normalize_cfgs inlines entry DFG
([#2649](#2649))
- ReplaceTypes: recurse on replacements, much deprecation
([#2442](#2442))
- Add a pass to remove redundant order edges
([#2739](#2739))
- *(hugr-passes)* [**breaking**] add NodeTemplate::LinkedHugr, deprecate
::Call ([#2749](#2749))
- return description output to python on error
([#2681](#2681))
- add hugr-core StaticGraph, deprecate hugr-passes CallGraph
([#2698](#2698))
- [**breaking**] Remove `RootCheckable`
([#2704](#2704))
- Add method to link Hugr modules (linking pt3)
([#2529](#2529))
- `insert_link_hugr` adds entrypoint subtree and links, with
reachability ([#2555](#2555))
- [**breaking**] Upgrade pyo3 dependency to 0.27
([#2736](#2736))
- [**breaking**] Bump MSRV to Rust 1.89
([#2747](#2747))
- [**breaking**] Allow disconnecting specific edges in a hugr
([#2737](#2737))
- Optype iterators over value ports
([#2738](#2738))
- [**breaking**] GeneratorDesc metadata definition
([#2759](#2759))
- [**breaking**] Type-safe access for node metadata
([#2755](#2755))
### Refactor
- [**breaking**] move envelope reading to dedicated module with
dedicated errors ([#2689](#2689))
- Direct import of model representation to Python
([#2683](#2683))
- *(linking.rs)* [**breaking**] (tiny) avoid type_complexity
([#2721](#2721))
- [**breaking**] Remove multiple deprecated definitions
([#2751](#2751))
- [**breaking**] Delete ValueArray
([#2760](#2760))
- Deprecate Value::Function and inline_constant_functions
([#2770](#2770))
### Testing
- Make Hugr valid in replace_types::op_to_call
([#2732](#2732))
</blockquote>
## `hugr-cli`
<blockquote>
##
[0.25.0](hugr-cli-v0.24.3...hugr-cli-v0.25.0)
- 2025-12-22
### New Features
- *(cli, python)* programmatic interface to cli with python bindings
([#2677](#2677))
- return description output to python on error
([#2681](#2681))
- [**breaking**] Type-safe access for node metadata
([#2755](#2755))
- [**breaking**] GeneratorDesc metadata definition
([#2759](#2759))
### Refactor
- [**breaking**] move envelope reading to dedicated module with
dedicated errors ([#2689](#2689))
- *(cli)* [**breaking**] remove deprecated hugr_json handling
([#2690](#2690))
- [**breaking**] Remove multiple deprecated definitions
([#2751](#2751))
</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]>
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 29, 2025
## 🤖 New release * `hugr-model`: 0.25.0 -> 0.25.1 (✓ API compatible changes) * `hugr-core`: 0.25.0 -> 0.25.1 (✓ API compatible changes) * `hugr-llvm`: 0.25.0 -> 0.25.1 (✓ API compatible changes) * `hugr-passes`: 0.25.0 -> 0.25.1 (✓ API compatible changes) * `hugr-persistent`: 0.4.0 -> 0.4.1 (✓ API compatible changes) * `hugr`: 0.25.0 -> 0.25.1 (✓ API compatible changes) * `hugr-cli`: 0.25.0 -> 0.25.1 <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.25.0](hugr-model-v0.24.3...hugr-model-v0.25.0) - 2025-12-22 ### Bug Fixes - *(model)* avoid non abi-compatible pyo3 calls ([#2679](#2679)) ### New Features - [**breaking**] Upgrade pyo3 dependency to 0.27 ([#2736](#2736)) ### Refactor - Direct import of model representation to Python ([#2683](#2683)) </blockquote> ## `hugr-core` <blockquote> ## [0.25.0](hugr-core-v0.24.3...hugr-core-v0.25.0) - 2025-12-22 ### Bug Fixes - *(hugr-core)* [**breaking**] Return error instead of panicking in `MakeRegisteredOp::to_extension_op()` ([#2701](#2701)) - register packaged extensions before model_ast import ([#2702](#2702)) - ModuleGraph misses static edges to non-container entrypoints ([#2745](#2745)) ### New Features - return description output to python on error ([#2681](#2681)) - add hugr-core StaticGraph, deprecate hugr-passes CallGraph ([#2698](#2698)) - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - Add method to link Hugr modules (linking pt3) ([#2529](#2529)) - `insert_link_hugr` adds entrypoint subtree and links, with reachability ([#2555](#2555)) - [**breaking**] Upgrade pyo3 dependency to 0.27 ([#2736](#2736)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Allow disconnecting specific edges in a hugr ([#2737](#2737)) - Optype iterators over value ports ([#2738](#2738)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) - [**breaking**] GeneratorDesc metadata definition ([#2759](#2759)) ### Refactor - [**breaking**] move envelope reading to dedicated module with dedicated errors ([#2689](#2689)) - Direct import of model representation to Python ([#2683](#2683)) - *(linking.rs)* [**breaking**] (tiny) avoid type_complexity ([#2721](#2721)) - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) - [**breaking**] Delete ValueArray ([#2760](#2760)) - Deprecate Value::Function and inline_constant_functions ([#2770](#2770)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.25.0](hugr-llvm-v0.24.3...hugr-llvm-v0.25.0) - 2025-12-22 ### New Features - *(llvm)* [**breaking**] upgrade to inkwell 0.7 ([#2695](#2695)) ### Refactor - Deprecate Value::Function and inline_constant_functions ([#2770](#2770)) </blockquote> ## `hugr-passes` <blockquote> ## [0.25.1](hugr-passes-v0.25.0...hugr-passes-v0.25.1) - 2025-12-29 ### Bug Fixes - two problems in array linearization from #2749 ([#2779](#2779)) </blockquote> ## `hugr-persistent` <blockquote> ## [0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0) - 2025-12-22 ### New Features - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) ### Refactor - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> ## `hugr` <blockquote> ## [0.25.1](hugr-v0.25.0...hugr-v0.25.1) - 2025-12-29 ### Bug Fixes - two problems in array linearization from #2749 ([#2779](#2779)) </blockquote> ## `hugr-cli` <blockquote> ## [0.25.0](hugr-cli-v0.24.3...hugr-cli-v0.25.0) - 2025-12-22 ### New Features - *(cli, python)* programmatic interface to cli with python bindings ([#2677](#2677)) - return description output to python on error ([#2681](#2681)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) - [**breaking**] GeneratorDesc metadata definition ([#2759](#2759)) ### Refactor - [**breaking**] move envelope reading to dedicated module with dedicated errors ([#2689](#2689)) - *(cli)* [**breaking**] remove deprecated hugr_json handling ([#2690](#2690)) - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Dec 30, 2025
## 🤖 New release * `hugr-model`: 0.25.1 -> 0.25.2 * `hugr-core`: 0.25.1 -> 0.25.2 (✓ API compatible changes) * `hugr-llvm`: 0.25.1 -> 0.25.2 * `hugr-passes`: 0.25.1 -> 0.25.2 * `hugr`: 0.25.1 -> 0.25.2 (✓ API compatible changes) * `hugr-cli`: 0.25.1 -> 0.25.2 * `hugr-persistent`: 0.4.1 -> 0.4.2 <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.25.0](hugr-model-v0.24.3...hugr-model-v0.25.0) - 2025-12-22 ### Bug Fixes - *(model)* avoid non abi-compatible pyo3 calls ([#2679](#2679)) ### New Features - [**breaking**] Upgrade pyo3 dependency to 0.27 ([#2736](#2736)) ### Refactor - Direct import of model representation to Python ([#2683](#2683)) </blockquote> ## `hugr-core` <blockquote> ## [0.25.2](hugr-core-v0.25.1...hugr-core-v0.25.2) - 2025-12-30 ### Bug Fixes - *(determinism)* use BTreeMap in ModuleGraph ([#2783](#2783)) ### New Features - Re-export hugr_core::hugr::linking from hugr:: ([#2781](#2781)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.25.0](hugr-llvm-v0.24.3...hugr-llvm-v0.25.0) - 2025-12-22 ### New Features - *(llvm)* [**breaking**] upgrade to inkwell 0.7 ([#2695](#2695)) ### Refactor - Deprecate Value::Function and inline_constant_functions ([#2770](#2770)) </blockquote> ## `hugr-passes` <blockquote> ## [0.25.1](hugr-passes-v0.25.0...hugr-passes-v0.25.1) - 2025-12-29 ### Bug Fixes - two problems in array linearization from #2749 ([#2779](#2779)) </blockquote> ## `hugr` <blockquote> ## [0.25.2](hugr-v0.25.1...hugr-v0.25.2) - 2025-12-30 ### Bug Fixes - *(determinism)* use BTreeMap in ModuleGraph ([#2783](#2783)) ### New Features - Re-export hugr_core::hugr::linking from hugr:: ([#2781](#2781)) </blockquote> ## `hugr-cli` <blockquote> ## [0.25.0](hugr-cli-v0.24.3...hugr-cli-v0.25.0) - 2025-12-22 ### New Features - *(cli, python)* programmatic interface to cli with python bindings ([#2677](#2677)) - return description output to python on error ([#2681](#2681)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) - [**breaking**] GeneratorDesc metadata definition ([#2759](#2759)) ### Refactor - [**breaking**] move envelope reading to dedicated module with dedicated errors ([#2689](#2689)) - *(cli)* [**breaking**] remove deprecated hugr_json handling ([#2690](#2690)) - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> ## `hugr-persistent` <blockquote> ## [0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0) - 2025-12-22 ### New Features - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) ### Refactor - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jan 9, 2026
## 🤖 New release * `hugr-model`: 0.25.2 -> 0.25.3 (✓ API compatible changes) * `hugr-core`: 0.25.2 -> 0.25.3 (✓ API compatible changes) * `hugr-llvm`: 0.25.2 -> 0.25.3 (✓ API compatible changes) * `hugr-passes`: 0.25.2 -> 0.25.3 (✓ API compatible changes) * `hugr-persistent`: 0.4.2 -> 0.4.3 (✓ API compatible changes) * `hugr`: 0.25.2 -> 0.25.3 (✓ API compatible changes) * `hugr-cli`: 0.25.2 -> 0.25.3 (✓ API compatible changes) <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.25.0](hugr-model-v0.24.3...hugr-model-v0.25.0) - 2025-12-22 ### Bug Fixes - *(model)* avoid non abi-compatible pyo3 calls ([#2679](#2679)) ### New Features - [**breaking**] Upgrade pyo3 dependency to 0.27 ([#2736](#2736)) ### Refactor - Direct import of model representation to Python ([#2683](#2683)) </blockquote> ## `hugr-core` <blockquote> ## [0.25.3](hugr-core-v0.25.2...hugr-core-v0.25.3) - 2026-01-09 ### Bug Fixes - more nondeterminism in linking ([#2792](#2792)) ### Documentation - Add collection extension ops to the spec ([#2767](#2767)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.25.0](hugr-llvm-v0.24.3...hugr-llvm-v0.25.0) - 2025-12-22 ### New Features - *(llvm)* [**breaking**] upgrade to inkwell 0.7 ([#2695](#2695)) ### Refactor - Deprecate Value::Function and inline_constant_functions ([#2770](#2770)) </blockquote> ## `hugr-passes` <blockquote> ## [0.25.3](hugr-passes-v0.25.2...hugr-passes-v0.25.3) - 2026-01-09 ### Bug Fixes - *(hugr-passes)* Recursive replacement on NodeTemplate::LinkedHugr ([#2800](#2800)) ### Refactor - *(ReplaceTypes)* [tiny] correct computation of containing_func ([#2807](#2807)) </blockquote> ## `hugr-persistent` <blockquote> ## [0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0) - 2025-12-22 ### New Features - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) ### Refactor - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> ## `hugr` <blockquote> ## [0.25.3](hugr-v0.25.2...hugr-v0.25.3) - 2026-01-09 ### Bug Fixes - *(hugr-passes)* Recursive replacement on NodeTemplate::LinkedHugr ([#2800](#2800)) - more nondeterminism in linking ([#2792](#2792)) ### Documentation - Add collection extension ops to the spec ([#2767](#2767)) ### Refactor - *(ReplaceTypes)* [tiny] correct computation of containing_func ([#2807](#2807)) </blockquote> ## `hugr-cli` <blockquote> ## [0.25.0](hugr-cli-v0.24.3...hugr-cli-v0.25.0) - 2025-12-22 ### New Features - *(cli, python)* programmatic interface to cli with python bindings ([#2677](#2677)) - return description output to python on error ([#2681](#2681)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) - [**breaking**] GeneratorDesc metadata definition ([#2759](#2759)) ### Refactor - [**breaking**] move envelope reading to dedicated module with dedicated errors ([#2689](#2689)) - *(cli)* [**breaking**] remove deprecated hugr_json handling ([#2690](#2690)) - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jan 14, 2026
## 🤖 New release * `hugr-model`: 0.25.3 -> 0.25.4 (✓ API compatible changes) * `hugr-core`: 0.25.3 -> 0.25.4 (✓ API compatible changes) * `hugr-llvm`: 0.25.3 -> 0.25.4 (✓ API compatible changes) * `hugr-passes`: 0.25.3 -> 0.25.4 (✓ API compatible changes) * `hugr`: 0.25.3 -> 0.25.4 (✓ API compatible changes) * `hugr-cli`: 0.25.3 -> 0.25.4 (✓ API compatible changes) * `hugr-persistent`: 0.4.3 -> 0.4.4 <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.25.0](hugr-model-v0.24.3...hugr-model-v0.25.0) - 2025-12-22 ### Bug Fixes - *(model)* avoid non abi-compatible pyo3 calls ([#2679](#2679)) ### New Features - [**breaking**] Upgrade pyo3 dependency to 0.27 ([#2736](#2736)) ### Refactor - Direct import of model representation to Python ([#2683](#2683)) </blockquote> ## `hugr-core` <blockquote> ## [0.25.3](hugr-core-v0.25.2...hugr-core-v0.25.3) - 2026-01-09 ### Bug Fixes - more nondeterminism in linking ([#2792](#2792)) ### Documentation - Add collection extension ops to the spec ([#2767](#2767)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.25.0](hugr-llvm-v0.24.3...hugr-llvm-v0.25.0) - 2025-12-22 ### New Features - *(llvm)* [**breaking**] upgrade to inkwell 0.7 ([#2695](#2695)) ### Refactor - Deprecate Value::Function and inline_constant_functions ([#2770](#2770)) </blockquote> ## `hugr-passes` <blockquote> ## [0.25.4](hugr-passes-v0.25.3...hugr-passes-v0.25.4) - 2026-01-14 ### Bug Fixes - UnpackTuple error on disconnected outputs ([#2813](#2813)) </blockquote> ## `hugr` <blockquote> ## [0.25.4](hugr-v0.25.3...hugr-v0.25.4) - 2026-01-14 ### Bug Fixes - UnpackTuple error on disconnected outputs ([#2813](#2813)) </blockquote> ## `hugr-cli` <blockquote> ## [0.25.0](hugr-cli-v0.24.3...hugr-cli-v0.25.0) - 2025-12-22 ### New Features - *(cli, python)* programmatic interface to cli with python bindings ([#2677](#2677)) - return description output to python on error ([#2681](#2681)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) - [**breaking**] GeneratorDesc metadata definition ([#2759](#2759)) ### Refactor - [**breaking**] move envelope reading to dedicated module with dedicated errors ([#2689](#2689)) - *(cli)* [**breaking**] remove deprecated hugr_json handling ([#2690](#2690)) - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> ## `hugr-persistent` <blockquote> ## [0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0) - 2025-12-22 ### New Features - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) ### Refactor - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
Closed
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 3, 2026
## 🤖 New release * `hugr-model`: 0.25.4 -> 0.25.5 (✓ API compatible changes) * `hugr-core`: 0.25.4 -> 0.25.5 (✓ API compatible changes) * `hugr-llvm`: 0.25.4 -> 0.25.5 (✓ API compatible changes) * `hugr-passes`: 0.25.4 -> 0.25.5 (✓ API compatible changes) * `hugr-persistent`: 0.4.4 -> 0.4.5 (✓ API compatible changes) * `hugr`: 0.25.4 -> 0.25.5 (✓ API compatible changes) * `hugr-cli`: 0.25.4 -> 0.25.5 (✓ API compatible changes) <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.25.0](hugr-model-v0.24.3...hugr-model-v0.25.0) - 2025-12-22 ### Bug Fixes - *(model)* avoid non abi-compatible pyo3 calls ([#2679](#2679)) ### New Features - [**breaking**] Upgrade pyo3 dependency to 0.27 ([#2736](#2736)) ### Refactor - Direct import of model representation to Python ([#2683](#2683)) </blockquote> ## `hugr-core` <blockquote> ## [0.25.5](hugr-core-v0.25.4...hugr-core-v0.25.5) - 2026-02-03 ### Refactor - make EnvelopeFormat::ModelWithExtensions the default ([#2816](#2816)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.25.0](hugr-llvm-v0.24.3...hugr-llvm-v0.25.0) - 2025-12-22 ### New Features - *(llvm)* [**breaking**] upgrade to inkwell 0.7 ([#2695](#2695)) ### Refactor - Deprecate Value::Function and inline_constant_functions ([#2770](#2770)) </blockquote> ## `hugr-passes` <blockquote> ## [0.25.4](hugr-passes-v0.25.3...hugr-passes-v0.25.4) - 2026-01-14 ### Bug Fixes - UnpackTuple error on disconnected outputs ([#2813](#2813)) </blockquote> ## `hugr-persistent` <blockquote> ## [0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0) - 2025-12-22 ### New Features - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) ### Refactor - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> ## `hugr` <blockquote> ## [0.25.5](hugr-v0.25.4...hugr-v0.25.5) - 2026-02-03 ### Refactor - make EnvelopeFormat::ModelWithExtensions the default ([#2816](#2816)) </blockquote> ## `hugr-cli` <blockquote> ## [0.25.5](hugr-cli-v0.25.4...hugr-cli-v0.25.5) - 2026-02-03 ### Refactor - make EnvelopeFormat::ModelWithExtensions the default ([#2816](#2816)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 20, 2026
## 🤖 New release * `hugr-model`: 0.25.5 -> 0.25.6 (✓ API compatible changes) * `hugr-core`: 0.25.5 -> 0.25.6 (✓ API compatible changes) * `hugr-llvm`: 0.25.5 -> 0.25.6 (✓ API compatible changes) * `hugr-passes`: 0.25.5 -> 0.25.6 (✓ API compatible changes) * `hugr`: 0.25.5 -> 0.25.6 (✓ API compatible changes) * `hugr-cli`: 0.25.5 -> 0.25.6 (✓ API compatible changes) * `hugr-persistent`: 0.4.5 -> 0.4.6 <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.25.6](hugr-model-v0.25.5...hugr-model-v0.25.6) - 2026-02-20 ### New Features - Remove size limitation for binary envelopes ([#2880](#2880)) </blockquote> ## `hugr-core` <blockquote> ## [0.25.6](hugr-core-v0.25.5...hugr-core-v0.25.6) - 2026-02-20 ### Bug Fixes - Canonicalize more ([#2839](#2839)) - used_extensions should include transitive requirements ([#2891](#2891)) ### New Features - Add s expression format to envelope formats ([#2864](#2864)) - added hash.rs, updated imports ([#2840](#2840)) - *(hugr-py)* Define typed Metadata protocol ([#2765](#2765)) - Add a `NodeTemplate::call_to_function` helper ([#2878](#2878)) - Remove size limitation for binary envelopes ([#2880](#2880)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.25.6](hugr-llvm-v0.25.5...hugr-llvm-v0.25.6) - 2026-02-20 ### New Features - Add error context when lowering hugrs to LLVM ([#2869](#2869)) </blockquote> ## `hugr-passes` <blockquote> ## [0.25.6](hugr-passes-v0.25.5...hugr-passes-v0.25.6) - 2026-02-20 ### Bug Fixes - Panic on UntuplePass when nodes had order edges ([#2883](#2883)) ### New Features - added hash.rs, updated imports ([#2840](#2840)) - Add a `NodeTemplate::call_to_function` helper ([#2878](#2878)) </blockquote> ## `hugr` <blockquote> ## [0.25.6](hugr-v0.25.5...hugr-v0.25.6) - 2026-02-20 ### Bug Fixes - Panic on UntuplePass when nodes had order edges ([#2883](#2883)) - Canonicalize more ([#2839](#2839)) - used_extensions should include transitive requirements ([#2891](#2891)) ### New Features - Add s expression format to envelope formats ([#2864](#2864)) - *(hugr-py)* Define typed Metadata protocol ([#2765](#2765)) - Add a `NodeTemplate::call_to_function` helper ([#2878](#2878)) - added hash.rs, updated imports ([#2840](#2840)) - Remove size limitation for binary envelopes ([#2880](#2880)) </blockquote> ## `hugr-cli` <blockquote> ## [0.25.6](hugr-cli-v0.25.5...hugr-cli-v0.25.6) - 2026-02-20 ### New Features - Add s expression format to envelope formats ([#2864](#2864)) </blockquote> ## `hugr-persistent` <blockquote> ## [0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0) - 2025-12-22 ### New Features - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) ### Refactor - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
Merged
github-merge-queue bot
pushed a commit
that referenced
this pull request
Mar 6, 2026
## 🤖 New release * `hugr-model`: 0.25.6 -> 0.25.7 (✓ API compatible changes) * `hugr-core`: 0.25.6 -> 0.25.7 (✓ API compatible changes) * `hugr-llvm`: 0.25.6 -> 0.25.7 (✓ API compatible changes) * `hugr-passes`: 0.25.6 -> 0.25.7 (✓ API compatible changes) * `hugr-persistent`: 0.4.6 -> 0.4.7 (✓ API compatible changes) * `hugr`: 0.25.6 -> 0.25.7 (✓ API compatible changes) * `hugr-cli`: 0.25.6 -> 0.25.7 (✓ API compatible changes) <details><summary><i><b>Changelog</b></i></summary><p> ## `hugr-model` <blockquote> ## [0.25.6](hugr-model-v0.25.5...hugr-model-v0.25.6) - 2026-02-20 ### New Features - Remove size limitation for binary envelopes ([#2880](#2880)) </blockquote> ## `hugr-core` <blockquote> ## [0.25.7](hugr-core-v0.25.6...hugr-core-v0.25.7) - 2026-03-06 ### Documentation - added examples in docs srtring ([#2920](#2920)) </blockquote> ## `hugr-llvm` <blockquote> ## [0.25.6](hugr-llvm-v0.25.5...hugr-llvm-v0.25.6) - 2026-02-20 ### New Features - Add error context when lowering hugrs to LLVM ([#2869](#2869)) </blockquote> ## `hugr-passes` <blockquote> ## [0.25.7](hugr-passes-v0.25.6...hugr-passes-v0.25.7) - 2026-03-06 ### Documentation - added examples in docs srtring ([#2920](#2920)) ### New Features - Define pass application scopes ([#2772](#2772)) - Modify dead code elimination pass to remove unreachable basic blocks ([#2884](#2884)) - Add non-generic `with_scope` method for composable passes ([#2910](#2910)) - update passes to use PassScope where non-breaking ([#2836](#2836)) </blockquote> ## `hugr-persistent` <blockquote> ## [0.4.0](hugr-persistent-v0.3.4...hugr-persistent-v0.4.0) - 2025-12-22 ### New Features - [**breaking**] Remove `RootCheckable` ([#2704](#2704)) - [**breaking**] Bump MSRV to Rust 1.89 ([#2747](#2747)) - [**breaking**] Type-safe access for node metadata ([#2755](#2755)) ### Refactor - [**breaking**] Remove multiple deprecated definitions ([#2751](#2751)) </blockquote> ## `hugr` <blockquote> ## [0.25.7](hugr-v0.25.6...hugr-v0.25.7) - 2026-03-06 ### Documentation - added examples in docs srtring ([#2920](#2920)) ### New Features - Define pass application scopes ([#2772](#2772)) - Modify dead code elimination pass to remove unreachable basic blocks ([#2884](#2884)) - Add non-generic `with_scope` method for composable passes ([#2910](#2910)) - update passes to use PassScope where non-breaking ([#2836](#2836)) </blockquote> ## `hugr-cli` <blockquote> ## [0.25.6](hugr-cli-v0.25.5...hugr-cli-v0.25.6) - 2026-02-20 ### New Features - Add s expression format to envelope formats ([#2864](#2864)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BREAKING CHANGE: Bumped the Minimum Supported Rust Version to 1.89