Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release v0.1.0 #766

Merged
merged 2 commits into from
Jan 15, 2024
Merged

chore: release v0.1.0 #766

merged 2 commits into from
Jan 15, 2024

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jan 3, 2024

🤖 New release

  • quantinuum-hugr: 0.1.0
Changelog

0.1.0 (2024-01-15)

Bug Fixes

  • Subgraph boundaries with copies (#440)
  • [breaking] Use internal tag for SumType enum serialisation (#462)
  • Check kind before unwrap in insert_identity (#475)
  • Allow for variables to get solved in inference (#478)
  • In IdentityInsertion add noop to correct parent (#477)
  • Failing release tests (#485)
  • [breaking] Serialise Value, PrimValue, and TypeArg with internal tags (#496)
  • Serialise custom constants with internal tag (#502)
  • [breaking] Reduce max int width in arithmetic extension to 64 (#504)
  • HugrView::get_function_type (#507)
  • TODO in resolve_extension_ops: copy across input_extensions (#510)
  • Use given input extensions in define_function (#524)
  • Lessen requirements for hugrs in outline_cfg (#528)
  • Make unification logic less strict (#538)
  • Simple replace incorrectly copying metadata (#545)
  • Account for self-referencial constraints (#551)
  • Consider shunted metas when comparing equality (#555)
  • Join labels in issue workflow (#563)
  • Comment out broken priority code (#562)
  • Handling of issues with no priority label (#573)
  • Don't insert temporary wires when extracting a subgraph (#582)
  • Improve convexity checking and fix test (#585)
  • Ignore input->output links in SiblingSubgraph::try_new_dataflow_subgraph (#589)
  • Enforce covariance of SiblingMut::RootHandle (#594)
  • Erratic stack overflow in infer.rs (live_var) (#638)
  • Work harder in variable instantiation (#591)
  • Actually add the error type to prelude (#672)
  • Serialise dynamically computed opaqueOp signatures (#690)
  • FuncDefns don't require that their extensions match their children (#688)
  • Binary compute_signature returning a PolyFuncType with binders (#710)
  • Use correct number of args for int ops (#723)
  • [breaking] Add serde tag to TypeParam enum (#722)
  • Allow widening and narrowing to same width. (#735)
  • Case node should not have an external signature (#749)
  • [breaking] Normalize input/output value/static/other ports in OpType (#783)
  • No dataflow_signature for block types (#792)
  • Ignore unsupported test in miri (#794)
  • Include schema rather than read file (#807)

Documentation

  • Add operation constraint to quantum extension (#543)
  • Coverage check section in DEVELOPMENT.md (#648)
  • Remove "quantum extension" from HUGR spec. (#694)
  • Improve crate-level docs, including example code. (#698)
  • Spec cleanups and clarifications (#742)
  • Spec clarifications (#738)
  • Spec updates (#741)
  • [spec] Remove references to causal cone and Order edges from Input (#762)
  • Mention experimental inference in readme (#800)
  • Collection of spec updates for 0.1 (#801)
  • Add schema v0 (#805)
  • Update spec wrt. polymorphism (#791)

Features

  • Derive things for builder structs (#229)
  • Return a slice of types from the signature (#238)
  • Move dot_string to HugrView (#271)
  • [breaking] Change TypeParam::USize to TypeParam::BoundedNat and use in int extensions (#445)
  • TKET2 compatibility requirements (#450)
  • Split methods between HugrMut and HugrMutInternals (#441)
  • Add HugrView::node_connections to get all links between nodes (#460)
  • Location information in extension inference error (#464)
  • Add T, Tdg, X gates (#466)
  • [breaking] Add ApplyResult associated type to Rewrite (#472)
  • Implement rewrite IdentityInsertion (#474)
  • Instantiate inferred extensions (#461)
  • Default DFG builders to open extension sets (#473)
  • Some helper methods (#482)
  • Extension inference for conditional nodes (#465)
  • Add ConvexChecker (#487)
  • Add clippy lint for mut calls in a debug_assert (#488)
  • Default more builder methods to open extension sets (#492)
  • Port is serializable (#489)
  • More general portgraph references (#494)
  • Add extension deltas to CFG ops (#503)
  • Implement petgraph traits on Hugr (#498)
  • Make extension delta a parameter of CFG builders (#514)
  • [breaking] SiblingSubgraph does not borrow Hugr (#515)
  • Validate TypeArgs to ExtensionOp (#509)
  • Derive Debug & Clone for ExtensionRegistry. (#530)
  • Const nodes are built with some extension requirements (#527)
  • Some python errors and bindings (#533)
  • Insert_hugr/insert_view return node map (#535)
  • Add SiblingSubgraph::try_from_nodes_with_checker (#547)
  • PortIndex trait for undirected port parameters (#553)
  • Insert/extract subgraphs from a HugrView (#552)
  • Add new_array operation to prelude (#544)
  • Add a DataflowParentID node handle (#559)
  • Make TypeEnum and it's contents public (#558)
  • Optional direction check when querying a port index (#566)
  • Extension inference for CFGs (#529)
  • Better subgraph verification errors (#587)
  • Compute affected nodes for SimpleReplacement (#600)
  • Move SimpleReplace::invalidation_set to the Rewrite trait (#602)
  • [breaking] Resolve extension ops (mutating Hugr) in (infer_and_->)update_validate (#603)
  • Add accessors for node index and const values (#605)
  • [breaking] Expose the value of ConstUsize (#621)
  • Nicer debug and display for core types (#628)
  • [breaking] Static checking of Port direction (#614)
  • Builder and HugrMut add_op_xxx default to open extensions (#622)
  • [breaking] Add panicking integer division ops (#625)
  • Add hashable Angle type to Quantum extension (#608)
  • [breaking] Remove "rotations" extension. (#645)
  • Port.as_directed to match on either direction (#647)
  • Impl GraphRef for PetgraphWrapper (#651)
  • Provide+implement Replace API (#613)
  • Require the node's metadata to always be a Map (#661)
  • [breaking] Polymorphic function types (inc OpDefs) using dyn trait (#630)
  • Make prelude error type public (#669)
  • Shorthand for retrieving custom constants from Const, Value (#679)
  • [breaking] HugrView API improvements (#680)
  • Make FuncDecl/FuncDefn polymorphic (#692)
  • [breaking] Simplify SignatureFunc and add custom arg validation. (#706)
  • [breaking] Drop the pyo3 feature (#717)
  • [breaking] OpEnum trait for common opdef functionality (#721)
  • MakeRegisteredOp trait for easier registration (#726)
  • Getter for PolyFuncType::body (#727)
  • Into<OpType> for custom ops (#731)
  • Always require a signature in OpaqueOp (#732)
  • Values (and hence Consts) know their extensions (#733)
  • [breaking] Use ConvexChecker trait (#740)
  • Custom const for ERROR_TYPE (#756)
  • Implement RemoveConst and RemoveConstIgnore (#757)
  • Constant folding implemented for core and float extension (#769)
  • Constant folding for arithmetic conversion operations (#720)
  • DataflowParent trait for getting inner signatures (#782)
  • Constant folding for logic extension (#793)
  • Constant folding for list operations (#795)
  • Add panic op to prelude (#802)
  • Const::from_bool function (#803)

HugrMut

  • Validate nodes for set_metadata/get_metadata_mut, too (#531)

HugrView

  • Validate nodes, and remove Base (#523)

Miscellaneous Tasks

  • [breaking] Update portgraph 0.10 and pyo3 0.20 (#612)
  • [breaking] Hike MSRV to 1.75 (#761)

Performance

  • Use lazy static definittion for prelude registry (#481)

Refactor

  • Move rewrite inside hugr, Rewrite -> Replace implementing new 'Rewrite' trait (#119)
  • Use an excluded upper bound instead of max log width. (#451)
  • Add extension info to Conditional and Case (#463)
  • ExtensionSolution only consists of input extensions (#480)
  • Remove builder from more DFG tests (#490)
  • Separate hierarchy views (#500)
  • [breaking] Use named struct for float constants (#505)
  • Allow NodeType::new to take any Into<Option> (#511)
  • Move apply_rewrite from Hugr to HugrMut (#519)
  • Use SiblingSubgraph in SimpleReplacement (#517)
  • CFG takes a FunctionType (#532)
  • Remove check_custom_impl by inlining into check_custom (#604)
  • Insert_subgraph just return HashMap, make InsertionResult new_root compulsory (#609)
  • [breaking] Rename predicate to TupleSum/UnitSum (#557)
  • Simplify infer.rs/report_mismatch using early return (#615)
  • Move the core types to their own module (#627)
  • Change &NodeType->&OpType conversion into op() accessor (#623)
  • Infer.rs 'fn results' (#631)
  • Be safe (#637)
  • NodeType constructors, adding new_auto (#635)
  • Constraint::Plus stores an ExtensionSet, which is a BTreeSet (#636)
  • [breaking] Remove SignatureDescription (#644)
  • [breaking] Remove add_op_ by generalizing add_node_ with "impl Into" (#642)
  • Rename accidentally-changed Extension::add_node_xxx back to add_op (#659)
  • [breaking] Remove quantum extension (#670)
  • Use type schemes in extension definitions wherever possible (#678)
  • [breaking] Flatten Prim(Type/Value) in to parent enum (#685)
  • [breaking] Rename new_linear() to new_endo(). (#697)
  • Replace NodeType::signature() with io_extensions() (#700)
  • Validate ExtensionRegistry when built, not as we build it (#701)
  • [breaking] One way to add_op to extension (#704)
  • Remove Signature struct (#714)
  • Use MakeOpDef for int_ops (#724)
  • [breaking] Use enum op traits for floats + conversions (#755)
  • Avoid dynamic dispatch for non-folding operations (#770)
  • Simplify removeconstignore verify (#768)
  • [breaking] Unwrap BasicBlock enum (#781)
  • Make clear const folding only for leaf ops (#785)
  • [breaking] s/RemoveConstIgnore/RemoveLoadConstant (#789)
  • Put extension inference behind a feature gate (#786)

SerSimpleType

  • Use Vec not TypeRow (#381)

SimpleReplace+OutlineCfg

  • Use HugrMut methods rather than .hierarchy/.graph (#280)

Testing

  • Update inference test to not use DFG builder (#550)
  • Strengthen "failing_sccs_test", rename to "sccs" as it's not failing! (#660)
  • [breaking] Improve coverage in signature and validate (#643)
  • Use insta snapshots to add dot_string coverage (#682)
  • Miri ignore file-opening test (#684)
  • Unify the serialisation tests (#730)
  • Add schema validation to roundtrips (#806)

`ConstValue

  • :F64andOpaqueOp::new` (#206)

Cleanup

  • Remove outdated comment (#536)

Cosmetic

  • Format + remove stray TODO (#444)

Doc

  • Crate name as README title + add reexport (#199)

S/EdgeKind

  • :Const/EdgeKind::Static/ (#201)

Simple_replace.rs

  • Use HugrMut::remove_node, includes clearing op_types (#242)

Spec

  • Remove "Draft 3" from title of spec document. (#590)
  • Rephrase confusing paragraph about TailLoop inputs/outputs (#567)

Src/ops/validate.rs

  • Common-up some type row calculations (#254)


This PR was generated with release-plz.

@github-actions github-actions bot force-pushed the release-plz-2024-01-03T11-15-07Z branch 4 times, most recently from 754ccba to 3a19956 Compare January 3, 2024 14:26
@aborgna-q
Copy link
Collaborator

aborgna-q commented Jan 3, 2024

I will edit this Changelog with a package description instead before the release, but that should wait until no more changes get introduced.

@github-actions github-actions bot force-pushed the release-plz-2024-01-03T11-15-07Z branch from 3a19956 to c6ce173 Compare January 3, 2024 15:15
@ss2165 ss2165 added this to the v0.1.0 milestone Jan 4, 2024
@github-actions github-actions bot force-pushed the release-plz-2024-01-03T11-15-07Z branch 13 times, most recently from 24fc496 to 21f30d4 Compare January 9, 2024 17:23
@github-actions github-actions bot force-pushed the release-plz-2024-01-03T11-15-07Z branch 3 times, most recently from 773c0b4 to 4d26b14 Compare January 15, 2024 13:34
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot force-pushed the release-plz-2024-01-03T11-15-07Z branch from 4d26b14 to 13a5b29 Compare January 15, 2024 15:03
@aborgna-q
Copy link
Collaborator

I replaced the list of changes with a short summary of what we did in the 537 commits previous to the release.
It mostly points to the spec/docs.

Hopefully I didn't forget anything mayor.

@aborgna-q aborgna-q requested a review from ss2165 January 15, 2024 15:58
@ss2165 ss2165 enabled auto-merge January 15, 2024 16:23
@ss2165 ss2165 added this pull request to the merge queue Jan 15, 2024
Merged via the queue into main with commit 9e71c89 Jan 15, 2024
8 checks passed
@ss2165 ss2165 deleted the release-plz-2024-01-03T11-15-07Z branch January 15, 2024 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants