Skip to content

Commit 754ccba

Browse files
chore: release
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent b019fa3 commit 754ccba

File tree

1 file changed

+230
-0
lines changed

1 file changed

+230
-0
lines changed

CHANGELOG.md

+230
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
1+
# Changelog
2+
3+
## 0.1.0 (2024-01-03)
4+
5+
### Bug Fixes
6+
7+
- Subgraph boundaries with copies ([#440](https://github.com/CQCL/hugr/pull/440))
8+
- [**breaking**] Use internal tag for SumType enum serialisation ([#462](https://github.com/CQCL/hugr/pull/462))
9+
- Check kind before unwrap in insert_identity ([#475](https://github.com/CQCL/hugr/pull/475))
10+
- Allow for variables to get solved in inference ([#478](https://github.com/CQCL/hugr/pull/478))
11+
- In IdentityInsertion add noop to correct parent ([#477](https://github.com/CQCL/hugr/pull/477))
12+
- Failing release tests ([#485](https://github.com/CQCL/hugr/pull/485))
13+
- [**breaking**] Serialise `Value`, `PrimValue`, and `TypeArg` with internal tags ([#496](https://github.com/CQCL/hugr/pull/496))
14+
- Serialise custom constants with internal tag ([#502](https://github.com/CQCL/hugr/pull/502))
15+
- [**breaking**] Reduce max int width in arithmetic extension to 64 ([#504](https://github.com/CQCL/hugr/pull/504))
16+
- HugrView::get_function_type ([#507](https://github.com/CQCL/hugr/pull/507))
17+
- TODO in resolve_extension_ops: copy across input_extensions ([#510](https://github.com/CQCL/hugr/pull/510))
18+
- Use given input extensions in `define_function` ([#524](https://github.com/CQCL/hugr/pull/524))
19+
- Lessen requirements for hugrs in outline_cfg ([#528](https://github.com/CQCL/hugr/pull/528))
20+
- Make unification logic less strict ([#538](https://github.com/CQCL/hugr/pull/538))
21+
- Simple replace incorrectly copying metadata ([#545](https://github.com/CQCL/hugr/pull/545))
22+
- Account for self-referencial constraints ([#551](https://github.com/CQCL/hugr/pull/551))
23+
- Consider shunted metas when comparing equality ([#555](https://github.com/CQCL/hugr/pull/555))
24+
- Join labels in issue workflow ([#563](https://github.com/CQCL/hugr/pull/563))
25+
- Comment out broken priority code ([#562](https://github.com/CQCL/hugr/pull/562))
26+
- Handling of issues with no priority label ([#573](https://github.com/CQCL/hugr/pull/573))
27+
- Don't insert temporary wires when extracting a subgraph ([#582](https://github.com/CQCL/hugr/pull/582))
28+
- Improve convexity checking and fix test ([#585](https://github.com/CQCL/hugr/pull/585))
29+
- Ignore input->output links in SiblingSubgraph::try_new_dataflow_subgraph ([#589](https://github.com/CQCL/hugr/pull/589))
30+
- Enforce covariance of SiblingMut::RootHandle ([#594](https://github.com/CQCL/hugr/pull/594))
31+
- Erratic stack overflow in infer.rs (live_var) ([#638](https://github.com/CQCL/hugr/pull/638))
32+
- Work harder in variable instantiation ([#591](https://github.com/CQCL/hugr/pull/591))
33+
- Actually add the error type to prelude ([#672](https://github.com/CQCL/hugr/pull/672))
34+
- Serialise dynamically computed opaqueOp signatures ([#690](https://github.com/CQCL/hugr/pull/690))
35+
- FuncDefns don't require that their extensions match their children ([#688](https://github.com/CQCL/hugr/pull/688))
36+
- Binary compute_signature returning a PolyFuncType with binders ([#710](https://github.com/CQCL/hugr/pull/710))
37+
- Use correct number of args for int ops ([#723](https://github.com/CQCL/hugr/pull/723))
38+
- [**breaking**] Add serde tag to TypeParam enum ([#722](https://github.com/CQCL/hugr/pull/722))
39+
- Allow widening and narrowing to same width. ([#735](https://github.com/CQCL/hugr/pull/735))
40+
- Case node should not have an external signature ([#749](https://github.com/CQCL/hugr/pull/749))
41+
42+
### Documentation
43+
44+
- Add operation constraint to quantum extension ([#543](https://github.com/CQCL/hugr/pull/543))
45+
- Coverage check section in DEVELOPMENT.md ([#648](https://github.com/CQCL/hugr/pull/648))
46+
- Remove "quantum extension" from HUGR spec. ([#694](https://github.com/CQCL/hugr/pull/694))
47+
- Improve crate-level docs, including example code. ([#698](https://github.com/CQCL/hugr/pull/698))
48+
- Spec cleanups and clarifications ([#742](https://github.com/CQCL/hugr/pull/742))
49+
- Spec clarifications ([#738](https://github.com/CQCL/hugr/pull/738))
50+
- Spec updates ([#741](https://github.com/CQCL/hugr/pull/741))
51+
- [spec] Remove references to causal cone and Order edges from Input ([#762](https://github.com/CQCL/hugr/pull/762))
52+
53+
### Features
54+
55+
- Derive things for builder structs ([#229](https://github.com/CQCL/hugr/pull/229))
56+
- Return a slice of types from the signature ([#238](https://github.com/CQCL/hugr/pull/238))
57+
- Move `dot_string` to `HugrView` ([#271](https://github.com/CQCL/hugr/pull/271))
58+
- [**breaking**] Change `TypeParam::USize` to `TypeParam::BoundedNat` and use in int extensions ([#445](https://github.com/CQCL/hugr/pull/445))
59+
- TKET2 compatibility requirements ([#450](https://github.com/CQCL/hugr/pull/450))
60+
- Split methods between `HugrMut` and `HugrMutInternals` ([#441](https://github.com/CQCL/hugr/pull/441))
61+
- Add `HugrView::node_connections` to get all links between nodes ([#460](https://github.com/CQCL/hugr/pull/460))
62+
- Location information in extension inference error ([#464](https://github.com/CQCL/hugr/pull/464))
63+
- Add T, Tdg, X gates ([#466](https://github.com/CQCL/hugr/pull/466))
64+
- [**breaking**] Add `ApplyResult` associated type to `Rewrite` ([#472](https://github.com/CQCL/hugr/pull/472))
65+
- Implement rewrite `IdentityInsertion` ([#474](https://github.com/CQCL/hugr/pull/474))
66+
- Instantiate inferred extensions ([#461](https://github.com/CQCL/hugr/pull/461))
67+
- Default DFG builders to open extension sets ([#473](https://github.com/CQCL/hugr/pull/473))
68+
- Some helper methods ([#482](https://github.com/CQCL/hugr/pull/482))
69+
- Extension inference for conditional nodes ([#465](https://github.com/CQCL/hugr/pull/465))
70+
- Add ConvexChecker ([#487](https://github.com/CQCL/hugr/pull/487))
71+
- Add clippy lint for mut calls in a debug_assert ([#488](https://github.com/CQCL/hugr/pull/488))
72+
- Default more builder methods to open extension sets ([#492](https://github.com/CQCL/hugr/pull/492))
73+
- Port is serializable ([#489](https://github.com/CQCL/hugr/pull/489))
74+
- More general portgraph references ([#494](https://github.com/CQCL/hugr/pull/494))
75+
- Add extension deltas to CFG ops ([#503](https://github.com/CQCL/hugr/pull/503))
76+
- Implement petgraph traits on Hugr ([#498](https://github.com/CQCL/hugr/pull/498))
77+
- Make extension delta a parameter of CFG builders ([#514](https://github.com/CQCL/hugr/pull/514))
78+
- [**breaking**] SiblingSubgraph does not borrow Hugr ([#515](https://github.com/CQCL/hugr/pull/515))
79+
- Validate TypeArgs to ExtensionOp ([#509](https://github.com/CQCL/hugr/pull/509))
80+
- Derive Debug & Clone for `ExtensionRegistry`. ([#530](https://github.com/CQCL/hugr/pull/530))
81+
- Const nodes are built with some extension requirements ([#527](https://github.com/CQCL/hugr/pull/527))
82+
- Some python errors and bindings ([#533](https://github.com/CQCL/hugr/pull/533))
83+
- Insert_hugr/insert_view return node map ([#535](https://github.com/CQCL/hugr/pull/535))
84+
- Add `SiblingSubgraph::try_from_nodes_with_checker` ([#547](https://github.com/CQCL/hugr/pull/547))
85+
- PortIndex trait for undirected port parameters ([#553](https://github.com/CQCL/hugr/pull/553))
86+
- Insert/extract subgraphs from a HugrView ([#552](https://github.com/CQCL/hugr/pull/552))
87+
- Add `new_array` operation to prelude ([#544](https://github.com/CQCL/hugr/pull/544))
88+
- Add a `DataflowParentID` node handle ([#559](https://github.com/CQCL/hugr/pull/559))
89+
- Make TypeEnum and it's contents public ([#558](https://github.com/CQCL/hugr/pull/558))
90+
- Optional direction check when querying a port index ([#566](https://github.com/CQCL/hugr/pull/566))
91+
- Extension inference for CFGs ([#529](https://github.com/CQCL/hugr/pull/529))
92+
- Better subgraph verification errors ([#587](https://github.com/CQCL/hugr/pull/587))
93+
- Compute affected nodes for `SimpleReplacement` ([#600](https://github.com/CQCL/hugr/pull/600))
94+
- Move `SimpleReplace::invalidation_set` to the `Rewrite` trait ([#602](https://github.com/CQCL/hugr/pull/602))
95+
- [**breaking**] Resolve extension ops (mutating Hugr) in (infer_and_->)update_validate ([#603](https://github.com/CQCL/hugr/pull/603))
96+
- Add accessors for node index and const values ([#605](https://github.com/CQCL/hugr/pull/605))
97+
- [**breaking**] Expose the value of ConstUsize ([#621](https://github.com/CQCL/hugr/pull/621))
98+
- Nicer debug and display for core types ([#628](https://github.com/CQCL/hugr/pull/628))
99+
- [**breaking**] Static checking of Port direction ([#614](https://github.com/CQCL/hugr/pull/614))
100+
- Builder and HugrMut add_op_xxx default to open extensions ([#622](https://github.com/CQCL/hugr/pull/622))
101+
- [**breaking**] Add panicking integer division ops ([#625](https://github.com/CQCL/hugr/pull/625))
102+
- Add hashable `Angle` type to Quantum extension ([#608](https://github.com/CQCL/hugr/pull/608))
103+
- [**breaking**] Remove "rotations" extension. ([#645](https://github.com/CQCL/hugr/pull/645))
104+
- Port.as_directed to match on either direction ([#647](https://github.com/CQCL/hugr/pull/647))
105+
- Impl GraphRef for PetgraphWrapper ([#651](https://github.com/CQCL/hugr/pull/651))
106+
- Provide+implement Replace API ([#613](https://github.com/CQCL/hugr/pull/613))
107+
- Require the node's metadata to always be a Map ([#661](https://github.com/CQCL/hugr/pull/661))
108+
- [**breaking**] Polymorphic function types (inc OpDefs) using dyn trait ([#630](https://github.com/CQCL/hugr/pull/630))
109+
- Make prelude error type public ([#669](https://github.com/CQCL/hugr/pull/669))
110+
- Shorthand for retrieving custom constants from `Const`, `Value` ([#679](https://github.com/CQCL/hugr/pull/679))
111+
- [**breaking**] HugrView API improvements ([#680](https://github.com/CQCL/hugr/pull/680))
112+
- Make FuncDecl/FuncDefn polymorphic ([#692](https://github.com/CQCL/hugr/pull/692))
113+
- [**breaking**] Simplify `SignatureFunc` and add custom arg validation. ([#706](https://github.com/CQCL/hugr/pull/706))
114+
- [**breaking**] Drop the `pyo3` feature ([#717](https://github.com/CQCL/hugr/pull/717))
115+
- [**breaking**] `OpEnum` trait for common opdef functionality ([#721](https://github.com/CQCL/hugr/pull/721))
116+
- MakeRegisteredOp trait for easier registration ([#726](https://github.com/CQCL/hugr/pull/726))
117+
- Getter for `PolyFuncType::body` ([#727](https://github.com/CQCL/hugr/pull/727))
118+
- `Into<OpType>` for custom ops ([#731](https://github.com/CQCL/hugr/pull/731))
119+
- Always require a signature in `OpaqueOp` ([#732](https://github.com/CQCL/hugr/pull/732))
120+
- Values (and hence Consts) know their extensions ([#733](https://github.com/CQCL/hugr/pull/733))
121+
- [**breaking**] Use ConvexChecker trait ([#740](https://github.com/CQCL/hugr/pull/740))
122+
- Custom const for ERROR_TYPE ([#756](https://github.com/CQCL/hugr/pull/756))
123+
- Implement RemoveConst and RemoveConstIgnore ([#757](https://github.com/CQCL/hugr/pull/757))
124+
- Constant folding implemented for core and float extension ([#769](https://github.com/CQCL/hugr/pull/769))
125+
126+
### HugrMut
127+
128+
- Validate nodes for set_metadata/get_metadata_mut, too ([#531](https://github.com/CQCL/hugr/pull/531))
129+
130+
### HugrView
131+
132+
- Validate nodes, and remove Base ([#523](https://github.com/CQCL/hugr/pull/523))
133+
134+
### Miscellaneous Tasks
135+
136+
- [**breaking**] Update portgraph 0.10 and pyo3 0.20 ([#612](https://github.com/CQCL/hugr/pull/612))
137+
- [**breaking**] Hike MSRV to 1.75 ([#761](https://github.com/CQCL/hugr/pull/761))
138+
139+
### Performance
140+
141+
- Use lazy static definittion for prelude registry ([#481](https://github.com/CQCL/hugr/pull/481))
142+
143+
### Refactor
144+
145+
- Move `rewrite` inside `hugr`, `Rewrite` -> `Replace` implementing new 'Rewrite' trait ([#119](https://github.com/CQCL/hugr/pull/119))
146+
- Use an excluded upper bound instead of max log width. ([#451](https://github.com/CQCL/hugr/pull/451))
147+
- Add extension info to `Conditional` and `Case` ([#463](https://github.com/CQCL/hugr/pull/463))
148+
- `ExtensionSolution` only consists of input extensions ([#480](https://github.com/CQCL/hugr/pull/480))
149+
- Remove builder from more DFG tests ([#490](https://github.com/CQCL/hugr/pull/490))
150+
- Separate hierarchy views ([#500](https://github.com/CQCL/hugr/pull/500))
151+
- [**breaking**] Use named struct for float constants ([#505](https://github.com/CQCL/hugr/pull/505))
152+
- Allow NodeType::new to take any Into<Option<ExtensionSet>> ([#511](https://github.com/CQCL/hugr/pull/511))
153+
- Move apply_rewrite from Hugr to HugrMut ([#519](https://github.com/CQCL/hugr/pull/519))
154+
- Use SiblingSubgraph in SimpleReplacement ([#517](https://github.com/CQCL/hugr/pull/517))
155+
- CFG takes a FunctionType ([#532](https://github.com/CQCL/hugr/pull/532))
156+
- Remove check_custom_impl by inlining into check_custom ([#604](https://github.com/CQCL/hugr/pull/604))
157+
- Insert_subgraph just return HashMap, make InsertionResult new_root compulsory ([#609](https://github.com/CQCL/hugr/pull/609))
158+
- [**breaking**] Rename predicate to TupleSum/UnitSum ([#557](https://github.com/CQCL/hugr/pull/557))
159+
- Simplify infer.rs/report_mismatch using early return ([#615](https://github.com/CQCL/hugr/pull/615))
160+
- Move the core types to their own module ([#627](https://github.com/CQCL/hugr/pull/627))
161+
- Change &NodeType->&OpType conversion into op() accessor ([#623](https://github.com/CQCL/hugr/pull/623))
162+
- Infer.rs 'fn results' ([#631](https://github.com/CQCL/hugr/pull/631))
163+
- Be safe ([#637](https://github.com/CQCL/hugr/pull/637))
164+
- NodeType constructors, adding new_auto ([#635](https://github.com/CQCL/hugr/pull/635))
165+
- Constraint::Plus stores an ExtensionSet, which is a BTreeSet ([#636](https://github.com/CQCL/hugr/pull/636))
166+
- [**breaking**] Remove `SignatureDescription` ([#644](https://github.com/CQCL/hugr/pull/644))
167+
- [**breaking**] Remove add_op_<posn> by generalizing add_node_<posn> with "impl Into" ([#642](https://github.com/CQCL/hugr/pull/642))
168+
- Rename accidentally-changed Extension::add_node_xxx back to add_op ([#659](https://github.com/CQCL/hugr/pull/659))
169+
- [**breaking**] Remove quantum extension ([#670](https://github.com/CQCL/hugr/pull/670))
170+
- Use type schemes in extension definitions wherever possible ([#678](https://github.com/CQCL/hugr/pull/678))
171+
- [**breaking**] Flatten `Prim(Type/Value)` in to parent enum ([#685](https://github.com/CQCL/hugr/pull/685))
172+
- [**breaking**] Rename `new_linear()` to `new_endo()`. ([#697](https://github.com/CQCL/hugr/pull/697))
173+
- Replace NodeType::signature() with io_extensions() ([#700](https://github.com/CQCL/hugr/pull/700))
174+
- Validate ExtensionRegistry when built, not as we build it ([#701](https://github.com/CQCL/hugr/pull/701))
175+
- [**breaking**] One way to add_op to extension ([#704](https://github.com/CQCL/hugr/pull/704))
176+
- Remove Signature struct ([#714](https://github.com/CQCL/hugr/pull/714))
177+
- Use `MakeOpDef` for int_ops ([#724](https://github.com/CQCL/hugr/pull/724))
178+
- [**breaking**] Use enum op traits for floats + conversions ([#755](https://github.com/CQCL/hugr/pull/755))
179+
- Avoid dynamic dispatch for non-folding operations ([#770](https://github.com/CQCL/hugr/pull/770))
180+
181+
### SerSimpleType
182+
183+
- Use Vec not TypeRow ([#381](https://github.com/CQCL/hugr/pull/381))
184+
185+
### SimpleReplace+OutlineCfg
186+
187+
- Use HugrMut methods rather than .hierarchy/.graph ([#280](https://github.com/CQCL/hugr/pull/280))
188+
189+
### Testing
190+
191+
- Update inference test to not use DFG builder ([#550](https://github.com/CQCL/hugr/pull/550))
192+
- Strengthen "failing_sccs_test", rename to "sccs" as it's not failing! ([#660](https://github.com/CQCL/hugr/pull/660))
193+
- [**breaking**] Improve coverage in signature and validate ([#643](https://github.com/CQCL/hugr/pull/643))
194+
- Use insta snapshots to add dot_string coverage ([#682](https://github.com/CQCL/hugr/pull/682))
195+
- Miri ignore file-opening test ([#684](https://github.com/CQCL/hugr/pull/684))
196+
- Unify the serialisation tests ([#730](https://github.com/CQCL/hugr/pull/730))
197+
198+
### `ConstValue
199+
200+
- :F64` and `OpaqueOp::new` ([#206](https://github.com/CQCL/hugr/pull/206))
201+
202+
### Cleanup
203+
204+
- Remove outdated comment ([#536](https://github.com/CQCL/hugr/pull/536))
205+
206+
### Cosmetic
207+
208+
- Format + remove stray TODO ([#444](https://github.com/CQCL/hugr/pull/444))
209+
210+
### Doc
211+
212+
- Crate name as README title + add reexport ([#199](https://github.com/CQCL/hugr/pull/199))
213+
214+
### S/EdgeKind
215+
216+
- :Const/EdgeKind::Static/ ([#201](https://github.com/CQCL/hugr/pull/201))
217+
218+
### Simple_replace.rs
219+
220+
- Use HugrMut::remove_node, includes clearing op_types ([#242](https://github.com/CQCL/hugr/pull/242))
221+
222+
### Spec
223+
224+
- Remove "Draft 3" from title of spec document. ([#590](https://github.com/CQCL/hugr/pull/590))
225+
- Rephrase confusing paragraph about TailLoop inputs/outputs ([#567](https://github.com/CQCL/hugr/pull/567))
226+
227+
### Src/ops/validate.rs
228+
229+
- Common-up some type row calculations ([#254](https://github.com/CQCL/hugr/pull/254))
230+

0 commit comments

Comments
 (0)