What’s Changed in v3.2.0
Self-hosted improvements
- Planner, Finance, and Client Portal are now enabled by default for self-hosted installations.
- Added SMTP support for email invitations and notifications. Administrators can configure their own SMTP provider and sender address.
- Client Portal invitation and password-reset links can now use a configurable public hostname.
- Startup validation now reports incomplete or invalid email configuration. [#520](#520)
Storage and deployment
- Replaced the bundled MinIO-based object storage setup with SeaweedFS, using an S3-compatible interface. Existing MinIO data should be backed up and migrated before upgrading. [#423](#423)
- Added missing baseline migrations and made existing migrations idempotent to make upgrades more reliable. [#487](#487)
- Docker image references are pinned to
3.2.0. [#495](#495)
Documentation
- Updated setup and deployment documentation.
- Added Planner and Import/Export to the documented feature set.
- Added self-hosted SMTP, Client Portal hostname, and manual deployment guidance. [#453](#453), [#485](#485)
Maintenance
- Reduced optional AppSumo extension log noise.
- Updated backend, frontend, and client portal dependencies, including security and maintenance updates for packages such as
multer,sharp,DOMPurify,axios,morgan, andjs-yaml.
Upgrade Notes
Before upgrading:
- Back up your PostgreSQL database and existing object storage data.
- If upgrading from MinIO, plan the migration of existing files to SeaweedFS.
- Pull the v3.2.0 changes and rebuild/restart the applications.
- For self-hosted email invitations, add SMTP configuration to
worklenz-backend/.env:
WORKLENZ_DEPLOYMENT_MODE=self_hosted
EMAIL_PROVIDER=smtp
EMAIL_FROM="Worklenz <noreply@your-domain.com>"
SMTP_HOST=smtp.your-provider.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-smtp-username
SMTP_PASSWORD=your-smtp-password
CLIENT_PORTAL_HOSTNAME=client.your-domain.comFor SMTP providers using implicit TLS, use port 465 with SMTP_SECURE=true.
Full Changelog: v3.1.0...v3.2.0