feat(password): enhance password complexity requirements and validation - #1717
Conversation
lucs7
commented
Sep 20, 2026
- strengthens the application's password complexity requirements and updates related configuration
- include a minimum number of special characters,
- require both upper and lower case letters, and raise the minimum numbers and letters.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The validator incorrectly counts special characters as digits, and the environment value 0 cannot disable the requirement.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
This PR strengthens password complexity requirements, adds configurable special-character validation, and updates related tests, configuration, and translations.
Changes:
- Raises minimum letter and number requirements and requires mixed case.
- Adds configurable special-character requirements.
- Updates configuration examples, tests, and localized messages.
| File | Review summary |
|---|---|
tests/Infrastructure/Config/ConfigTest.php |
Updates the minimum-letter expectation. |
tests/Common/Validators/PasswordComplexityValidatorTest.php |
Adds special-character tests. Nit (1 vote): add coverage for digit and letter thresholds. |
lib/Config/ConfigKeys.php |
Defines stronger password defaults and the special-character setting. |
lib/Common/Validators/PasswordComplexityValidator.php |
Applies the expanded password rules. Critical (3 votes): special characters are counted as numbers; digit counting should use [0-9]. |
lang/it_it.php |
Updates Italian password messages. |
lang/fr_fr.php |
Updates French password messages. |
lang/es.php |
Updates Spanish password messages. |
lang/en_us.php |
Updates English password messages. |
lang/de_de.php |
Updates German password messages. |
config/config.dist.php |
Updates distributed password settings. Nit (1 vote): documentation still lists old defaults and omits the special-character setting. |
.env.example |
Documents environment settings. Moderate (1 vote): the value 0 cannot disable the requirement because it is treated as empty. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
e8956cb to
7a90e1a
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Unresolved validation, configuration, localization, and documentation issues remain.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 3
Open (3)
Resolved since last review (1)
676974d to
ac6fcb2
Compare
BREAKING CHANGE: config.php 'password.minimum letters' has been renamed to 'password.minimum length'
ac6fcb2 to
23bccc8
Compare
JohnVillalovos
left a comment
There was a problem hiding this comment.
LGTM
Thanks @lucs7

