Pi-Bolt 1.0.2 hardens how Pi-Bolt updates itself and how its builds can be checked, makes file search immune to slow
patterns, lets pi-bolt compile take many extensions, and has the subagents extension follow Pi's project trust. Everything else is 1.0.1.
Changed
pi-bolt updatechecks the installer before running it: it verifies the target release'sSHA256SUMSagainst the
release key built into Pi-Bolt, checks the installer's hash against it, and runs exactly those bytes. Releases now include
install.shandinstall.ps1in their signed files. Updating to 1.0.1 or older still works, after the signature check, with
a notice (#126).- Build attestations: every release archive and runtime gets a GitHub build attestation, and a release verifies the
runtimes it uses before building (#125). - Subagents follow Pi's project trust: the optional
opensec-pi-subagentsextension (now 0.20.9) loads a project's own
agent definitions only for projects you trust in Pi;"projectTrust": "full"in~/.pi/agent/subagents.jsonrestores the
old behaviour (#128,
opensec-pi-subagents#7).
Fixed
pi-bolt compilewith many extensions: 1.0.1 added every extension's top-level code together, so a few small
extensions could pass the compiler's 256 KB limit with none of them large. Each extension module is now compiled on its own;
when one is too big, the error names it, and a raisedBUN_JSC_maximumAOTCandidateBytecodeSizeis kept incompile.jsonfor
later compiles and updates (#129,
#131).findandgrepglobs run in linear time, including.gitignorerules, so no pattern can stall a search
(#127).- The Windows installer installs nothing you said no to: the key typed at its first question no longer answers the next one,
as ininstall.shsince 1.0.1 (#124). - The npm package's
undiciis 8.12.3; Pi-Bolt's own builds do not use it
(#123).
With the default settings Pi draws the same screen as 1.0.1, with the same CPU and memory. find and grep over a large
repository with many .gitignore patterns run about 3% more instructions than in 1.0.1; the next release takes that back.
Pi is 1.4.0, as in 1.0.1. The runtimes are 1.0.1's.
Install
curl -fsSL https://pi-bolt.opensec.in/install.sh | shirm https://pi-bolt.opensec.in/install.ps1 | iexpowershell -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. New in 1.0.1:
- 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, thenscoop install opensec-git/pi-bolt - mise:
github:opensec-git/Pi-Boltwith the options in the installation guide
pi-bolt update on a copy installed by one of them names that package manager's update command instead of replacing it.
The installer checks the release signature with OpenSSL 3, an installed Pi-Bolt, or ssh-keygen (OpenSSH 8.1 or later).
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.