Skip to content

0.0.25

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Jul 20:58
Immutable release. Only release title and notes can be modified.
b712ef0

Summary

This version adds Sequence as the ordered relation layer on top of Expression, which is what makes route matching work for keyed relations like page -> tags.

With Sequence, those relations can now be represented and matched as ordered paths of ids or expressions instead of as a flat one-shot lookup. That matters because routes are not just "does this id match?” anymore. They are "does this relation appear in this order, with these constraints, and possibly with gaps or intermediate steps?”

So the model is:

  • Id is one concrete node in the relation
  • Selector is a pattern over one node
  • Expression is a logical combination of selectors
  • Sequence is an ordered combination of expressions
  • Filter compiles that relation matching into something fast

In practice, that means if the scheduler or routing layer sees a relation like page -> tags, it can now match a route against that relation shape. A route can say "I care about pages that have tags”, or "I care about tags that refer back to pages”, and the ordered sequence gives the compiler enough structure to evaluate that efficiently.

That is the bigger idea: routes are no longer just attached to isolated ids, they can be attached to relation paths. Sequence is the piece that makes those paths first-class.

Changelog

Breaking changes

  • 0ac1ccd zrx-id – move filter into expression
  • 9c8096c zrx-graph – rename Topology::is_reachable into Topology::has_path
  • c3fac2e zrx-graph, zrx-scheduler – make transitive closure computation explicit

Features

  • 4291252 zrx-id – add Sequence and Filter for ordered Expression matching
  • bde8532 zrx-id – add non-consuming Iter impl for Matches
  • c4069b0 zrx-id – add TryToSelector impl for &Id and &Selector
  • bb610f8 zrx-id – add TryToId impl for &Id
  • 6c746dc zrx-id – add Value impl for Selector
  • 9a6dcae zrx-id – add Value impl for Expression

Refactorings

  • 2016ccb zrx-id – canonicalize order of ToSpecificity impls
  • 821be8f zrx-graph – use Arc in Topology to make it Send + Sync