|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## [0.3.0](https://github.com/CQCL/hugr/compare/hugr-py-v0.2.1...hugr-py-v0.3.0) (2024-07-01) |
| 4 | + |
| 5 | + |
| 6 | +### ⚠ BREAKING CHANGES |
| 7 | + |
| 8 | +* * `add_child_op`(`_with_parent`), etc., gone; use `add_child_node`(`_with_parent`) with an (impl Into-)OpType. |
| 9 | + * `get_nodetype` gone - use `get_optype`. |
| 10 | + * `NodeType` gone - use `OpType` directly. |
| 11 | + * Various (Into<)Option<ExtensionSet> params removed from builder |
| 12 | + methods especially {cfg_,dfg_}builder. |
| 13 | + * `input_extensions` removed from serialization schema. |
| 14 | +* the Signature class is gone, but it's not clear how or why you might have been using it... |
| 15 | +* TailLoop node and associated builder functions now require specifying an ExtensionSet; extension/validate.rs deleted; some changes to Hugrs validated/rejected when the `extension_inference` feature flag is turned on |
| 16 | +* Type::validate takes extra bool (allow_rowvars); renamed {FunctionType, PolyFuncType}::(validate=>validate_var_len). |
| 17 | + |
| 18 | +### Features |
| 19 | + |
| 20 | +* Allow "Row Variables" declared as List<Type> ([#804](https://github.com/CQCL/hugr/issues/804)) ([3ea4834](https://github.com/CQCL/hugr/commit/3ea4834dd00466e3c106917c1e09c0c5b74c5826)) |
| 21 | +* **hugr-py:** add builders for Conditional and TailLoop ([#1210](https://github.com/CQCL/hugr/issues/1210)) ([43569a4](https://github.com/CQCL/hugr/commit/43569a45575a005dd69808bb8d534b3ed55b2039)) |
| 22 | +* **hugr-py:** add CallIndirect, LoadFunction, Lift, Alias ([#1218](https://github.com/CQCL/hugr/issues/1218)) ([db09193](https://github.com/CQCL/hugr/commit/db0919312eb387cfef57f8a71bb2529c267445d1)), closes [#1213](https://github.com/CQCL/hugr/issues/1213) |
| 23 | +* **hugr-py:** add values and constants ([#1203](https://github.com/CQCL/hugr/issues/1203)) ([f7ea178](https://github.com/CQCL/hugr/commit/f7ea17849dce860a84292ef5270a3ce2a65be870)), closes [#1202](https://github.com/CQCL/hugr/issues/1202) |
| 24 | +* **hugr-py:** automatically add state order edges for inter-graph edges ([#1165](https://github.com/CQCL/hugr/issues/1165)) ([5da06e1](https://github.com/CQCL/hugr/commit/5da06e10581cbfed583bd466b27706241341ff14)) |
| 25 | +* **hugr-py:** builder for function definition/declaration and call ([#1212](https://github.com/CQCL/hugr/issues/1212)) ([af062ea](https://github.com/CQCL/hugr/commit/af062ea5a64636072bc3168b2301cbf12c96c8d5)) |
| 26 | +* **hugr-py:** builder ops separate from serialised ops ([#1140](https://github.com/CQCL/hugr/issues/1140)) ([342eda3](https://github.com/CQCL/hugr/commit/342eda34c1f3b4ea4423268e935af44af07c976f)) |
| 27 | +* **hugr-py:** CFG builder ([#1192](https://github.com/CQCL/hugr/issues/1192)) ([c5ea47f](https://github.com/CQCL/hugr/commit/c5ea47fd77cfbdda5f32d651618ed69b97740e2e)), closes [#1188](https://github.com/CQCL/hugr/issues/1188) |
| 28 | +* **hugr-py:** define type hierarchy separate from serialized ([#1176](https://github.com/CQCL/hugr/issues/1176)) ([10f4c42](https://github.com/CQCL/hugr/commit/10f4c42cfe051381e50e6387af603253e941215b)) |
| 29 | +* **hugr-py:** only require input type annotations when building ([#1199](https://github.com/CQCL/hugr/issues/1199)) ([2bb079f](https://github.com/CQCL/hugr/commit/2bb079fd80fbec7a4f6fe4a5baeed3cf064d85a9)) |
| 30 | +* **hugr-py:** python hugr builder ([#1098](https://github.com/CQCL/hugr/issues/1098)) ([23408b5](https://github.com/CQCL/hugr/commit/23408b5bbb9666002a58bf88a2a33cca0a484b30)) |
| 31 | +* **hugr-py:** store children in node weight ([#1160](https://github.com/CQCL/hugr/issues/1160)) ([1cdaeed](https://github.com/CQCL/hugr/commit/1cdaeedde805fe3a9fd7c466ab9f2b34ac2d75c7)), closes [#1159](https://github.com/CQCL/hugr/issues/1159) |
| 32 | +* **hugr-py:** ToNode interface to treat builders as nodes ([#1193](https://github.com/CQCL/hugr/issues/1193)) ([1da33e6](https://github.com/CQCL/hugr/commit/1da33e654df4a122c0af57e1c6db0ada7ca066df)) |
| 33 | +* Validate Extensions using hierarchy, ignore input_extensions, RIP inference ([#1142](https://github.com/CQCL/hugr/issues/1142)) ([8bec8e9](https://github.com/CQCL/hugr/commit/8bec8e93bcaa8917b00098837269da60e3312d6c)) |
| 34 | + |
| 35 | + |
| 36 | +### Bug Fixes |
| 37 | + |
| 38 | +* Add some validation for const nodes ([#1222](https://github.com/CQCL/hugr/issues/1222)) ([c05edd3](https://github.com/CQCL/hugr/commit/c05edd3cbcb644556bb3b2b23b6d27a211fe7e4f)) |
| 39 | +* **hugr-py:** more ruff lints + fix some typos ([#1246](https://github.com/CQCL/hugr/issues/1246)) ([f158384](https://github.com/CQCL/hugr/commit/f158384c88787d1e436b634657dcfc12d531d68e)) |
| 40 | +* **py:** get rid of pydantic config deprecation warnings ([#1084](https://github.com/CQCL/hugr/issues/1084)) ([52fcb9d](https://github.com/CQCL/hugr/commit/52fcb9dc88e95e9660fc291181a37dc9d1802a3d)) |
| 41 | + |
| 42 | + |
| 43 | +### Code Refactoring |
| 44 | + |
| 45 | +* Remove "Signature" from hugr-py ([#1186](https://github.com/CQCL/hugr/issues/1186)) ([65718f7](https://github.com/CQCL/hugr/commit/65718f7dbe70397eab7ab856965566f11b9322a5)) |
| 46 | +* Remove NodeType and input_extensions ([#1183](https://github.com/CQCL/hugr/issues/1183)) ([ea5213d](https://github.com/CQCL/hugr/commit/ea5213d4b3a42a86c637d709c48cad007eae1f9e)) |
| 47 | + |
3 | 48 | ## [0.2.1](https://github.com/CQCL/hugr/compare/hugr-py-v0.2.0...hugr-py-v0.2.1) (2024-05-20)
|
4 | 49 |
|
5 | 50 | ### ⚠ BREAKING CHANGES
|
|
0 commit comments