Skip to content

EndBASIC 0.13.0

Choose a tag to compare

@github-actions github-actions released this 29 May 22:30
· 90 commits to master since this release

Released on 2026-05-29.

  • Replaced the core interpreter with a brand-new rewrite that has been
    designed, from the ground up, to target efficient bytecode compilation.
    In some ad-hoc compute-heavy benchmarks, this shows a 7x performance
    improvement.

  • Added support for DECLARE FUNCTION and DECLARE SUB, which are now
    needed by the compiler in client code to forward-declare user-defined
    functions and subroutines.

  • Running RUN in a multi-statement line no longer executes trailing
    statements if the program aborts with END and a non-zero exit code.
    This can be seen as a regression from the core rewrite, but it should
    impact so few scenarios that it'll be fixed later.

  • Calling CLEAR from within a SUB or GOSUB currently terminates
    execution of the whole program instead of continuing after the clear.
    This can be seen as a regression from the core rewrite, but it should
    impact so few scenarios that it'll be fixed later and the behavior of
    this scenario is to be determined.

  • CTRL+C cannot be caught as a key anymore during INPUT or INKEY calls.
    This is a side-effect of the core changes but I think is the more
    appropriate behavior.

  • Changed ON ERROR GOTO semantics so that a handler is single-use until
    another ON ERROR statement re-arms it. This prevents recursive error
    handling loops after failures such as call stack overflows.

  • Fixed handling of Ctrl-based keybindings in the SDL console so that
    CTRL+<key> work even when extra modifier flags are active.

  • Fixed EOF handling in the terminal console so that pressing CTRL+D
    during INPUT aborts the running command but does not immediately exit
    the REPL.

  • Improved responsiveness and scheduling in the web interface by aligning
    paint-related yields with browser frame rendering and by using
    a MessageChannel for fairness-only host yields.

  • Because the new core has been AGPLv3+ licensed, the rest of the project
    has switched to this license as well.