Skip to content

chore: release#2926

Merged
aborgna-q merged 3 commits intomainfrom
release-plz-2026-03-09T10-18-35Z
Mar 16, 2026
Merged

chore: release#2926
aborgna-q merged 3 commits intomainfrom
release-plz-2026-03-09T10-18-35Z

Conversation

@hugrbot
Copy link
Collaborator

@hugrbot hugrbot commented Mar 9, 2026

🤖 New release

  • hugr-model: 0.25.7 -> 0.26.0 (✓ API compatible changes)
  • hugr-core: 0.25.7 -> 0.26.0 (⚠ API breaking changes)
  • hugr-llvm: 0.25.7 -> 0.26.0 (✓ API compatible changes)
  • hugr-persistent: 0.4.7 -> 0.5.0 (✓ API compatible changes)
  • hugr: 0.25.7 -> 0.26.0 (✓ API compatible changes)
  • hugr-passes: 0.25.7 -> 0.26.0 (⚠ API breaking changes)
  • hugr-cli: 0.25.7 -> 0.26.0 (✓ API compatible changes)

hugr-core breaking changes

--- 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.46.0/src/lints/enum_struct_variant_field_added.ron

Failed in:
  field pkg of variant LowerFunc::FixedHugr in /tmp/.tmpGqHhMb/hugr/hugr-core/src/extension/op_def.rs:312

--- 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.46.0/src/lints/enum_struct_variant_field_missing.ron

Failed in:
  field hugr of variant LowerFunc::FixedHugr, previously in file /tmp/.tmpqeiszk/hugr-core/src/extension/op_def.rs:303

--- 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.46.0/src/lints/enum_variant_missing.ron

Failed in:
  variant BuildError::HugrInsertionError, previously in file /tmp/.tmpqeiszk/hugr-core/src/builder.rs:186
  variant EnvelopeFormat::ModelText, previously in file /tmp/.tmpqeiszk/hugr-core/src/envelope/header.rs:60
  variant EnvelopeFormat::ModelTextWithExtensions, previously in file /tmp/.tmpqeiszk/hugr-core/src/envelope/header.rs:70
  variant Value::Function, previously in file /tmp/.tmpqeiszk/hugr-core/src/ops/constant.rs:169
  variant Value::Function, previously in file /tmp/.tmpqeiszk/hugr-core/src/ops/constant.rs:169

--- 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.46.0/src/lints/function_missing.ron

Failed in:
  function hugr_core::envelope::read_described_envelope, previously in file /tmp/.tmpqeiszk/hugr-core/src/envelope.rs:98

--- 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.46.0/src/lints/inherent_method_missing.ron

Failed in:
  Value::function, previously in file /tmp/.tmpqeiszk/hugr-core/src/ops/constant.rs:380
  Value::function, previously in file /tmp/.tmpqeiszk/hugr-core/src/ops/constant.rs:380

hugr-passes breaking changes

--- failure derive_trait_impl_removed: built-in derived trait no longer implemented ---

Description:
A public type has stopped deriving one or more traits. This can break downstream code that depends on those types implementing those traits.
        ref: https://doc.rust-lang.org/reference/attributes/derive.html#derive
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/derive_trait_impl_removed.ron

Failed in:
  type RedundantOrderEdgesPass no longer derives Copy, in /tmp/.tmpGqHhMb/hugr/hugr-passes/src/redundant_order_edges.rs:26

--- 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.46.0/src/lints/enum_missing.ron

Failed in:
  enum hugr_passes::untuple::UntupleRecursive, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:23

--- 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.46.0/src/lints/function_missing.ron

Failed in:
  function hugr_passes::remove_dead_funcs, previously in file /tmp/.tmpqeiszk/hugr-passes/src/dead_funcs.rs:179
  function hugr_passes::const_fold::constant_fold_pass, previously in file /tmp/.tmpqeiszk/hugr-passes/src/const_fold.rs:224
  function hugr_passes::non_local::nonlocal_edges, previously in file /tmp/.tmpqeiszk/hugr-passes/src/non_local.rs:39
  function hugr_passes::nonlocal_edges, previously in file /tmp/.tmpqeiszk/hugr-passes/src/non_local.rs:39
  function hugr_passes::monomorphize, previously in file /tmp/.tmpqeiszk/hugr-passes/src/monomorphize.rs:36

--- 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.46.0/src/lints/inherent_method_missing.ron

