Faucet v0.1.5 is now available. This release focuses on developer experience — making it easier to get started, run in production, and handle bulk writes. Download it now from GitHub Releases, Homebrew, or Docker Hub.
What’s New in v0.1.5
Guided First-Run Setup
The most-requested improvement since launch: Faucet now detects when it’s running for the first time and walks you through creating your initial admin account interactively. No more digging through docs to figure out the right CLI commands. Just run faucet serve and follow the prompts.
This lowers the barrier from “read the docs, then configure” to “just run it.”
Batch Transaction Modes
Write operations now support two transaction modes for bulk inserts and updates:
- Rollback mode — all-or-nothing. If any row fails, the entire batch rolls back. Use this when data consistency matters more than throughput.
- Continue mode — best-effort. Failures on individual rows are recorded but don’t block the rest of the batch. Use this for bulk imports where partial success is acceptable.
Set the mode per request via the X-Transaction-Mode header. The default behavior remains unchanged — single-row operations are unaffected.
Background Server Mode
faucet serve now returns control to your terminal immediately, running the API server in the background. This makes it trivial to integrate Faucet into shell scripts, CI pipelines, and systemd services without process management wrappers.
faucet serve --background
# Faucet is running — your terminal is free
curl http://localhost:8080/api/users
Improved Telemetry Controls
Opting out of anonymous telemetry is now more forgiving. The FAUCET_TELEMETRY environment variable accepts case-insensitive values and recognizes no, false, 0, and off. Previously, only exact lowercase matches worked.
export FAUCET_TELEMETRY=no # works now
export FAUCET_TELEMETRY=NO # also works now
Code Quality
Under the hood, v0.1.5 includes multiple lint fixes — particularly around deferred error handling in transaction rollbacks. These don’t change behavior but improve correctness guarantees and keep the codebase ready for production use.
Install or Upgrade
Homebrew:
brew update && brew upgrade faucet
Docker:
docker pull faucetdb/faucet:0.1.5
Go install:
go install github.com/faucetdb/[email protected]
Binary download:
Grab the binary for your platform from GitHub Releases. Available for Linux (amd64, arm64), macOS (Apple Silicon, Intel), and Windows.
What’s Next
Faucet is still in early development and we’re shipping fast. Here’s what’s on the roadmap for upcoming releases:
- Column-level filtering — restrict which columns are exposed per role
- Rate limiting — built-in request throttling per API key
- Webhook support — push notifications on data changes
- Enhanced MCP tools — richer schema introspection for AI agents
Star the project on GitHub to follow along, and open an issue if you run into anything.
FAQ
How do I upgrade from v0.1.4?
Run brew upgrade faucet or docker pull faucetdb/faucet:0.1.5. Binary users can download the new release from GitHub. No database migrations are needed — v0.1.5 is fully backward compatible with v0.1.4 configurations.
Does the first-run setup change anything for existing installations?
No. The setup flow only triggers when Faucet detects no existing admin account. If you already have one configured, startup behavior is identical to v0.1.4.
Is batch transaction mode available for all databases?
Yes. Both rollback and continue modes work across PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite, and Snowflake.
Can I still run Faucet in the foreground?
Absolutely. Background mode is opt-in via the --background flag. The default behavior of faucet serve remains foreground, blocking operation — nothing changes unless you explicitly request it.