roots/wp-password-bcrypt
A WordPress plugin that replaces WordPress’s default password hashing with bcrypt using PHP’s password_hash and password_verify. Existing passwords are rehashed automatically on login, improving security without changing the user experience.
PHP >= 8.0 floor (#46) is a hard gate. If any property still runs PHP 7.4, this release cannot ship there — that constraint should feed the PHP upgrade roadmap, not be discovered at deploy time.1.2.x on legacy hosts and freezing the dependency in the lockfile with a documented exception.SensitiveParameter on $password/$hash (#45) keeps secrets out of stack traces, and the $old_user_data parameter (#43) restores parity with the WordPress 6.7 wp_set_password action. Both reduce incidental risk; neither changes the strategic picture.Consider it only in these narrow cases:
Look elsewhere — or plan removal — when:
wp_hash_password/wp_check_password; it delivers no value outside WordPress, despite being Composer-installable.Adoption gate: do not greenlight unless there is a named owner, a dated removal milestone, and a test proving existing user credentials still authenticate after removal.
To executives (one paragraph): The bcrypt password plugin we depend on has been formally sunset in its 1.3.0 release. Nothing is broken today — 1.3.0 is small and low-risk: it raises the PHP floor to 8.0, keeps secrets out of error logs, and aligns with WordPress 6.7's password API. But there will be no future fixes, so the security value it once provided now has to come from WordPress core. The ask is modest: approve a planned migration this quarter and a short freeze on the dependency in the meantime, so we retire it deliberately instead of reactively.
To engineering:
1.2.x there and open a PHP upgrade ticket.Bottom line: this release is a stop sign, not a feature drop. The PM action is to convert an unmaintained dependency into a scheduled, tested decommission — and to make sure no new work is built on top of it.
How can I help you explore Laravel packages today?