-
Notifications
You must be signed in to change notification settings - Fork 39
Upgrade Password Manager
Always make a backup before upgrading.
Recommended pre-upgrade checklist:
- Log in to the old installation.
- Generate a backup from
Settings -> Back Up. - If you use file attachments, check
Include Files. - Save a copy of the old application files.
- Save a copy of the database.
- Save a copy of the old config file.
- Confirm the backup can be unlocked from the recovery page.
For v11.00 and later, the database format is expected to remain compatible for normal upgrades.
Basic process:
- Download the latest stable release.
- Do not re-import
initial.sql. - Deploy the new
src/backend. - Deploy the new
src/frontend. - Move configuration values from the old config into the new split config files.
- Clear browser cache or hard-refresh the frontend.
- Log in and test backup/recovery.
Old layout:
src/function/config.php
New layout:
src/backend/function/config.php
src/frontend/config.js
The new backend config contains:
src/backend/function/config.php
Use it for:
- database host/name/user/password
$FRONTEND_URL$ALLOW_NO_ORIGIN_REQUESTS- timezone
- server-side salt
- signup/file/custom-field/PIN/session settings
The new frontend config contains:
src/frontend/config.js
Use it for:
apiBaseUrlglobalSalt1globalSalt2- frontend behavior such as browser timeout and default generated password length
Do not change salts for existing data.
When upgrading an existing installation:
- Copy the old client-side salt values from the old
src/function/config.phptosrc/frontend/config.js. - Copy the old server-side salt value to
src/backend/function/config.php. - Back up both new config files.
If the salt values are changed after data has been created, existing encrypted data may become unreadable.
v11.08 removed e-mail based 2FA for the Password-Manager master account.
After upgrading, log in and configure TOTP-based 2FA:
Settings -> Turn on 2FA
Save the TOTP secret shown during setup.
v11.08 separates static frontend code from backend REST API code.
Recommended production deployment:
Frontend: https://pm.example.com/
Backend: https://api.example.com/passwordmanager/backend/
Configure the frontend:
apiBaseUrl: "https://api.example.com/passwordmanager/backend/",Configure the backend:
$FRONTEND_URL = 'https://pm.example.com/';Do not use wildcard CORS headers.
Older versions may use different cryptographic flows, layouts, and migration steps. Treat the upgrade as a migration rather than a simple overwrite.
Recommended path:
- Keep the old installation working.
- Log in to the old installation.
- Generate a backup.
- Include files if you need file attachments.
- Open the recovery page from the same old version and unlock the backup.
- Export RAW if available.
- Install a fresh v11.08+ instance.
- Create a new user.
- Import the RAW file from
Settings -> Import.
If RAW export is not available for your old version, export CSV from the old version or from its recovery page, then import CSV into the new instance.
Very old versions may require stepping through older releases. Use Release Archive to download the version that matches an old backup.
After a successful upgrade:
- Log in.
- Confirm entries decrypt correctly.
- Confirm attached files download correctly, if used.
- Configure TOTP-based 2FA.
- Generate a fresh backup.
- Test the fresh backup with the recovery page.
- Disable signup for private instances:
$ALLOW_SIGN_UP = false;Do not import initial.sql over an existing database unless you are creating a new installation.
Do not change existing salts during upgrade.
Wrong:
apiBaseUrl: "https://api.example.com/passwordmanager/backend/rest/",Correct:
apiBaseUrl: "https://api.example.com/passwordmanager/backend/",Do not follow old instructions that reference:
src/function/config.phpsignup.php-
reg.phpat the old root - SendGrid
- e-mail verification
- old client-side source-file MD5 checking