Home Download Docs Code Community

Perkeep 0.12 (“Toronto”)

2025-11-11

It’s been exactly 5 years since Perkeep’s last release.

That’s a long time between releases, sorry! I guess I got distracted at my new job (Tailscale) (and kids). Tailscale’s based out of Toronto and while I’ve never been there, it seems like a good enough city name for a release!

A highlight of this release is built-in Tailscale support, using Tailscale’s tsnet (Tailscale-as-a-library). So you don’t need a public server to run your perkeepd server. Instead, it can just be a peer in your tailnet, and using Tailscale for the authentication as well.

Other merged work since v0.11 follows.

Core & Infrastructure

Go Modernization

Dependencies & Build

CI / Tests / Lint

Storage, Encryption & Indexing

Encryption

Storage

Indexing

Web UI & Frontend

Migration to JS

Frontend Enhancements

⚙️ Server, Network , Tailscale

Filesystem & FUSE

Schema, Importers & GC

Documentation, Examples & Misc

Bug Fixes

Highlights Summary

Category Key Improvements
Language & Build Migrated to Go 1.25, replaced legacy systems, modernized embedding
UI Complete migration from GopherJS/goui → native JS
Encryption Adopted age, added fingerprint + armored keyring support
Storage Unified S3/B2/GCS docs and configs; improved caching
Networking Tailscale tsnet integration, improved HTTP utilities
Testing Added race detection, staticcheck cleanup, CI on macOS/Windows
Docs Refreshed 0.11 release, added modern examples and schema guidelines

New Contributors

Huge thanks to all new contributors who made their first commits in this release!

Website layout inspired by memcached.
Content by the authors.