SCUA

News

News

The development log: what changed, as it happened.

August 2026

Where the package manager stands (August 12, 2026)
Three weeks after we announced it, an update on scua-pkg, because it crossed a real line this week: every verb in the spec's table is now implemented…

SCUA 0.14.0 is out (August 12, 2026)
A month of work in one release, and the widest one yet. The signed and notarized builds for macOS and both Linux architectures are up, with checksums.

Your own modules can park (August 11, 2026)
Yesterday's hibernation post showed a session frozen mid-call on a slow request. Today the other shoe: that call can be your own.

Sessions hibernate now, even mid-call (August 11, 2026)
An agent conversation spends almost all of its life waiting: for the next message, or for a model to finish thinking. Keeping a warm process alive per…

Entity code now runs at full JIT speed (August 10, 2026)
The natural way to write game entities is a list of records: es[i].x = es[i].x + 1 over an array of { x, y, vx, vy } things. Until this week that natural…

Arrays went unboxed, automatically (August 10, 2026)
Plain arrays of numbers now store their elements unboxed. An array that has only ever held integers, or only floats, keeps them in a packed 8-byte layout…

A week spent chasing LuaJIT (August 9, 2026)
Most of this week went into the JIT, and the short version is that the chase got close enough to describe without ratios doing the heavy lifting.

The interpreter caught Lua (August 7, 2026)
A milestone we have been chasing quietly for weeks: on our benchmark suite, the plain SCUA interpreter now beats the Lua 5.4 interpreter on the overall…

July 2026

scua init, and a debugger that follows imports (July 30, 2026)
Starting a project now takes one command. scua init myproject writes a runnable starter: a main.scua that reads sys.args(), a module it imports, a test…

Config that syncs across a cluster (July 22, 2026)
First, the problem, because it shapes half of what SCUA is for. A live game runs on config: drop rates, feature flags, event schedules, graphics tiers…

One-shot tools for AI agents (July 20, 2026)
A growing amount of SCUA's design attention goes to a specific shape of program: the one-shot tool an AI agent calls. Read arguments, do one job, print…

We are building a package manager (July 18, 2026)
SCUA is getting a package manager, and this week the decisions got made and the first working core got built. The design has strong opinions, so it…

The JIT now speaks x86-64 (July 17, 2026)
The 0.12.0 JIT compiled hot loops on ARM64. As of 0.13.0 it does the same on x86-64, on macOS and Linux, which between them covers Apple silicon, the…

A regex engine that cannot blow up (July 16, 2026)
0.13.0 added a regex module, and we wrote the engine ourselves. That is normally a bad idea, so here is the reasoning.

The serve loop learned to overlap connections (July 15, 2026)
We put http.serve on the bench this week and found it serving one connection at a time. Every connection got a correct answer, and every connection waited…

SCUA can be the server (July 14, 2026)
Until now SCUA made requests. As of 0.13.0 it can answer them:

SCUA 0.13.0 is out (July 13, 2026)
One week after 0.12.0, this release is about talking to the world. The features have their own posts coming; the short list:

UDP datagrams, as their own capability (July 12, 2026)
SCUA can now send and receive datagrams. udp.connect(host, port) opens a socket locked to one peer; send and receive are ordinary calls on it.

Non-blocking I/O without async or await (July 10, 2026)
By default, SCUA I/O blocks. That is the right default for scripts and tools: simple, predictable, done. But a server or a host with its own event loop…

Six geometry shapes, built in (July 9, 2026)
0.12.0 added rect, aabox, sphere, capsule, ray, and plane as proper value types, joining the vectors, matrices, and quaternions that were already in the…

Exact money, and a data table you can query (July 8, 2026)
Two features from 0.12.0 deserve a closer look, because together they make SCUA a good language for the unglamorous work around a game: reports…

SCUA 0.12.0 ships an optional JIT (July 6, 2026)
The headline of 0.12.0 is a just-in-time compiler. Run any script with --jit=on and hot loops compile to native ARM64 machine code while the rest of the…