Skip to content

release: tag + ship updated binary so downstream ports pick up new prelude shims #461

@hyperpolymath

Description

@hyperpolymath

Surfaced by

hyperpolymath/standards#284 — debugging surfaced that the `affinescript` binary at `~/.local/bin/` predated #445 and silently emitted bare `walkRecursive(".")` calls (no `__as_walkRecursive` shim in the prelude). A trunk rebuild surfaced the new shims correctly.

Why this hurts

Downstream port authors (cross-repo TS->AS migration campaign hyperpolymath/standards#239) installed `affinescript` weeks ago and never `affinescript --version`-check before each port session. Symptoms:

  • Compiles "succeed" silently
  • Emitted `.deno.js` references undefined globals like `walkRecursive`
  • Deno run fails with `ReferenceError: walkRecursive is not defined`
  • Root cause is invisible (no version mismatch warning)

Every contributor to standards#239 / standards#252 / standards#253 / standards#254 hits this until they realise their installed binary is stale.

Proposed fix (priority order)

  1. Cut a tagged release (e.g. `v0.X.0`) that includes the post-feat(stdlib): Deno scripting surface — walk/args/exit/iso/regex/stderr (step #242) #445 prelude shims so `mise`/`asdf`/`brew` installs land them.
  2. Embed compiler-version self-check: `affinescript --version` should print version + commit SHA + prelude-shim manifest hash; CI could verify the stdlib it ships against matches.
  3. Optional: deprecation warning when emitted output references a shim that the prelude doesn't expose (compile-time pass over generated JS for the known shim list).

Acceptance

  • `affinescript --version` reports a non-dev version
  • Releases are tagged in the repo + GitHub release page
  • Install instructions in README point to the latest tag (not `main`)
  • (Optional) Compiler self-check or warn on stale shims

Refs

Metadata

Metadata

Assignees

No one assigned

    Labels

    cicdCI/CD pipeline, GitHub Actions, workflows, rulesets, releases

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions