Skip to content

v0.4.0

Latest

Choose a tag to compare

@t41372 t41372 released this 22 Jul 00:25
· 10 commits to main since this release
e044d56

v0.4.0

The run form now tells the truth about defaults — and got a visible door to the file picker.

The form's defaults come from your script, not a cache (#25)

  • Prefilled with the script's real value. [tool.skit] used to record a default at manage time and keep injecting it after you edited the constant in your script — the run silently disagreed with the file it was running. reconcile() now reads each managed parameter's current literal from the source; the run form, skit params, Entry settings and skit show --json all report it, and --resync writes it back into the block.
  • Empty can finally mean empty. A free-text field with a known default arrives prefilled, so clearing it is a deliberate act: it delivers '' through inject, env and flag delivery, and --set NAME= can express it from the CLI. Where empty can only mean "unset" (numbers, checkboxes, choices, secrets, defaultless fields) it still does. show --json gained a per-field delivers_empty so agents can tell the two meanings apart.
  • A way back. Every defaulted field carries a ↺ default chip; Ctrl+O resets the focused one. Last-used values no longer shadow tomorrow's default when they merely equal today's — presets remain the deliberate way to pin a value.
  • default=SOME_CONSTANT resolves. Across argparse, click, typer and Node's parseArgs — but only when the name is bound exactly once in the file and doesn't look like a secret. A secret's literal never leaves the script's own text: not into the form, not into --json, not into preset TOML.

The file picker got its own door (#23)

The picker shipped in 0.3.0 behind ▾ insert → "File or folder…", and nobody found it. Every insertable text field now carries a labelled 📁 browse link right on the field. Keyboard grammar is unchanged: Ctrl+TFile or folder… reaches the same picker.

Fixes

  • The Library screen no longer crashes when a footer refresh races a screen teardown/remount (intermittent, surfaced on Windows/py3.12). (#24)

Also

  • New project description, refreshed demo videos, and the README's language list now matches across English, 繁體中文 and 简体中文.