github opensec-git/Pi-Bolt bolt-v1.0.6
Pi-Bolt 1.0.6

2 hours ago

Pi-Bolt 1.0.6 is a performance release: macOS starts about 10% cheaper again, Windows starts faster and the Windows -jit
build uses less memory, long sessions open faster, and Pi uses about half the CPU while it sits idle on a Mac. Pi behaves as
in 1.0.5. Everything else is 1.0.5.

Fixed

  • macOS releases start without the libSystem shim (#192): since
    1.0.3 the macOS archives were built without libsystem/ beside pi-bin (#139), because the build read the linked libraries
    in a form that Xcode 16 no longer prints. Starting took about 16 M more instructions than it should. The archives have it
    again, and a release now stops if a macOS archive lacks it.

Changed

  • Windows starts faster (#186): the Windows build splits its code,
    as the macOS and Linux builds have since 1.0.3, and the order Pi's code and heap are laid out in was recorded again for it.
  • Windows -jit build (#187): it reserves 128 MB for code the JIT
    writes instead of 1 GB, so Windows no longer prepares 16 MB of call-target bookkeeping at every start.
    BUN_JSC_jitMemoryReservationSize still sets another size.
  • Long sessions (#189,
    #190): opening or resuming a session of thousands of entries lays each
    message out with less work, and a request no longer tries to read every earlier thinking block's signature as JSON.
  • Idle (#191): after an answer, memory is collected once when Pi goes
    quiet, instead of three times.
  • macOS start (#188): Pi no longer opens the system log at start
    unless tracing was asked for, which waited on the log service at every start.

With the default settings Pi draws the same screens and sends the same requests as 1.0.5. The release archives,
1.0.5 / 1.0.6: Linux and Windows on GitHub's runners (Linux pinned to one CPU), the M5 in instructions:

Linux x86-64 Linux ARM64 Apple M5 Windows x64
Ready to type 43 / 42 ms 39 / 38 ms 171.5 / 153.7 M 93 / 79-92 ms
pi -p, CPU 59 / 59 ms 55 / 55 ms 224.9 / 206.7 M 99 / 94 ms
pi --version, CPU 10 / 10 ms 7 / 7 ms 74.4 / 55.5 M 19 / 15 ms
-jit build, pi --version CPU 8 / 8 ms 7 / 7 ms 76.2 / 59.8 M 31 / 19 ms
60,000-character answer 2.48 / 2.43 s 2.38 / 2.34 s 3,553 / 3,436 M 2.07 / 2.05 s
Opening a 4,000-entry session 3.07 / 2.67 s
Idle, CPU per second 0.036 / 0.033 ms 0.035 / 0.038 ms 0.147 / 0.079 ms

In a 4,000-entry session an answer costs the same CPU until Pi goes quiet (0.47 s on Linux x86-64), and memory afterwards is
10 MB lower. Because the session opens with less garbage, a full collection that came after the answer in 1.0.5 now often
comes during it, so a measurement that stops when the answer ends can read it about 0.1 s higher.

Pi is 1.4.0. The runtimes are new: Bun's patch adds #187, #188 and #191.

Install

curl -fsSL https://pi-bolt.opensec.in/install.sh | sh
irm https://pi-bolt.opensec.in/install.ps1 | iex
powershell -c "irm https://pi-bolt.opensec.in/install.ps1 | iex"

or pi-bolt update, or npm install -g --allow-scripts=pi-bolt pi-bolt, or bun add -g --trust pi-bolt, or:

  • Homebrew (macOS on Apple silicon, Linux): brew install opensec-git/tap/pi-bolt
  • Scoop (Windows): scoop bucket add opensec-git https://github.com/opensec-git/scoop-bucket, then scoop install opensec-git/pi-bolt
  • mise: github:opensec-git/Pi-Bolt with the options in the installation guide

The installer checks the release signature with OpenSSL 3, ssh-keygen (OpenSSH 8.1 or later), or an installed Pi-Bolt.
Every archive also has a GitHub build attestation: gh attestation verify <file> -R opensec-git/Pi-Bolt.

Asset For
pi-bolt-linux-x64.tar.xz / .tar.gz Recommended on Linux x86-64. CPUs with AVX2 (Intel Haswell 2013+, AMD Zen+).
pi-bolt-linux-x64-baseline.tar.xz / .tar.gz Any x86-64 CPU with SSE4.2.
pi-bolt-linux-x64-jit.tar.xz / .tar.gz JIT also on, for plugins loaded at run time.
pi-bolt-linux-arm64.tar.xz / .tar.gz Linux on ARM64, any 64-bit ARM CPU; Android in Termux, with the installer.
pi-bolt-linux-arm64-jit.tar.xz / .tar.gz Linux on ARM64, JIT also on.
pi-bolt-darwin-arm64.tar.xz / .tar.gz macOS. Macs with Apple silicon, macOS 13 or later.
pi-bolt-darwin-arm64-jit.tar.xz / .tar.gz macOS, JIT also on.
pi-bolt-win32-x64.zip Windows. Windows 10 (1809) or 11 on x64; compiled code on AVX2 CPUs, bytecode on others.
pi-bolt-win32-x64-jit.zip Windows, JIT also on.
pi-bolt-runtime-linux-x64.tar.gz, pi-bolt-runtime-linux-arm64.tar.gz, pi-bolt-runtime-darwin-arm64.tar.gz, pi-bolt-runtime-win32-x64.zip The Pi-Bolt Bun runtime, for compiling plugins in.
pi-bolt-kit-linux-x64.tar.gz, pi-bolt-kit-linux-arm64.tar.gz, pi-bolt-kit-darwin-arm64.tar.gz What pi-bolt compile builds with, besides the runtime.
install.sh, install.ps1 The installers, listed in the signed SHA256SUMS: pi-bolt update runs them only after checking them.

Linux x86-64 or ARM64 with glibc 2.17 or later; Android 7 or later on 64-bit ARM, in Termux; macOS 13 or later on Apple silicon;
Windows 10 1809 or later, or Windows 11, on x64.

Don't miss a new Pi-Bolt release

NewReleases is sending notifications on new releases.