Skip to content

Install FutureBlitz

FutureBlitz 1.0.0 is fb, its linker, its language server, and the standard library. On Windows and Linux, building programs needs nothing else; on macOS, fb also uses Apple's Command Line Tools.

Your system

Windows

For Windows on x64. Windows on arm64 runs the x64 release.

winget Recommended

winget comes with Windows. It installs FutureBlitz for you alone, in %USERPROFILE%\.futureblitz, and puts its bin on your PATH.

PowerShell
winget install FutureBlitz.FutureBlitz
Update
PowerShell
winget upgrade FutureBlitz.FutureBlitz
Uninstall
PowerShell
winget uninstall FutureBlitz.FutureBlitz

PowerShell

The script downloads the release, checks it against the release's SHA256SUMS, puts it in %USERPROFILE%\.futureblitz, and adds its bin to your PATH. It needs no administrator, and no GitHub API, so no rate limit stops it.

PowerShell
irm https://futureblitz.dev/install.ps1 | iex
Update

Run the script again. For a given version:

PowerShell
iex "& { $(irm https://futureblitz.dev/install.ps1) } -Version 1.0.0"
Uninstall
PowerShell
Remove-Item -Recurse -Force "$env:USERPROFILE\.futureblitz"

Then take its bin off your PATH, in Edit environment variables for your account.

The installer

futureblitz-1.0.0-windows-x64-setup.exe installs FutureBlitz for you alone, in %USERPROFILE%\.futureblitz, with its bin on your PATH. It needs no administrator. For managed installs, futureblitz-1.0.0-windows-x64.msi installs the same. Both are signed, as fb is, and both install without a window:

PowerShell: setup.exe
.\futureblitz-1.0.0-windows-x64-setup.exe /quiet
PowerShell: the .msi
msiexec /i futureblitz-1.0.0-windows-x64.msi /qn
Update

Run a newer installer. It replaces the version you have.

Uninstall

Uninstall FutureBlitz in Settings, under Apps, or:

PowerShell: setup.exe
.\futureblitz-1.0.0-windows-x64-setup.exe /uninstall /quiet
PowerShell: the .msi
msiexec /x futureblitz-1.0.0-windows-x64.msi /qn

The zip

futureblitz-1.0.0-windows-x64.zip holds one folder, which can go anywhere. Add its bin to your PATH.

Update

Replace the folder with a newer release's.

Uninstall

Delete the folder, and take its bin off your PATH.

After installing

Open a new terminal, so it has the new PATH, and check that fb runs:

Terminal
fb --version
Output
fb 1.0.0 (<commit>, <target>)

Then make a package, and run it:

Terminal
fb new hello
cd hello
fb run
Output
Hello, world!

Learn the language, starting from your first program.

System requirements

  • Windows: Windows 10 or later, on x64. Windows on arm64 runs the x64 release.
  • macOS: macOS 15 or later, on Apple silicon or Intel, with Apple's Command Line Tools.
  • Linux: Linux with glibc 2.35 or later, on x64 or arm64: Ubuntu 22.04, Debian 12, Fedora 36, and later.

The programs fb builds run on the same Windows and macOS. On Linux they need only glibc 2.28: RHEL 8, Ubuntu 20.04, Debian 10, and later.

Verifying a download

Each release has a SHA256SUMS file, with the SHA-256 of each of its files. Download it beside the file, and check the file against it:

Windows
$want = (Select-String -Path SHA256SUMS -Pattern "futureblitz-1.0.0-windows-x64.msi").Line.Split(" ")[0]
(Get-FileHash futureblitz-1.0.0-windows-x64.msi -Algorithm SHA256).Hash -eq $want
macOS
grep " futureblitz-1.0.0-macos-arm64.tar.gz$" SHA256SUMS | shasum -a 256 -c
Linux
grep " futureblitz-1.0.0-linux-x64.tar.gz$" SHA256SUMS | sha256sum -c

On Windows, a file that matches prints True. On macOS and Linux, it prints the file's name and OK.

Your editor

The FutureBlitz extension for VS Code shows errors as you type, formats on save, and debugs with breakpoints. Install it from the Visual Studio Marketplace or Open VSX, or:

Terminal
code --install-extension futureblitz.futureblitz

Each release has the extension's futureblitz-1.0.0.vsix too, for an editor with no access to either: code --install-extension futureblitz-1.0.0.vsix.

Other editors use fb's language server. Editors says how to set one up.

Releases

Every release, with its notes and its files, is on GitHub, and the changelog lists what each one changed.