Ready
RUN "BLOG"
> EndBASIC 0.12: The end of an era█

Published on: May 2, 2026

It has been almost two years since the release of EndBASIC 0.11. Fear not, though, for the development hasn’t stopped since then!

If you paid attention last year, you may have seen that I spent the first half of 2025 building the EndBOX and modernizing the website. However, these efforts didn’t come with a corresponding formal release and it’s about time to fix that.

The 0.12 release marks the end of an era. No, EndBASIC is not going anywhere just yet (although I have some thoughts to share on that). No, this release is the last one based on the compiler and symbol-based virtual machine that have existed and slowly evolved since 0.1. I’ve spent all of 2026 to date rebuilding these components from the ground up in what I’ve called core2 and, before I publish those, I want to have a “clean last cut” release of the old platform based on core.

There is a lot to talk about, but before we get to that, here are the must-visit links:

Without further ado, let’s take a peek into the major changes.

What’s in this release?

While there are many changes in 0.12, none really is the usual “killer feature” you might have come to expect from earlier releases. The changes in 0.12 are primarily quality-of-life improvements and internal code restructuring to support the EndBOX.

If you must know, here is a list of the biggest news:

That’s about it for this release, but the most exciting stuff is about to come.

What’s coming up?

The next release, which should be out soon, will feature a transition to core2: a brand-new compiler designed from the ground up to target a register-based bytecode instruction set, and a corresponding VM to efficiently execute such bytecode. In some simple benchmarks I’ve run, I’ve observed a 7x performance improvement over the old design—and this is just the beginning considering I haven’t yet gone through any optimization rounds.

After that, I plan to unify the console drivers on the LCD implementation to support font selection, and to provide extra graphics primitives to support sprites in some form or another. And after that, I should finally get to implementing support for sound playback… which is really the missing piece to being able to write complete minigames.

A licensing question for you…

One thing I’m really considering as part of the core2 rewrite is to switch the codebase from the current Apache 2.0 license to the AGPL v3. I’ve avoided copyleft licenses like the plague for years… but they are the ones that drove me into open source in the first place back in the late 90s. The ecosystem has changed a lot since then and I think this is one possible recourse to maybe protect the project against AI slop and ensure that any cool stuff built on top of EndBASIC remains free.

Why the AGPL v3 specifically, and not the GPL v3? Because EndBASIC is primarily used via the web-based interface. I’m curious, though: what would your reaction be to such a change, if you have any?

In any case, EndBASIC 0.12 is now ready for you. Go forth and play, and stay tuned for upcoming news!

Launch interpreter