From 544d140074e0652715cf04f41d33296a4b2f1159 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 10:27:47 +0000 Subject: [PATCH] chore: release v0.4.0-alpha.1 (#964) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 🤖 New release * `hugr`: 0.3.1 -> 0.4.0-alpha.1 (⚠️ API breaking changes) ### ⚠️ `hugr` breaking changes ``` --- 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.31.0/src/lints/enum_marked_non_exhaustive.ron Failed in: enum RegionBlocksError in /tmp/.tmpleGpag/hugr/hugr/src/algorithm/nest_cfgs.rs:282 enum EdgeValidationError in /tmp/.tmpleGpag/hugr/hugr/src/ops/validate.rs:213 enum ExtensionDeclarationError in /tmp/.tmpleGpag/hugr/hugr/src/extension/declarative.rs:179 enum InterGraphEdgeError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/validate.rs:748 enum ValidationError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/validate.rs:632 enum ValidationError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/validate.rs:632 enum HUGRSerializationError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/serialize.rs:107 enum InlineDFGError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/inline_dfg.rs:15 enum ExtensionError in /tmp/.tmpleGpag/hugr/hugr/src/extension/validate.rs:163 enum IntOpDef in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/arithmetic/int_ops.rs:51 enum ChildrenValidationError in /tmp/.tmpleGpag/hugr/hugr/src/ops/validate.rs:163 enum SumTypeError in /tmp/.tmpleGpag/hugr/hugr/src/types/check.rs:11 enum ReplaceError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/replace.rs:388 enum ConvertOpDef in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/arithmetic/conversions.rs:30 enum InvalidSubgraph in /tmp/.tmpleGpag/hugr/hugr/src/hugr/views/sibling_subgraph.rs:647 enum TypeArgError in /tmp/.tmpleGpag/hugr/hugr/src/types/type_param.rs:376 enum SumType in /tmp/.tmpleGpag/hugr/hugr/src/types.rs:124 enum ListOp in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/collections.rs:209 enum SimpleReplacementError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/simple_replace.rs:185 enum SimpleReplacementError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/simple_replace.rs:185 enum SimpleReplacementError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/simple_replace.rs:185 enum CustomCheckFailure in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:227 enum CustomCheckFailure in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:227 enum IdentityInsertionError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/insert_identity.rs:36 enum RemoveError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/consts.rs:18 enum OutlineCfgError in /tmp/.tmpleGpag/hugr/hugr/src/hugr/rewrite/outline_cfg.rs:223 enum NaryLogic in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/logic.rs:56 enum OpLoadError in /tmp/.tmpleGpag/hugr/hugr/src/extension/simple_op.rs:24 enum ConstTypeError in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:244 enum ConstTypeError in /tmp/.tmpleGpag/hugr/hugr/src/ops/constant.rs:244 enum InvalidReplacement in /tmp/.tmpleGpag/hugr/hugr/src/hugr/views/sibling_subgraph.rs:629 enum InvalidSubgraphBoundary in /tmp/.tmpleGpag/hugr/hugr/src/hugr/views/sibling_subgraph.rs:665 enum InferExtensionError in /tmp/.tmpleGpag/hugr/hugr/src/extension/infer.rs:68 enum FloatOps in /tmp/.tmpleGpag/hugr/hugr/src/std_extensions/arithmetic/float_ops.rs:25 enum CustomOpError in /tmp/.tmpleGpag/hugr/hugr/src/ops/custom.rs:400 --- 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.31.0/src/lints/enum_missing.ron Failed in: enum hugr::ops::constant::Const, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:22 enum hugr::ops::Const, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:22 --- 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.31.0/src/lints/enum_struct_variant_field_added.ron Failed in: field dir of variant HUGRSerializationError::MissingPortOffset in /tmp/.tmpleGpag/hugr/hugr/src/hugr/serialize.rs:120 --- failure enum_variant_added: enum variant added on exhaustive enum --- Description: A publicly-visible enum without #[non_exhaustive] has a new variant. ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.31.0/src/lints/enum_variant_added.ron Failed in: variant SignatureError:LoadFunctionIncorrectlyAppliesType in /tmp/.tmpleGpag/hugr/hugr/src/extension.rs:182 variant ExtensionBuildError:ValueExists in /tmp/.tmpleGpag/hugr/hugr/src/extension.rs:405 --- 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.31.0/src/lints/inherent_method_missing.ron Failed in: ConvertOpDef::with_width, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/conversions.rs:78 IntOpDef::with_width, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_ops.rs:314 IntOpDef::with_two_widths, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_ops.rs:323 Const::const_type, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:124 Const::sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:138 Const::tuple, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:153 Const::function, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:164 Const::unit, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:173 Const::unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:178 Const::unary_unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:183 Const::true_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:188 Const::false_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:193 Const::from_bool, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:199 Const::extension, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:208 Const::get_custom_value, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:215 Const::const_type, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:124 Const::sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:138 Const::tuple, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:153 Const::function, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:164 Const::unit, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:173 Const::unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:178 Const::unary_unit_sum, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:183 Const::true_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:188 Const::false_val, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:193 Const::from_bool, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:199 Const::extension, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:208 Const::get_custom_value, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:215 --- 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.31.0/src/lints/struct_missing.ron Failed in: struct hugr::std_extensions::arithmetic::int_types::ConstIntS, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_types.rs:83 struct hugr::std_extensions::arithmetic::int_types::ConstIntU, previously in file /tmp/.tmppKREXC/hugr/src/std_extensions/arithmetic/int_types.rs:76 struct hugr::ops::constant::ExtensionConst, previously in file /tmp/.tmppKREXC/hugr/src/ops/constant.rs:64 --- 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.31.0/src/lints/trait_missing.ron Failed in: trait hugr::ops::OpName, previously in file /tmp/.tmppKREXC/hugr/src/ops.rs:307 --- failure trait_removed_supertrait: supertrait removed or renamed --- Description: A supertrait was removed from a trait. Users of the trait can no longer assume it can also be used like its supertrait. ref: https://doc.rust-lang.org/reference/items/traits.html#supertraits impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.31.0/src/lints/trait_removed_supertrait.ron Failed in: supertrait hugr::ops::OpName of trait MakeExtensionOp in file /tmp/.tmpleGpag/hugr/hugr/src/extension/simple_op.rs:87 supertrait hugr::ops::OpName of trait MakeOpDef in file /tmp/.tmpleGpag/hugr/hugr/src/extension/simple_op.rs:45 ```
Changelog

## 0.4.0 (2024-05-13) ### Bug Fixes - Serialization round-trips ([#948](https://github.com/CQCL/hugr/pull/948)) - [**breaking**] Combine `ConstIntU` and `ConstIntS` ([#974](https://github.com/CQCL/hugr/pull/974)) - Disable serialisation tests when miri is active ([#977](https://github.com/CQCL/hugr/pull/977)) - [**breaking**] Serialisation schema ([#968](https://github.com/CQCL/hugr/pull/968)) - Correct constant fold for `fne`. ([#995](https://github.com/CQCL/hugr/pull/995)) - [**breaking**] Serialisation fixes ([#997](https://github.com/CQCL/hugr/pull/997)) - [**breaking**] OpDef serialisation ([#1013](https://github.com/CQCL/hugr/pull/1013)) - NaryLogicOp constant folding ([#1026](https://github.com/CQCL/hugr/pull/1026)) ### Features - 'Replace' rewrite returns node map ([#929](https://github.com/CQCL/hugr/pull/929)) - `new` methods for leaf ops ([#940](https://github.com/CQCL/hugr/pull/940)) - Add `string` type and `print` function to `prelude` ([#942](https://github.com/CQCL/hugr/pull/942)) - `CustomOp::extension` utility function ([#951](https://github.com/CQCL/hugr/pull/951)) - [**breaking**] Add `non_exhaustive` to various enums ([#952](https://github.com/CQCL/hugr/pull/952)) - Encoder metadata in serialized hugr ([#955](https://github.com/CQCL/hugr/pull/955)) - [**breaking**] Bring back Value ([#967](https://github.com/CQCL/hugr/pull/967)) - Add LoadFunction node ([#947](https://github.com/CQCL/hugr/pull/947)) - Add From impls for TypeArg ([#1002](https://github.com/CQCL/hugr/pull/1002)) - Constant-folding of integer and logic operations ([#1009](https://github.com/CQCL/hugr/pull/1009)) - [**breaking**] Update serialisation schema, implement `CustomConst` serialisation ([#1005](https://github.com/CQCL/hugr/pull/1005)) - Merge basic blocks algorithm ([#956](https://github.com/CQCL/hugr/pull/956)) - [**breaking**] Allow panic operation to have any input and output wires ([#1024](https://github.com/CQCL/hugr/pull/1024)) ### Refactor - Outline hugr::serialize::test ([#976](https://github.com/CQCL/hugr/pull/976)) - [**breaking**] Replace SmolStr identifiers with wrapper types. ([#959](https://github.com/CQCL/hugr/pull/959)) - Separate extension validation from the rest ([#1011](https://github.com/CQCL/hugr/pull/1011)) - Remove "trait TypeParametrised" ([#1019](https://github.com/CQCL/hugr/pull/1019)) ### Testing - Add a test of instantiating an extension set ([#939](https://github.com/CQCL/hugr/pull/939)) - Ignore serialisation tests when using miri ([#975](https://github.com/CQCL/hugr/pull/975)) - [**breaking**] Test roundtrip serialisation against strict + lax schema ([#982](https://github.com/CQCL/hugr/pull/982)) - Fix some bad assert_matches ([#1006](https://github.com/CQCL/hugr/pull/1006)) - Expand test of instantiating extension sets ([#1003](https://github.com/CQCL/hugr/pull/1003)) - Fix unconnected ports in extension test ([#1010](https://github.com/CQCL/hugr/pull/1010))

--- This PR was generated with [release-plz](https://github.com/MarcoIeni/release-plz/). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Douglas Wilson --- hugr/CHANGELOG.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ hugr/Cargo.toml | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/hugr/CHANGELOG.md b/hugr/CHANGELOG.md index 5b36d458e..031e10a42 100644 --- a/hugr/CHANGELOG.md +++ b/hugr/CHANGELOG.md @@ -1,5 +1,51 @@ # Changelog +## 0.4.0-alpha.1 (2024-05-13) + +### Bug Fixes + +- Serialization round-trips ([#948](https://github.com/CQCL/hugr/pull/948)) +- [**breaking**] Combine `ConstIntU` and `ConstIntS` ([#974](https://github.com/CQCL/hugr/pull/974)) +- Disable serialisation tests when miri is active ([#977](https://github.com/CQCL/hugr/pull/977)) +- [**breaking**] Serialisation schema ([#968](https://github.com/CQCL/hugr/pull/968)) +- Correct constant fold for `fne`. ([#995](https://github.com/CQCL/hugr/pull/995)) +- [**breaking**] Serialisation fixes ([#997](https://github.com/CQCL/hugr/pull/997)) +- [**breaking**] OpDef serialisation ([#1013](https://github.com/CQCL/hugr/pull/1013)) +- NaryLogicOp constant folding ([#1026](https://github.com/CQCL/hugr/pull/1026)) + +### Features + +- 'Replace' rewrite returns node map ([#929](https://github.com/CQCL/hugr/pull/929)) +- `new` methods for leaf ops ([#940](https://github.com/CQCL/hugr/pull/940)) +- Add `string` type and `print` function to `prelude` ([#942](https://github.com/CQCL/hugr/pull/942)) +- `CustomOp::extension` utility function ([#951](https://github.com/CQCL/hugr/pull/951)) +- [**breaking**] Add `non_exhaustive` to various enums ([#952](https://github.com/CQCL/hugr/pull/952)) +- Encoder metadata in serialized hugr ([#955](https://github.com/CQCL/hugr/pull/955)) +- [**breaking**] Bring back Value ([#967](https://github.com/CQCL/hugr/pull/967)) +- Add LoadFunction node ([#947](https://github.com/CQCL/hugr/pull/947)) +- Add From impls for TypeArg ([#1002](https://github.com/CQCL/hugr/pull/1002)) +- Constant-folding of integer and logic operations ([#1009](https://github.com/CQCL/hugr/pull/1009)) +- [**breaking**] Update serialisation schema, implement `CustomConst` serialisation ([#1005](https://github.com/CQCL/hugr/pull/1005)) +- Merge basic blocks algorithm ([#956](https://github.com/CQCL/hugr/pull/956)) +- [**breaking**] Allow panic operation to have any input and output wires ([#1024](https://github.com/CQCL/hugr/pull/1024)) + +### Refactor + +- Outline hugr::serialize::test ([#976](https://github.com/CQCL/hugr/pull/976)) +- [**breaking**] Replace SmolStr identifiers with wrapper types. ([#959](https://github.com/CQCL/hugr/pull/959)) +- Separate extension validation from the rest ([#1011](https://github.com/CQCL/hugr/pull/1011)) +- Remove "trait TypeParametrised" ([#1019](https://github.com/CQCL/hugr/pull/1019)) + +### Testing + +- Add a test of instantiating an extension set ([#939](https://github.com/CQCL/hugr/pull/939)) +- Ignore serialisation tests when using miri ([#975](https://github.com/CQCL/hugr/pull/975)) +- [**breaking**] Test roundtrip serialisation against strict + lax schema ([#982](https://github.com/CQCL/hugr/pull/982)) +- Fix some bad assert_matches ([#1006](https://github.com/CQCL/hugr/pull/1006)) +- Expand test of instantiating extension sets ([#1003](https://github.com/CQCL/hugr/pull/1003)) +- Fix unconnected ports in extension test ([#1010](https://github.com/CQCL/hugr/pull/1010)) + + ## 0.3.1 (2024-04-23) ### Features diff --git a/hugr/Cargo.toml b/hugr/Cargo.toml index 506c78e63..3687022bd 100644 --- a/hugr/Cargo.toml +++ b/hugr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hugr" -version = "0.3.1" +version = "0.4.0-alpha.1" edition = { workspace = true } rust-version = { workspace = true }