friendsofsymfony/advanced-encoder-bundle
A Symfony bundle that provides an advanced password encoder factory, letting different users use different encoders. Useful for migrating legacy password hashes and gradually upgrading users to stronger algorithms without forcing password resets or locking accounts out.
PasswordHasherFactory, 5.3+ UserPasswordHasherInterface / PasswordUpgraderInterface). The product decision it supports is: build this in-house against supported Symfony primitives, do not vendor this bundle.Adopt only under a very narrow set of conditions — and even then, prefer a fork or a ~50-line custom service:
Look elsewhere — i.e., do not adopt — when:
PasswordHasherFactory keyed by user class, UserPasswordHasherInterface for hashing, and implement PasswordUpgraderInterface for migrate-on-login. This is the supported, patched, documented path.To executives (30 seconds): We evaluated this package and recommend against adopting it — it's been archived since 2014 and only supports an unsupported Symfony version, so using it in production would be a security and maintenance liability. However, it points at a real capability gap we should address: the ability to use different password-hashing policies for different customers and to automatically upgrade users' stored passwords to stronger hashing on login. Modern Symfony supports this natively, so this is a small, contained engineering item (~1–2 sprints) with no user-visible change, and it materially reduces our exposure in a breach and our friction in security reviews. Recommendation: close this evaluation, open a roadmap item for "password hashing agility and migrate-on-login," and ship it on supported framework primitives.
To engineering (short form): Do not add friendsofsymfony/advanced-encoder-bundle to composer.json. It targets Symfony 2, is archived, has no releases since 2014 and zero dependents. The requirement it addressed — selecting an encoder per user instance — is now handled by PasswordHasherFactory with a user-class/tenant resolver plus PasswordUpgraderInterface for transparent rehash on successful authentication. If we still have Symfony 2 code paths relying on this pattern, that's an argument for prioritizing the framework upgrade; treat this bundle as a design reference only, and if we must support it short-term, fork and pin it with an explicit owner and removal date.
How can I help you explore Laravel packages today?