Repository navigation
Releases
0.3.3 - 2026-11-09
Release Notes
- A mistake in
ssqch.config.jsnames the file once (ssqch.config.js: dirs.ouput isn't supported), not twice, andssqch.config.mjserrors name that file. ssqch --helpdescribes--quiet(only warnings and errors) and--verbose(also list the
slowest images to encode) correctly.- README: the tutorial's code blocks no longer start with a filename comment, which put text
before the front matter and broke the build when copied as they were. The Liquid example
importsdefineConfig, and the Netlify example pins a current release.
Install ssqch 0.3.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.3/ssqch-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.3/ssqch-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install reverentgeek/tap/ssqchDownload ssqch 0.3.3
| File | Platform | Checksum |
|---|---|---|
| ssqch-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| ssqch-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| ssqch-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.3.2 - 2026-11-09
Release Notes
- Fix unstyled pages when running
ssqch serveafter a production build without the CSS and JS
watchers. A production build renamesindex.csstoindex.<hash>.css, and development
pages linked the plain name, which no longer existed.ssqch/assetsnow links to the
fingerprinted copy in that case, with a warning that names it.
Install ssqch 0.3.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.2/ssqch-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.2/ssqch-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install reverentgeek/tap/ssqchDownload ssqch 0.3.2
| File | Platform | Checksum |
|---|---|---|
| ssqch-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| ssqch-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| ssqch-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.3.1 - 2026-11-09
Release Notes
ssqch init --engine liquid(ornjk,hbs) starts the site with a layout and home page in
that template language, and a config that lists it intemplateFormatsand uses it for
Markdown. The default is still Edge.- Homebrew: releases publish a formula to
reverentgeek/homebrew-tap, so
brew install reverentgeek/tap/ssqchworks on macOS and Linux. - GitHub Actions:
reverentgeek/setup-ssqchinstalls a prebuilt ssqch on Linux, macOS and
Windows runners.
Install ssqch 0.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.1/ssqch-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.1/ssqch-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install reverentgeek/tap/ssqchDownload ssqch 0.3.1
| File | Platform | Checksum |
|---|---|---|
| ssqch-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| ssqch-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| ssqch-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.3.0 - 2026-11-09
Release Notes
Breaking
- The
templateEngineOverridefront-matter key is nowrender. Rename it in your templates
(render: md). A build that finds the old key stops with an error that says so.renderalso
takes a list (render: [edge, md]) andfalse, which writes the body without processing it.
Added
- The macOS binaries are signed with a Developer ID and notarized by Apple, so a binary
downloaded with a browser runs without a Gatekeeper warning. clean: truein the config (orclean = trueinsitesquatch.toml) deletes stale files from
the output: pages and passthrough files an earlier build wrote that this one didn't, like a
deleted post, and the folders they leave empty. Each build lists what it wrote in
.cache/ssqch/output-files.json, so files other tools write into the output are never touched.
Off by default.cargo binstall ssqchinstalls the release binary instead of compiling (with
cargo-binstall).- Template engines in the config:
engines: { ext: (source, data) => html }(or an object with a
rendermethod, sync or async). Add the extension totemplateFormatsto render those files,
use it for layouts, or name it inmarkdownEngine. - Liquid templates: add
"liquid"totemplateFormatsto render.liquidpages and layouts, or
usemarkdownEngine: "liquid". Config filters work as Liquid filters,includeandrender
read from_includes, and Jekyll's filters andincludeparameters are there too. Liquid adds
about 2 MB to the binary; Rust builds can leave it out with--no-default-features. - Nunjucks and Jinja templates (
.njk,.jinja,.j2) with minijinja: config filters work as
filters and functions,include,extends,importandfromread from_includes, output is
HTML-escaped (a layout'scontentis safe), and errors name the line. In.njkfiles,
Nunjucks'elseifandfor key, value in objectwork too. - Handlebars and Mustache templates (
.hbs,.handlebars,.mustache): config filters are
helpers, every file in_includesis a partial, and Mustache sections, inverted sections and
{{.}}work. Data is converted to JSON per page, so dates are ISO strings.
Changed
- Markdown escapes
"in text and inline code as", like the CommonMark reference
renderer. Raw HTML in Markdown is left as written. - The minifier shortens attributes (
shortenAttributes, on by default): boolean attributes lose
their values (defer="defer"becomesdefer), and whitespace that doesn't matter comes out of
class,srcset,sizes, URL attributes and the viewport<meta>. On the blog, quote
escaping adds about 10 KB of HTML and the attribute changes save about 4 KB.
Install ssqch 0.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.0/ssqch-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/reverentgeek/sitesquatch/releases/download/v0.3.0/ssqch-installer.ps1 | iex"Download ssqch 0.3.0
| File | Platform | Checksum |
|---|---|---|
| ssqch-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| ssqch-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| ssqch-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.2.7 - 2026-11-09
Release Notes
Added
ssqch init [dir]creates a starter site:ssqch.config.js, a layout, a home page, a post
with directory data, a data file, editor types and a.gitignore. It never overwrites an
existing file.ssqch typeswritesssqch.d.ts, type definitions forssqch.config.jsand thessqch/*
modules, so editors autocomplete and check configs (withcheckJsinjsconfig.json).- Rust:
sitesquatch::cli::run_withlets a binary add its own subcommands
(ExtraCommand), andsitesquatch::cli::clapre-exports the clap it uses.
Install ssqch 0.2.7
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.7/ssqch-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.7/ssqch-installer.ps1 | iex"Download ssqch 0.2.7
| File | Platform | Checksum |
|---|---|---|
| ssqch-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| ssqch-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| ssqch-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.2.6 - 2026-11-08
Release Notes
Fixed
- Windows: relative paths handed to templates and JavaScript (
page.inputPath, a transform's
inputPath, the hook event'sdirs, the build log) use/, sobyGlob()matches. Paths
are canonicalized without the\\?\prefix, soimage()finds its files, and
import.meta.url,pathToFileURLandfileURLToPathhandlefile:///C:/...URLs.
Added
- The crates are on crates.io:
cargo install ssqch --locked --features avif. - Prebuilt binaries for macOS (Apple Silicon and Intel) and Windows (x86_64), alongside Linux,
with a PowerShell installer for Windows. Each one runs a smoke test on its own platform
before a release is published. - CI runs the tests on Windows too.
Install ssqch 0.2.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.6/ssqch-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.6/ssqch-installer.ps1 | iex"Download ssqch 0.2.6
| File | Platform | Checksum |
|---|---|---|
| ssqch-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| ssqch-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| ssqch-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.2.5 - 2026-11-08
Release Notes
Added
- Links to local images (
<a href="/photos/big.jpg">, the click-to-enlarge pattern) point at a
generated copy: the image's own format (JPEG, PNG), at its own width capped at the largest of
widths. Before, they pointed at the source file, which isn't published, so they were broken.
Copies are cached and named like the rest; a copy the<picture>already uses is reused. Turn
it off withlinkedImages: false, or per link withssqch:ignoreon the<a>.
Install ssqch 0.2.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.5/ssqch-installer.sh | shDownload ssqch 0.2.5
| File | Platform | Checksum |
|---|---|---|
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.2.4 - 2026-11-08
Release Notes
Added
- A link checker:
linksPlugin(options)fromssqch/links. After each build, every internal
href,srcandsrcsetURL in the HTML has to point at something in the output, and a
#fragmentat anidon that page. External links, and paths a Netlify_redirectsfile
covers, aren't checked. Broken links fail production builds and are warnings inssqch serve.
Options:anchors,ignoreandfail. node:cryptoin configs and data files:createHash(md5,sha1,sha256,sha384,
sha512) with Node'supdate()anddigest(), andgetHashes().
Fixed
ssqch servereloads the browser when another tool (a PostCSS or esbuild watcher) writes a
CSS or JavaScript file into the output folder. Before, a CSS edit could reload the page before
the new CSS was written, leaving the old styles until the next change.
Install ssqch 0.2.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.4/ssqch-installer.sh | shDownload ssqch 0.2.4
| File | Platform | Checksum |
|---|---|---|
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.2.3 - 2026-11-08
Release Notes
Fixed
ssqch --versionand--helpname the binary (ssqch 0.2.2), not the library crate
(sitesquatch 0.2.2). A site's own Rust binary shows its own name.
Added
- Asset fingerprinting:
assetsPlugin({ files })fromssqch/assets. Templates link plain
paths like/assets/index.css; production builds rename each listed file in the output to
index.<hash>.css(8 hex characters of a content hash), delete older fingerprinted copies,
and rewrite everyhrefandsrcthat points at it.ssqch servekeeps the plain paths.
assetUrl(path)returns the URL to use elsewhere. - Releases run a smoke test before publishing: the Linux binary has to be static, report its
version, and build a small site with AVIF and WebP images.
Install ssqch 0.2.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.3/ssqch-installer.sh | shDownload ssqch 0.2.3
| File | Platform | Checksum |
|---|---|---|
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch0.2.2 - 2026-11-08
Release Notes
Fixed
- Images with a color profile other than sRGB (Display P3 from iPhones and Macs, Adobe RGB,
Generic RGB, display profiles) are converted to sRGB before encoding, instead of having the
profile dropped. Their colors no longer look washed out. Against macOS ColorSync's conversion,
the result is within about one level (0-255) on average. Images without a profile, or with an
sRGB one, are unchanged, and only converted images get new file names, so an upgrade
re-encodes just those. The build summary counts them ("converted to sRGB"). - Profiles that can't be converted, such as the HDR (PQ, gain map) profiles of newer iPhone
photos, no longer stop the image from being processed: it's encoded as before, with a warning
that suggests converting the source to sRGB.
Install ssqch 0.2.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/reverentgeek/sitesquatch/releases/download/v0.2.2/ssqch-installer.sh | shDownload ssqch 0.2.2
| File | Platform | Checksum |
|---|---|---|
| ssqch-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo reverentgeek/sitesquatchYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo reverentgeek/sitesquatch