v0.4.2-alpha
v0.4.2-alpha
Warning
Alpha build — not production ready. APIs and configuration may change without notice.
Do not use in production until a stable release is announced.
Features
-
Secure cookies — The
ovlt_sessioncookie now includes theSecureflag automatically whenENVIRONMENT=production, restricting it to HTTPS-only transport. In development the flag is omitted sohttp://localhostkeeps working without any change to the workflow. -
Configurable connection pool — Two new env vars control the PostgreSQL pool size:
DATABASE_MAX_CONNECTIONS(default20) andDATABASE_MIN_CONNECTIONS(default2). Pool options now also explicitly set connect timeout (10s), acquire timeout (10s), idle timeout (10min), and max lifetime (30min). -
Dev mode — Set
OVLT_DEV_MODE=1to skip manual bootstrap configuration during local development. The server auto-generatesOVLT_ADMIN_KEYand pre-fillsbootstrap_admin_email/bootstrap_admin_passwordwith safe defaults so the firstcargo runjust works. Dev mode is blocked ifENVIRONMENT=production— the server exits with an explicit error to prevent accidental exposure. -
First-run credentials box — On the very first startup in development, the server now prints a styled summary to stderr with the generated tenant slug, tenant ID, admin email, password, and admin key, plus a ready-to-run
curlcommand to test the login endpoint immediately.
Security
- Parameterized SQL in tenant transactions —
begin_tenant_txnnow usesStatement::from_sql_and_valueswith a bound parameter for theset_config('app.tenant_id', $1, true)call instead of string interpolation, eliminating any SQL injection surface on tenant ID resolution.
Documentation
configuration.mdupdated with entries forDATABASE_MAX_CONNECTIONS,DATABASE_MIN_CONNECTIONS, andOVLT_DEV_MODE.getting-started.mdupdated to reflect the dev mode workflow and the first-run credential output.api-reference.mdminor corrections.
Full Changelog: v0.4.1-alpha...v0.4.2-alpha