Skip to content

v0.16.0

Choose a tag to compare

@unixsuperhero unixsuperhero released this 27 Oct 13:05
· 396 commits to main since this release
  • Noun namespaces:
    • Framework nouns are now app.<noun> (app.settings, app.config, …), and their short names stay as aliases.
    • Define extends a framework noun with the same short name; DefineOwn(name) lets an app claim the short name instead.
    • Dotted nouns split on the last dot (SplitKey); a verb can't contain a dot.
    • The CLI takes nested, dotted and alias spellings (bin app settings list, bin app.settings list, bin settings list).
    • Extension hosts namespace extension nouns with cli.Namespace(ext). The catalog publishes aliases.
  • Compatibility: Runtime.Nouns and Runtime.Operations are keyed by canonical names, so look framework nouns up through Noun()/Operation(). Several exported noun constants changed value.
  • State explorer: ochazuke/explore presses keys through any app built headless with fakes, and checks invariants in every state:
    • no panic, focus and modal rules, honest hints, no traps, render fits, jobs settle.
    • Findings come with shrunk key paths, as gap stories or Go tests.
    • Entry points: explore.Run, Survey, Reproduce; o-story explore; make explore.