EndBASIC 0.13.0
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 FUNCTIONandDECLARE SUB, which are now
needed by the compiler in client code to forward-declare user-defined
functions and subroutines. -
Running
RUNin a multi-statement line no longer executes trailing
statements if the program aborts withENDand 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
CLEARfrom within aSUBorGOSUBcurrently 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
INPUTorINKEYcalls.
This is a side-effect of the core changes but I think is the more
appropriate behavior. -
Changed
ON ERROR GOTOsemantics so that a handler is single-use until
anotherON ERRORstatement 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
duringINPUTaborts 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
aMessageChannelfor fairness-only host yields. -
Because the new core has been AGPLv3+ licensed, the rest of the project
has switched to this license as well.