Skip to content

v0.55.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 13:41
· 247 commits to main since this release

dag gains the two operations its one consumer was hand-rolling beside it,
and the one-function registry package folds into uniq.

Added

  • dag.TopoSort and dag.TopoSortFunc: Kahn topological sort with a
    deterministic tie-break, so the order depends on the input alone. On a
    cycle the result holds the nodes that could still be ordered and the
    error is dag.ErrCycle.
  • dag.LongestPath: the number of nodes on the longest path from a start
    node, memoised, for critical-path scoring.
  • uniq.Merge: base followed by extra with every key unique, or an error
    wrapping uniq.ErrDuplicate that names the repeated key.

Removed

  • registry. Replace registry.MergeUnique(kind, builtins, user, slugOf, mark)
    with uniq.Merge(builtins, user, slugOf). Apply mark to a clone of
    builtins before the call and wrap the error with kind at the call site.