config-files can now use OS environment-variables anywhere in the [global] config section cbd82b6e52bbed
by default, only the syntax ${VAR} is supported, not $VAR or %VAR%
previously, a small handful of global-options already supported this (c lo hist dbpath ssl_log), but they also supported the $VAR syntax, which is no longer the case
if the old $VAR syntax is detected, copyparty will crash on startup, suggesting the following remedies (choose one!) in the log:
update the config-value to the new ${VAR} syntax (recommended)
allow the old syntax with global-option --env-expand 1 (risky)
ignore the old syntax and only expand the new syntax with global-option --env-expand 2
disable all environment-variable expansions with PRTY_NO_ENVEXPAND=1
Self-service portal now needs Stalwart 0.16+: Stalwart dropped its self-service HTTP API in 0.16.0 and replaced it with JMAP. Bulwark Webmail only talks to the new JMAP endpoint, so the self-service portal (account settings, app passwords, API keys) requires Stalwart 0.16 or newer. STALWART_API_URL is deprecated, these actions go through the normal JMAP session.
Features
Stalwart: Migrate Stalwart management API to JMAP x: methods for Stalwart 0.16
Admin: Add API Keys management and IP allowlist for App Passwords
Contacts: Revamp contact detail view with filters, photo, print, and duplicate actions
This version requires nodejs 22+ for frontend building. Check that you have it installed, before attempting automatic upgrade.
Tip
If you like Part-DB, consider donating to support the development. Press the sponsor button on the main github page, for more info.
Important
If you are using Part-DB it would be helpful if you fill out this short survey on your usage of Part-DB (Google Forms): https://forms.gle/Q15twx3YYq3qCNfe8
Changes
Frontend building now requires at least nodejs 22.
For security hardening reasons Part-DB's generic web provider and the attachment download feature cannot download from local network IPs to avoid SSRF attacks. If you require internal attachment download, you can enable it via an env option.
New features
Make format06 barcode checking more resiliant for non-standard conform labels and scanners by @mkne in #1321
Implement parsing of TME QR codes by @alufers in #1324
Replaced "All Users" tab with Active, Suspended, and Invited status tabs (#27036 by @robluton)
Added Save as New File option to image editor (#27084 by @JamesW1)
@directus/api
Added a new /ai/object endpoint to generate structured objects for autocomplete and other inline experiences (#26862 by @bryantgillespie)
@directus/composables
Eliminated redundant count requests in the useItems composable (#26906 by @okxint)
π Bug Fixes & Optimizations
@directus/app
Fixed export failing on collections with virtual fields like $thumbnail by excluding them from export defaults and the field picker (#27073 by @om-singh-D)
Added customizing of cache keys for flow endpoints. (#26935 by @costajohnt)