Skip to content

hugr: v0.21.0

Compare
Choose a tag to compare
@aborgna-q aborgna-q released this 10 Jul 10:34
· 34 commits to main since this release
1a79d99

This release includes a long list of changes:

  • The HUGR model serialization format is now stable, and should be preferred over the old JSON format.
  • Type parameters and type arguments are now unified into a single Term type.
  • Function definitions can no longer be nested inside dataflow regions. Now they must be defined at the top level module.
  • Function definitions and declarations now have a Visibility field, which define whether they are visible in the public API of the module.
  • And many more fixes and improvements.

Bug Fixes

  • DeadFuncElimPass+CallGraph w/ non-module-child entrypoint (#2390)
  • Fixed two bugs in import/export of function operations (#2324)
  • Model import should perform extension resolution (#2326)
  • [breaking] Fixed bugs in model CFG handling and improved CFG signatures (#2334)
  • Use List instead of Tuple in conversions for TypeArg/TypeRow (#2378)
  • Do extension resolution on loaded extensions from the model format (#2389)
  • Make JSON Schema checks actually work again (#2412)
  • Order hints on input and output nodes. (#2422)

Documentation

  • Hide hugr-persistent docs (#2357)

New Features

  • [breaking] Split TypeArg::Sequence into tuples and lists. (#2140)
  • [breaking] Added float and bytes literal to core and python bindings. (#2289)
  • [breaking] More helpful error messages in model import (#2272)
  • [breaking] Better error reporting in hugr-cli. (#2318)
  • [breaking] Merge TypeParam and TypeArg into one Term type in Rust (#2309)
  • (persistent) Add serialisation for CommitStateSpace (#2344)
  • add TryFrom impls for TypeArg/TypeRow (#2366)
  • Add MakeError op (#2377)
  • Open lists and tuples in Term (#2360)
  • Call FunctionBuilder::add_{in,out}put for any AsMut (#2376)
  • Add Root checked methods to DataflowParentID (#2382)
  • Add PersistentWire type (#2361)
  • Add BorrowArray extension (#2395)
  • [breaking] Add Visibility to FuncDefn/FuncDecl. (#2143)
  • (per) [breaking] Support empty wires in commits (#2349)
  • [breaking] hugr-model use explicit Option, with ::Unspecified in capnp (#2424)
  • [breaking] No nested FuncDefns (or AliasDefns) (#2256)
  • [breaking] Rename 'Any' type bound to 'Linear' (#2421)

Refactor

  • [breaking] remove deprecated runtime extension errors (#2369)
  • [breaking] Reduce error type sizes (#2420)
  • [breaking] move PersistentHugr into separate crate (#2277)

Testing

  • Check hugr json serializations against the schema (again) (#2216)