The built-in password generator has been completely rebuilt with three modes:
- Passphrase — Word-based passwords in five languages (English, Spanish, French, German, Italian). Configurable word count, separator, capitalization, and optional number/symbol suffixes.
- Password — Random strings with granular control over length (4–128), character classes, ambiguous character avoidance, and four charset presets (ASCII, Latin, Cyrillic, Greek).
- PIN — Numeric codes, 4–12 digits.
All generation uses SecureRandom. Every result includes an entropy estimate in bits.
New API Endpoint
POST /api/v2/generate — Generate passwords, passphrases, or PINs programmatically. Supports batch generation (up to 10 via count), rate-limited to 30/min. Respects allow_anonymous settings. GET /api/v2/version now reports generator availability.
⚠️ Breaking Changes
The following environment variables have been removed:
PWP__GEN__HAS_NUMBERS, PWP__GEN__TITLE_CASED, PWP__GEN__USE_SEPARATORS, PWP__GEN__CONSONANTS, PWP__GEN__VOWELS, PWP__GEN__SEPARATORS, PWP__GEN__MAX_SYLLABLE_LENGTH, PWP__GEN__MIN_SYLLABLE_LENGTH, PWP__GEN__SYLLABLES_COUNT
Replaced by PWP__GEN__DEFAULT_TYPE and structured settings under PWP__GEN__PASSWORD__, PWP__GEN__PASSPHRASE__, and PWP__GEN__PIN__*.
See the blog post for the full migration table.
See also the updated documentation: https://docs.pwpush.com/docs/self-hosted-configuration/#password-generator
Thanks to @huiguang-liang, @pett-j, @shnsys, @JohnDoe-dev-spec, @CBB3810, @micahrothvirtuoso-dotcom and everyone else in the issues & discussions for requesting and championing these features over the years.
📝 What’s Changed
- Replace omgopass with passphrase, password, and PIN generation (#4835) @pglombardo, Peter Giacomo Lombardo
⬆️ Dependencies updates
- ⬆️ Bump docker/setup-buildx-action from 4.3.0 to 4.4.0 (#4840) @dependabot[bot]
- ⬆️ Bump brace-expansion from 5.0.9 to 5.0.12 (#4838) @dependabot[bot]
- ⬆️ Bump electron-to-chromium from 1.5.427 to 1.5.431 (#4842) @dependabot[bot]
- ⬆️ Bump fugit from 1.13.0 to 1.14.0 (#4841) @dependabot[bot]
- ⬆️ Bump devise-i18n from 1.16.0 to 1.16.1 (#4843) @dependabot[bot]
- ⬆️ Bump io-console from 0.9.2 to 0.9.4 (#4844) @dependabot[bot]
- ⬆️ Bump jwt from 3.2.0 to 3.3.0 (#4830) @dependabot[bot]
- ⬆️ Bump aws-sdk-s3 from 1.231.0 to 1.232.0 (#4831) @dependabot[bot]
- ⬆️ Bump msgpack from 1.8.4 to 1.8.5 (#4832) @dependabot[bot]
- ⬆️ Bump yaml from 2.9.0 to 2.9.1 (#4829) @dependabot[bot]
- ⬆️ Bump sass from 1.104.0 to 1.104.1 (#4833) @dependabot[bot]
- ⬆️ Bump autoprefixer from 10.5.6 to 10.6.0 (#4834) @dependabot[bot]
- ⬆️ Bump baseline-browser-mapping from 2.11.21 to 2.11.23 (#4818) @dependabot[bot]
- ⬆️ Bump autoprefixer from 10.5.5 to 10.5.6 (#4819) @dependabot[bot]
- ⬆️ Bump node-releases from 2.0.54 to 2.0.55 (#4820) @dependabot[bot]
- ⬆️ Bump electron-to-chromium from 1.5.423 to 1.5.427 (#4821) @dependabot[bot]
- ⬆️ Bump mission_control-jobs from 1.2.0 to 1.3.1 (#4822) @dependabot[bot]
- ⬆️ Bump update-browserslist-db from 1.3.2 to 1.3.3 (#4823) @dependabot[bot]
- ⬆️ Bump selenium-webdriver from 4.48.0 to 4.49.0 (#4824) @dependabot[bot]
- ⬆️ Bump net-imap from 0.6.6 to 0.6.7 (#4827) @dependabot[bot]
- ⬆️ Bump aws-sdk-s3 from 1.229.0 to 1.231.0 (#4828) @dependabot[bot]
👥 List of contributors
@pglombardo, @dependabot[bot] and Peter Giacomo Lombardo
🛥️ Docker Images
Available on Docker Hub:
https://hub.docker.com/r/pglombardo/pwpush
🏃♂️ Run This Version
- Point DNS to your server (e.g.
pwpush.example.com). - Download docker-compose.yml or clone the repo.
- In
docker-compose.yml, uncomment and set:TLS_DOMAIN: 'pwpush.example.com'for automatic Let’s Encrypt TLS.
- Run:
docker compose up -dOpen https://pwpush.example.com or alternatively http://your-ip:5100.