Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cicdCI/CD: workflows, actions, lockfiles, pins, runners, release gates

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions