Today we celebrate the official release of version 2.0 of the MiniScript programming language!
Download MiniScript 2 here!
This is a complete rewrite, from the ground up, focused primarily on performance. The results do not disappoint: MiniScript 2 clocks in at 45X - 50X faster on some benchmarks, with an average of 10X - 15X faster across the board.
It also brings some cool language improvements, including:
- Better error handling
- Frozen lists and maps
- Computed lists
- Mark-and-sweep garbage collection, even in C++
Today's release includes a new & improved command-line build for Linux, Windows, Mac, and any .NET platform. This can be used interactively, with a powerful REPL (Read-Eval-Print Loop) that lets you reference earlier inputs and outputs; or it can be used to create scripts and programs to run from the command line. Those can include sophisticated terminal control, enabling interactive text user interfaces like this:
That's one of the examples included with the download; another one is a modern port of the classic "Super Star Trek" game:
But MiniScript 2 is not just for fun and games! The command-line environment includes full support for manipulating files and data, both text-based and binary; executing shell commands; reading the shell arguments; parsing JSON data; and more. Automate your workflows with a clean, modern scripting language that is a joy to read and write.
MiniScript 2.0 is the cornerstone of the 2026 MiniScript Road Map, and I'm delighted to say that it is shipping right on schedule. Meanwhile, we've made great progress in parallel on both raylib-miniscript and Mini Micro 2... so download MS2 now, and then stay tuned for more exciting news in the coming weeks!


Top comments (3)
Congratulations on this important update! First I was impressed by the massive performance gain (and still am) but then I started reading about "what's new" and I find many of the changes also very positive as well!
Now ... what does this mean for MiniMicro 2? ;-) (asking for a friend :-D)
I have some questions from the respective documents ...
1) Regarding errors ... what counts as "catching" an error. The guide says that an uncaught error will be propagated, but I don't understand how one catches an error. Also, does it mean that I can expect an error value from any function (because they might propagate uncaught errors), or just functions that document that they explicitly might return an error type?
2) The embedding guide is "what's new related to how embedding MiniScript 1.x was" ... I miss a guide for users which never dealt with MS1 ... I mean: how to embed MS2 from start to finish, disregarding how it was in MS1. Would that be a good idea?
And a final bonus question:
3) The Star Trek demo you are showing in this post ... is a command-line app, right? But ... how did you manage for it to have the MiniMicro font? (ah, I remember now that the font is available as TTF in the MM2 repo right?)
Congratulations Joe! Excited to see this one out in the wild now!