Beyond the basics of version control and issue/ticket tracking, Fossil packs a surprising number of features into a single binary.
There's a full chatroom baked into the binary. It uses long-polling for real-time updates (works even behind CGI), supports Markdown, file/image attachments, and audio notification sounds (WAV files compiled into the binary). Messages are ephemeral -- they auto-delete after a configurable period (default 7 days) and never sync between repos. There's even a bot that can announce timeline events (commits, ticket changes) into chat.
A full threaded forum with hierarchical replies, post editing with revision history, moderator approval workflow, and thread closing/reopening. Forum posts are versioned artifacts that sync across clones. Designed as a mailing-list replacement.
A full wiki engine with revision history, supporting both Fossil's native wiki markup and Markdown. Special wiki pages named branch/BRANCHNAME or checkin/HASH automatically attach notes to branches or commits. Any .md, .wiki, or .html file in the repo is also servable as rendered documentation via /doc/ URLs.
Wiki-like documents pinned to a specific point in time that show up on the timeline. Used for blog posts, milestones, release notes, or announcements. Fully versioned artifacts.
A complete PIC-like diagram markup language that compiles to SVG, usable inline in wiki, forum, tickets, technotes, and check-in comments. There's even a /pikchrshow interactive playground page with client-side WebAssembly rendering for live preview.
fossil ui launches a local web server and opens your browser. fossil server serves over the network. The entire fossil-scm.org website is just a running Fossil instance. Supports direct TLS (no reverse proxy needed), CGI, SCGI, and SSH tunneling. There's a full skinning/theming system with 12 built-in themes, a sitemap, timeline graph visualization with configurable colors/shapes, and even in-browser file editing with commit capability.
Users can subscribe to check-ins, forum posts, ticket changes, wiki edits, and announcements. Supports instant or daily digest delivery. Includes a full SMTP client implementation with DNS MX record lookup for direct mail delivery without a relay.
A comprehensive JSON API (15+ endpoint groups) providing programmatic access to virtually everything: timeline, branches, tags, diffs, wiki, tickets, users, artifacts, and more. Works via both HTTP and CLI.
Mount the entire repository history as a filesystem. Browse any check-in's files at DIRECTORY/checkins/VERSION/PATH. Linux only.
A sophisticated proof-of-work cookie system to prevent botnets from consuming server resources, plus a /honeypot endpoint to trap bots.
- TH1 Scripting -- a built-in Tcl-like language for customizing skins, ticket pages, and hooking into commands/web pages
- CGI Extensions -- mount external CGI programs under
/extthat inherit Fossil's auth system - Bundle files -- offline artifact exchange for sneakernet transfer
- Unversioned files -- content that syncs between repos but only keeps the latest version (no history), for build artifacts/downloads
- Patch command -- transfer uncommitted working changes between machines without going through the repo
- Login Groups -- shared authentication across multiple Fossil repositories
- Interwiki links -- cross-repository linking with
Code:PageNamesyntax - Full-text search across all content types (commits, wiki, tickets, forum, technotes)
- Encrypted repositories via SQLite Encryption Extension
- Interactive shell (
fossil shell) -- a REPL for fossil commands - Embedded SQLite shell (
fossil sql) -- drop directly into the repo database - Security audit page -- automated vulnerability scanning of your configuration
- RSS feeds -- filterable by content type
- "This Day in History" page -- what happened on this calendar date in past years
- Backoffice -- on-demand background task processing (email queues, hooks, auto-sync) without needing a daemon
The whole thing is a single ~5MB self-contained binary backed by a single SQLite database file. It's essentially an entire project management platform in one executable.