A patch release: long-running processes no longer grow with their own output, and nub upgrade stops re-installing the version you are already on.
Memory retention
Seven places held on to data for longer than they needed to. Each was reproduced with a fixture, measured against a plain Node control, and re-measured after the fix.
The nub run -r supervisor retained every prefixed output line for the child's whole life. For a script that never exits — nub run -r dev, the standard monorepo workflow — it grew 1:1 with child output: 45 to 325 MB over 50 seconds, now flat at 15 MB. The aggregate path buffered the entire run, and a non-TTY stdout selects it, so CI and piped runs took it too; it now flushes past 8 MiB, measured at 250 MB climbing versus a flat 29 MB, with all output still delivered in order.
URL.createObjectURL stored a decoded UTF-8 copy of every blob on the V8 heap, and every Blob pinned whatever its construction parts referenced. Nub now captures one compact Buffer when the Blob is built, capped at 4 MiB, and decodes only when a Worker asks for the source. Heap growth for 20k object URLs went from +43.1 to +5.6 MB — plain Node is +1.1 — and 2000 Blobs holding 64 KB of real data between them now retain 4 MB of external memory instead of 504 MB.
The transpile-cache sweep never ran for a purely synchronous program. It was armed on an unref'd setImmediate that the process exited before running, so a user whose runs are all synchronous never swept at all. It is now scheduled only when a sweep is due, and ref'd.
Upgrade
On Windows, nub upgrade reported its install path in the extended-length form — installed v0.7.4 to \\?\C:\Users\you\.nub. The install itself was correct; only the printed path carried a prefix nobody typed. Paths are now spelled for display at the print sites, while the path used for the file swap keeps the MAX_PATH exemption a deep install directory depends on.
nub upgrade also downloaded and swapped in the release it was already running. It now checks first:
$ nub upgrade
already on the latest release (v0.7.5)An explicit --version still reinstalls, which is what repairs a damaged install, and --stable from a canary build still downloads, because that is a channel switch rather than a no-op. The --yes flag advertised a confirmation prompt that has never existed anywhere in the command; its help text now says what it does.
Docs
The reference pages were rewritten for density — the config reference, the FAQ, and the install, runtime, runner and deployment sections — and two rotted links were fixed.
The full release notes list every change in this release.
Get started
Or paste this "Get Started" prompt into an agent. It will install Nub and explain how it can be used in your project. (It won't make any changes without permission.)