Failed in:
  UntuplePass::new, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:102
  UntuplePass::set_parent, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:114
  UntuplePass::recursive, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:136
  UntuplePass::find_rewrites, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:151
  UntuplePass::new, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:102
  UntuplePass::set_parent, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:114
  UntuplePass::recursive, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:136
  UntuplePass::find_rewrites, previously in file /tmp/.tmpqeiszk/hugr-passes/src/untuple.rs:151
  RedundantOrderEdgesPass::new, previously in file /tmp/.tmpqeiszk/hugr-passes/src/redundant_order_edges.rs:39
  RedundantOrderEdgesPass::recursive, previously in file /tmp/.tmpqeiszk/hugr-passes/src/redundant_order_edges.rs:44
  RemoveDeadFuncsPass::with_module_entry_points, previously in file /tmp/.tmpqeiszk/hugr-passes/src/dead_funcs.rs:75
  NormalizeCFGPass::cfgs, previously in file /tmp/.tmpqeiszk/hugr-passes/src/normalize_cfgs.rs:121
  ValueHandle::new_const_hugr, previously in file /tmp/.tmpqeiszk/hugr-passes/src/const_fold/value_handle.rs:95

--- failure trait_added_supertrait: non-sealed trait added new supertraits ---

Description:
A non-sealed trait added one or more supertraits, which breaks downstream implementations of the trait
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#generic-bounds-tighten
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/trait_added_supertrait.ron

Failed in:
  trait hugr_passes::composable::ComposablePass gained WithScope in file /tmp/.tmpGqHhMb/hugr/hugr-passes/src/composable.rs:25
  trait hugr_passes::ComposablePass gained WithScope in file /tmp/.tmpGqHhMb/hugr/hugr-passes/src/composable.rs:25

--- 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.46.0/src/lints/trait_method_missing.ron

Failed in:
  method value_from_const_hugr of trait ConstLoader, previously in file /tmp/.tmpqeiszk/hugr-passes/src/dataflow.rs:73
  method with_scope_internal of trait ComposablePass, previously in file /tmp/.tmpqeiszk/hugr-passes/src/composable.rs:45
  method with_scope_internal of trait ComposablePass, previously in file /tmp/.tmpqeiszk/hugr-passes/src/composable.rs:45

--- failure type_allows_fewer_generic_type_params: type now allows fewer generic type parameters ---

Description:
A type now allows fewer generic type parameters than it used to. Uses of this type that supplied all previously-supported generic types will be broken.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#trait-new-parameter-no-default
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/type_allows_fewer_generic_type_params.ron

Failed in:
  Struct NormalizeCFGPass allows 1 -> 0 generic types in /tmp/.tmpGqHhMb/hugr/hugr-passes/src/normalize_cfgs.rs:101

--- failure unit_struct_changed_kind: unit struct changed kind ---

Description:
A public unit struct has been changed to a normal (curly-braces) struct, which cannot be constructed using the same struct literal syntax.
        ref: https://github.com/rust-lang/cargo/pull/10871
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/unit_struct_changed_kind.ron

Failed in:
  struct MonomorphizePass in /tmp/.tmpGqHhMb/hugr/hugr-passes/src/monomorphize.rs:178
  struct InlineDFGsPass in /tmp/.tmpGqHhMb/hugr/hugr-passes/src/inline_dfgs.rs:17
  struct LocalizeEdges in /tmp/.tmpGqHhMb/hugr/hugr-passes/src/non_local.rs:23
Changelog

hugr-model

0.26.0 - 2026-03-16

