Skip to content

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 03:31
· 45 commits to main since this release
f92c234

AutomataStudio 3.0 adds the automata command line: the app's engine in a terminal, shipped inside the desktop app.

The command line

  • Run and test machines: run, test, trace, lint, equiv, diff, convert, minimize, determinize, and an expression language over automata (eval).
  • Formats: HOA, BA, Timbuk, JFLAP, SMTF machine codes, SVG, DOT, TikZ, and code generation for several languages.
  • Turing machines:
    • halts decides halting with proofs: cyclers, translated cyclers, backward reasoning, n-gram CPS, inductive rules for bouncers, and the busy beaver bound.
    • check-proof re-checks proof files independently.
    • bb-search enumerates machines in parallel.
  • Exploring and learning: words, profile, fuzz against an oracle program, grade, generate, learn (RPNI and L*), and play, an animated run in the terminal.
  • AI agents: an MCP server (automata mcp) exposes the engine as tools.
  • Terminal UI: a coloured interface in the app's palette. Every command has full help with examples, and there are help topics.
  • Installation: the Windows installer and the .deb package put automata on your PATH. On macOS, use AutomataStudio → Install 'automata' Command in PATH. See docs/cli.md.

Also in this release

  • SMTF: a standard text format for every machine type.
  • Machine library:
    • Entries are identified by their machine and listed once.
    • "Recently added" and "Recently updated" views, and sorting in either direction.
    • The website is restyled as the app's catalogue.
    • The library is rebuilt automatically when the engine changes.
  • Themes: every theme is rebuilt against the app's colour rules.
  • Canvas: a background that responds to the run, and the view re-fits when a panel opens or folds.
  • Settings: the dialog is organised by feature, and its phone layout is fixed.
  • Fixes:
    • The space-time diagram follows the playhead without lag or jitter.
    • A block can be entered through a nested block.
    • The library's status line no longer has a gap above it on mobile.