← Back to Good Intentions

NTNT 0.5.5: Workers, Monitoring, and Auth

NTNT 0.5.5 shipped on October 3, 2026. Several job workers can now share one queue on the same machine, monitoring checks can refuse to run once they are late, and the built-in authentication routes behave the same way however you configure them. Official builds also cover Linux ARMv7 for the first time.

Several workers, one queue

Redis-backed job workers used to scan every pending key to find work. They now keep a ready index, and each state change takes one read round trip and one Lua commit. You can also run several ntnt worker processes for the same project and worker group on one machine, and control commands reach every live process.

Version 0.5.4 added durable job claims, renewable leases, and crash recovery. Recovery has a limit worth knowing: if a worker crashes after an external service has already accepted its request, your application has to check whether that operation went through before it tries again. Job recovery does not promise exactly-once delivery.

Before you upgrade Redis-backed jobs: use Redis 7.0+ or Valkey 7.2+, grant the documented Lua permissions, and stop and upgrade every writer and worker that shares a queue at the same time. Don’t run 0.5.4 and 0.5.5 workers against the same queue.

Start deadlines for monitoring checks

Ping, DNS lookup, and SNMP GET can now reject a check that missed its start deadline, before any probe is sent. The new std/http.probe_fetch does the same for a bounded HTTP GET. A check that starts late gets reported as late, instead of passing for a fresh measurement.

These join the persistent ICMP probe handles and bounded SNMPv2c operations from earlier releases. SNMPv2c is plaintext; SNMPv3 is not supported yet.

Built-in auth routes

In server mode, OAuth callbacks now go through the routes that std/auth registers, including a custom route_prefix. Every documented way of calling enable_auth, including local-only authentication, now uses the same option parser.

Pinned installs and Linux ARMv7

Official releases now include Linux ARMv7 hard-float archives. The Unix installer can install a specific version, and it checks the download’s checksum and the binary’s reported version before replacing anything.

curl -sSf https://raw.githubusercontent.com/ntntlang/ntnt/v0.5.5/install.sh | bash -s -- --version 0.5.5
ntnt --version

Smaller changes

int_or(value, fallback) converts to an integer with a fallback. Intent checks now run header-existence and header-equality assertions. String-literal parse errors point at the opening quote and show the literal as you wrote it.

Column-level locations for runtime errors were reverted before release, so runtime errors still report the line only.

Full release and upgrade notes on GitHub

← NTNT 0.5.0: The Verification ReleaseBenchmarking NTNT 0.5.5 →