Testing

  • Replace model text snapshots with roundtrip tests (#2933)
  • Add missing width arg in model-call example (#2945)

hugr-core

0.26.0 - 2026-03-16

Bug Fixes

  • Keep declared used_extensions in envelope description (#2932)

Documentation

  • Move spec/schema and spec/std_extensions to resources/ (#2897)

Miscellaneous Tasks

  • [breaking] Fix new clippy warning on rust 1.94 (#2912)

New Features

  • [breaking] Rename ModelText envelope format to SExpression (#2927)
  • [breaking] Fix lower_funcs with custom extensions failing to load (#2925)
  • [breaking] TypeRow: add impl From array of Type, remove From (#2784)
  • Deprecate HugrView::as_petgraph (#2944)

Refactor

  • [breaking] Remove deprecated Value::Function (#2928)
  • [breaking] Remove deprecated definitions (#2930)

Testing

  • Fix type_row intos in doctests (#2941)
  • Add missing width arg in model-call example (#2945)

hugr-llvm

0.26.0 - 2026-03-16

New Features

  • (llvm) [breaking] Upgrade to LLVM 21 (#2901)
  • Include private HUGR functions in the local symbol table (#2831)
  • [breaking] TypeRow: add impl From array of Type, remove From (#2784)

Refactor

  • [breaking] Remove deprecated Value::Function (#2928)
  • [breaking] Remove deprecated stack_array codegen (#2929)

hugr-persistent

0.5.0 - 2026-03-16

New Features

  • (llvm) [breaking] Upgrade to LLVM 21 (#2901)
  • [breaking] TypeRow: add impl From array of Type, remove From (#2784)

hugr

0.26.0 - 2026-03-16

Bug Fixes

  • Keep declared used_extensions in envelope description (#2932)

Documentation

  • Move spec/schema and spec/std_extensions to resources/ (#2897)

Miscellaneous Tasks

  • [breaking] Fix new clippy warning on rust 1.94 (#2912)

New Features

  • [breaking] Update remainder of passes to use PassScope, drop default with_scope (#2871)
  • [breaking] Make WithScope a supertrait of ComposablePass (#2921)
  • [breaking] Rename ModelText envelope format to SExpression (#2927)
  • [breaking] Fix lower_funcs with custom extensions failing to load (#2925)
  • Deprecate HugrView::as_petgraph (#2944)
  • [breaking] hugr-passes is no longer reexported from hugr::algorithms (#2922)
  • (llvm) [breaking] Upgrade to LLVM 21 (#2901)
  • [breaking] TypeRow: add impl From array of Type, remove From (#2784)

Refactor

  • [breaking] Remove deprecated pass configuration (#2938)
  • [breaking] Remove deprecated Value::Function (#2928)
  • [breaking] Remove deprecated definitions (#2930)

Testing

  • Fix type_row intos in doctests (#2941)
  • Add missing width arg in model-call example (#2945)

hugr-passes

0.26.0 - 2026-03-16

New Features

  • [breaking] hugr-passes is no longer reexported from hugr::algorithms (#2922)
  • (llvm) [breaking] Upgrade to LLVM 21 (#2901)
  • [breaking] Update remainder of passes to use PassScope, drop default with_scope (#2871)
  • [breaking] Make WithScope a supertrait of ComposablePass (#2921)
  • [breaking] TypeRow: add impl From array of Type, remove From (#2784)
  • Deprecate HugrView::as_petgraph (#2944)

Refactor

  • [breaking] Remove deprecated Value::Function (#2928)
  • [breaking] Remove deprecated pass configuration (#2938)

hugr-cli

0.26.0 - 2026-03-16

Documentation

  • Move spec/schema and spec/std_extensions to resources/ (#2897)

New Features

  • [breaking] Rename ModelText envelope format to SExpression (#2927)
  • [breaking] TypeRow: add impl From array of Type, remove From (#2784)


This PR was generated with release-plz.

@hugrbot hugrbot added A-rust Area: Rust code X-release Automated release PR labels Mar 9, 2026
@codecov
Copy link

codecov bot commented Mar 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.84%. Comparing base (8b52e06) to head (57f8bd3).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2926   +/-   ##
=======================================
  Coverage   83.84%   83.84%           
=======================================
  Files         267      267           
  Lines       52923    52923           
  Branches    46854    46854           
=======================================
  Hits        44371    44371           
  Misses       6283     6283           
  Partials     2269     2269           
Flag Coverage Δ
python 88.76% <ø> (ø)
rust 83.20% <ø> (ø)

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.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hugrbot hugrbot force-pushed the release-plz-2026-03-09T10-18-35Z branch 22 times, most recently from dd0072c to b26494b Compare March 13, 2026 17:58
@aborgna-q aborgna-q marked this pull request as ready for review March 16, 2026 10:17
@aborgna-q aborgna-q requested a review from a team as a code owner March 16, 2026 10:18
@hugrbot hugrbot force-pushed the release-plz-2026-03-09T10-18-35Z branch from b26494b to 99c3791 Compare March 16, 2026 10:27
Comment on lines +5 to +17
This release includes a restructuration of the optimisation pass API, a major
upgrade to LLVM 21, and bumps the MSRV to Rust 1.91.

Composable passes can now be configured with a scope to indicate which parts of the
Hugr they should be applied to, and which parts they are allowed to modify.
Implementations of the trait should adhere to this configuration.

The `hugr-passes` crate is no longer reexported from `hugr::algorithms`. It will
be integrated into `tket` in the future, but it should be used directly
as `hugr_passes` for now.

Building the crate with the `llvm` feature will now require LLVM 21.1 to be installed.
See the [DEVELOPMENT.md](https://github.com/Quantinuum/hugr/blob/main/DEVELOPMENT.md) file for updated instructions on setting up the development environment.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Added a release overview to hugr's changelog

@aborgna-q aborgna-q added this pull request to the merge queue Mar 16, 2026
Merged via the queue into main with commit c77a555 Mar 16, 2026
30 checks passed
@aborgna-q aborgna-q deleted the release-plz-2026-03-09T10-18-35Z branch March 16, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-rust Area: Rust code X-release Automated release PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants