What's Changed
- Split code to allow for smaller and faster bundled JS (2.0) by @dracador in #240
- Update rspack monorepo to v2 (major) by @renovate[bot] in #239
- Update dependency htmx.org to v2 by @renovate[bot] in #231
- Update postgres Docker tag to v18 by @renovate[bot] in #238
- Update dependency django-stubs to v6 by @renovate[bot] in #230
- Update dependency cryptography to v47 by @renovate[bot] in #236
- Update dependency huey to v3 by @renovate[bot] in #232
- remove obsolete pytz dependency by @dracador in #243
- Update all non-major dependencies by @renovate[bot] in #227
- add basic favicon by @dracador in #245
- Add reusable postgres connections & template caching in deployments by @dracador in #246
- Gunicorn Tuning by @dracador in #244
- Lazy load bigger js libs by @dracador in #241
- add frontend smoke tests via playwright by @dracador in #242
New Contributors
Breaking & noteworthy config changes in 0.13.0
The new data_dir setting
TeamVault now requires a writeable data directory.
You can specify it via [teamvault] data_dir = /var/lib/teamvault in your teamvault.cfg. If no data_dir is specified, it defaults to /var/lib/teamvault.
New [gunicorn] section
You can now tune the bundled gunicorn server via the config file:
[gunicorn]
workers = 5 # default: (CPU cores * 2) + 1
timeout = 30
max_requests = 1000
max_requests_jitter = 200The default worker count is now no longer 1, but scales with CPU count. In containers with restricted CPU quotas, set workers explicitly, since cpu_count() reflects host CPUs, not the cgroup limit.
New [database] connection-pooling options
[database]
conn_max_age = 60 # seconds; 0 = old behavior (open/close per request)
conn_health_checks = yes # validate connection before reuseConnections are now persisted for 60 seconds across requests by default (previously opened and closed per request). Set conn_max_age = 0 to restore the old behavior.
Full Changelog: v0.12.0...v0.13.0