2.10.1
Quilltap v2.10.1 Release Notes
The vault is sealed, the search is plugged in, and the butler didn't do it — the pepper did.
Highlights
Pepper Vault — No more fiddling with environment variables to secure your encryption. A web-based setup wizard auto-generates and stores your encryption pepper on first run, with optional passphrase protection. Existing env var users get a gentle nudge to migrate.
Pluggable Web Search Providers — Web search is now a proper plugin system. Swap search backends without touching code, manage API keys from Settings, and build your own providers with the new SearchProviderPlugin interface. Ships with a bundled Serper.dev plugin out of the box.
Major Features
Pepper Vault — Encryption Key Management
- Auto-generates
ENCRYPTION_MASTER_PEPPERon first run — no manual environment variable needed - Web-based setup wizard at
/setupwith optional passphrase protection - Encrypted pepper stored in SQLite
pepper_vaulttable - Three startup modes: auto-resolve (no passphrase), unlock (passphrase required), and setup (first run)
- Existing env var users prompted to store pepper in vault via dismissible banner
- API routes at
/api/v1/system/pepper-vaultfor status, setup, unlock, and store PepperVaultGateclient component redirects to setup when vault is uninitialized- Pepper state tracked in
startupStatewithisPepperResolved()gate - Authenticated API routes return 503 when pepper is not yet resolved
lib/encryption.tsnow uses lazy pepper loading (reads fromprocess.envon demand)ENCRYPTION_MASTER_PEPPERis now optional in env schema- Comprehensive unit tests for pepper vault lifecycle
Pluggable Web Search Provider System
- New
SEARCH_PROVIDERplugin type for pluggable web search backends - New
SearchProviderPlugininterface in@quilttap/plugin-types1.14.0 - Search provider registry (
lib/plugins/search-provider-registry.ts) for managing search provider plugins - Bundled Serper.dev search provider plugin (
qtap-plugin-search-serper) - Web search handler rewritten to use search provider plugins with DB-stored API keys
- Providers API now returns both LLM and search providers
- API key test endpoint supports both LLM and search providers
SERPER_API_KEYenv var deprecated in favor of Settings > API Keys (legacy env var still works as fallback)- New
docs/SEARCH_PLUGIN_DEVELOPMENT.mdguide for building custom search provider plugins
Bug Fixes
- Removed verbose debug logging from pepper vault and web search handler
Migration Notes
- Encryption pepper: New installations will be guided through the setup wizard automatically. Existing installations using
ENCRYPTION_MASTER_PEPPERin their environment will continue to work — a banner will suggest migrating to the vault for convenience. - Serper API key:
SERPER_API_KEYas an environment variable still works but is deprecated. Move your key to Settings > API Keys when convenient.