Skip to content

v0.4.0

Choose a tag to compare

@grega grega released this 10 Jun 11:45
· 21 commits to main since this release
2fb1c45
  • feat: copydeck export script now includes links to demo/code, ID and "reviewed?" fields

  • feat: make the library Pyodide-first (for now)
    Refocus the demo and copydeck on what real Pyodide (pinned 0.26.2 /
    CPython 3.12) actually produces.

    Demo:

    • Run real Pyodide live in the browser instead of replaying hand-authored
      traces: each snippet is executed and its actual traceback is explained
    • Pin the Pyodide version in one place (docs/pyodide-config.js) and show
      it in the demo header
    • Add npm run regen:traces (scripts/regenerate-demo-traces.mjs) to cache
      real traces into docs/demo-examples.js, so the coverage test asserts
      against genuine Pyodide output

    Copydeck:

    • Match "assignment used instead of comparison" on the code pattern rather
      than a CPython message string, so it survives wording changes between
      versions
    • Drop the "incomplete input" SyntaxError variant: real Pyodide never emits
      that message (it's REPL / pre-3.10 only), so it isn't reachable here

    Behaviour:

    • friendlyExplain now returns null when there is no friendly mapping (or the
      error can't be parsed) instead of a generic "Python error" fallback, so
      callers fall back to the raw Python/Pyodide error. Removes the "Other"
      copydeck entry and the fallback UI strings.

    BREAKING CHANGE: friendlyExplain returns ExplainResult | null; callers must
    handle null rather than always receiving a result.

  • feat: add release script (for managing npm publishing and GH releases)

Full Changelog: v0.3.0...v0.4.0