PackageTrack
Sign in Get early access

friendsofsymfony/user-bundle

Symfony FOSUserBundle

v4.1.0 37M downloads/mo #1380 most downloaded on Packagist FriendsOfSymfony/FOSUserBundle

What this package is like to depend on

Last release 6 months ago

13 Feb 2026

Ships unpredictably

gaps range from 9 days to 3.5 years

Nearly every release is documented

notes for 36 of 36 stable releases

Nothing withdrawn

no release was ever pulled

15 years old

41 releases · first in 2011

1 release in the last 12 months

see the full history below

Release timeline

41 releases · Dec 2011 to Feb 2026
2012 2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 41
  1. v4.1.0 13 Feb 2026
    Release notes
    • Convert XML config files to other formats to fix the deprecation of XML config files in Symfony
    • Add PHP routing files alongside the XML ones. Loading the XML routing files triggers a deprecation in Symfony 7.4.
    • Fix deprecation in the UserChecker
    • Fix the HashingPasswordUpdater to avoid trigger deprecations for UserInterface::eraseCredentials
    • Deprecate \FOS\UserBundle\Model\User::eraseCredentials
    • Remove support for Symfony < 7.3
    • Remove support for PHP < 8.2
    Open source →
    Release notes
    • Convert XML config files to other formats to fix the deprecation of XML config files in Symfony
    • Add PHP routing files alongside the XML ones. Loading the XML routing files triggers a deprecation in Symfony 7.4.
    • Fix deprecation in the UserChecker
    • Fix the HashingPasswordUpdater to avoid trigger deprecations for UserInterface::eraseCredentials
    • Deprecate \FOS\UserBundle\Model\User::eraseCredentials
    • Remove support for Symfony < 7.3
    • Remove support for PHP < 8.2
    Open source →
  2. v4.0.0 04 Jul 2024
    Release notes
    • [BC break] Removed the CouchDB ODM integration
    • [BC break] Added return types in most methods
    • [BC break] Marked classes as final when they were @final
    • Removed support for symfony <6.4
    • Removed support for PHP <8.1
    • Remove the mailer implementation based on Swiftmailer
    • Added support for Symfony 7
    Open source →
    Release notes
    • [BC break] Removed the CouchDB ODM integration
    • [BC break] Added return types in most methods
    • [BC break] Marked classes as final when they were @final
    • Removed support for symfony <6.4
    • Removed support for PHP <8.1
    • Remove the mailer implementation based on Swiftmailer
    • Added support for Symfony 7
    Open source →
  3. v3.4.0 25 Jun 2024
    Release notes

    What's Changed

    • Deprecated the TwigSwiftMailer implementation

    Full Changelog: v3.3.0...v3.4.0

    Open source →
    Release notes
    • Deprecated the TwigSwiftMailer implementation
    Open source →
  4. v3.3.0 24 Jun 2024
    Release notes
    • Added a mailer implementation based on symfony/mailer and Twig
    • Added tentative return types in most methods
    • Deprecated the CouchDB ODM integration as the ODM is unmaintained
    Open source →
    Release notes
    • Added a mailer implementation based on symfony/mailer and Twig
    • Added tentative return types in most methods
    • Deprecated the CouchDB ODM integration as the ODM is unmaintained
    Open source →
  5. v3.2.1 06 Jul 2023
    Release notes
    • Fixed remaining deprecations with Symfony 6.3
    Open source →
    Release notes
    • Fixed remaining deprecations with Symfony 6.3
    Open source →
  6. v3.2.0 06 Jul 2023
    Release notes
    • Fixed deprecations with Symfony 6.3
    • Fixed deprecations with Doctrine ORM (requires using DoctrineBundle 2.10.1 or newer for the fix to be effective)
    • Fixed the way to access the session when enabling confirmation emails
    • Fixed the way to access the firewall name when enabling the registration feature
    Open source →
    Release notes
    • Fixed deprecations with Symfony 6.3
    • Fixed deprecations with Doctrine ORM (requires using DoctrineBundle 2.10.1 or newer for the fix to be effective)
    • Fixed the way to access the session when enabling confirmation emails
    • Fixed the way to access the firewall name when enabling the registration feature
    Open source →
  7. v3.1.0 26 Oct 2022
    Release notes

    Added support for Symfony 6

    Open source →
    Release notes
    • Added support for Symfony 6
    Open source →
  8. v3.0.2 26 Oct 2022
    Release notes
    • Fixed support for the remember-me in the programmatic login when using the new authentication system of Symfony.
    • Fixed some deprecations when using Symfony 5.4.
    Open source →
    Release notes
    • Fixed support for the remember-me in the programmatic login when using the new authentication system of Symfony.
    • Fixed some deprecations when using Symfony 5.4.
    Open source →
  9. v3.0.1 27 Aug 2022
    Release notes
    • Fixed the wiring of controllers to avoid a deprecation warning when using Twig.
    Open source →
    Release notes
    • Fixed the wiring of controllers to avoid a deprecation warning when using Twig.
    Open source →
  10. v3.0.0 28 Apr 2022
    Release notes
    • [BC break] Change the base class of controllers to use the AbstractController (but extending the controllers is not officially supported anymore).
    • [BC break] Remove the group feature
    • [BC break] Change the base class for events to Symfony\Contracts\EventDispatcher\Event instead of Symfony\Component\EventDispatcher\Event
    • [BC break] Remove the Symfony\Component\Security\Core\User\AdvancedUserInterface methods from our UserInterface
    • [BC break] The ResettingListener now longer blocks password resetting requests based on the isAccountNonLocked method of the AdvancedUserInterface. Projects customizing isAccountNonLocked for that purpose should instead register their own listener for the FOSUserEvents::RESETTING_RESET_REQUEST event to set a response instead of processing the request.
    • [BC break] Made \FOS\UserBundle\Model\User::serialize and \FOS\UserBundle\Model\User::unserialize final. Child classes needing to extend the serialization must override __serialize and __unserialize instead.
    • [BC break] \FOS\UserBundle\Event\GetResponseNullableUserEvent no longer inherits from \FOS\UserBundle\Event\GetResponseUserEvent and \FOS\UserBundle\Event\UserEvent as that was breaking variance rules.
    • [BC break] A few methods of FOS\UserBundle\Model\User now have return types (in methods where Symfony 6 requires them)
    • [BC break] The legacy mailer based on SwiftMailer and symfony/templating is no longer used by default. Selecting a mailer service is now mandatory when using a feature needing the mailer.
    • [BC break] Remove the legacy mailer based on SwiftMailer and symfony/templating. Use fos_user.mailer.twig_swift or a custom mailer service.
    • Add support for Symfony 5.
    • Add return types in most methods.
    • Add autowiring support for FOS\UserBundle\Mailer\MailerInterface
    Open source →
    Release notes
    • [BC break] Change the base class of controllers to use the AbstractController (but extending the controllers is not officially supported anymore).
    • [BC break] Remove the group feature
    • [BC break] Change the base class for events to Symfony\Contracts\EventDispatcher\Event instead of Symfony\Component\EventDispatcher\Event
    • [BC break] Remove the Symfony\Component\Security\Core\User\AdvancedUserInterface methods from our UserInterface
    • [BC break] The ResettingListener now longer blocks password resetting requests based on the isAccountNonLocked method of the AdvancedUserInterface. Projects customizing isAccountNonLocked for that purpose should instead register their own listener for the FOSUserEvents::RESETTING_RESET_REQUEST event to set a response instead of processing the request.
    • [BC break] Made \FOS\UserBundle\Model\User::serialize and \FOS\UserBundle\Model\User::unserialize final. Child classes needing to extend the serialization must override __serialize and __unserialize instead.
    • [BC break] \FOS\UserBundle\Event\GetResponseNullableUserEvent no longer inherits from \FOS\UserBundle\Event\GetResponseUserEvent and \FOS\UserBundle\Event\UserEvent as that was breaking variance rules.
    • [BC break] A few methods of FOS\UserBundle\Model\User now have return types (in methods where Symfony 6 requires them)
    • [BC break] The legacy mailer based on SwiftMailer and symfony/templating is no longer used by default. Selecting a mailer service is now mandatory when using a feature needing the mailer.
    • [BC break] Remove the legacy mailer based on SwiftMailer and symfony/templating. Use fos_user.mailer.twig_swift or a custom mailer service.
    • Add support for Symfony 5.
    • Add return types in most methods.
    • Add autowiring support for FOS\UserBundle\Mailer\MailerInterface
    Open source →
  11. v2.2.4 14 Jan 2022
    Release notes
    • Fixed a deprecation warning reported by DebugClassLoader in the AdvancedUserInterface BC layer due to the change done in 2.2.3.
    Open source →
  12. v2.2.3 14 Jan 2022
    Release notes
    • Added missing deprecations on some group-related event classes
    • Fixed an invalid report of UserInterface being deprecated in static analyzers
    • Fixed the documented return type for \FOS\UserBundle\Event\GetResponseNullableUserEvent::getUser
    Open source →
  13. v2.2.2 08 Sep 2021
    Release notes
    • Fixed a deprecation warning about groups being triggered when loading all Doctrine metadata.
    Open source →
  14. v2.2.1 08 Sep 2021
    Release notes
    • Fixed a deprecation warning about groups being triggered when loading the User class of the bundle.
    Open source →
  15. v2.2.0 26 Aug 2021
    Release notes
    • Deprecated the Groups feature.
    • Marked all controllers final.
    • Marked internal classes as such.
    • Added Mongolian translation.
    • Added an email provider.
    • Added a custom user checker.
    • Added PHP 7.4 and PHP 8.0 support.
    • Removed fieldName attribute in MongoDB mapping.
    • Registration confirmation now redirects to login page if token is invalid.
    • User model will not rely on AdvancedUserInterface anymore.
    • Self-salting password encoders will not create a salt anymore.
    • FlashListener constructor now accepts SessionInterface.
    • Fixed several Symfony deprecation notices.
    • Fixed several translations.
    • Bumped the min PHP version to 7.1.3.
    • Bumped the min Symfony version to 4.4.
    • Added compatibility with Twig 3.
    • Added compatibility with doctrine/persistence 2.
    Open source →
  16. v2.1.2 08 Mar 2018
    Release notes
    • Fixed compatibility of controllers with Symfony 2.8
    Open source →
  17. v2.1.1 20 Feb 2018
    Release notes
    • Fixed the check for the required session, to account for the fact it is not always required.
    Open source →
  18. v2.1.0 19 Feb 2018
    Release notes
    • Dropped Symfony < 2.8 support.
    • Add Symfony 4 compatibility.
    • Refactored controllers and commands to use DI. Projects extending these classes will need to adapt their code (but should rather use supported extension points when possible).
    • Redirect to login when requesting resetting password with invalid token.
    • Added autocomplete hints for password inputs.
    • Fixed several incorrect Turkish translations.
    Open source →
  19. v2.0.2 29 Nov 2017
    Release notes
    • Fix empty password in ChangePasswordFormType.
    • Fix empty password in ProfileFormType.
    • Introduced aliases for autowiring user and group managers.
    • Added Bengali translation.
    • Added Galician translation.
    • Updated Danish translation.
    • Updated Japanese translation.
    Open source →
  20. v2.0.1 31 May 2017
    Release notes
    • Add SwiftMailer 6 compatibility.
    • Inject firewall user_checker into LoginManager.
    • Updated English translation.
    • Updated Estonian translation.
    • Updated Persian translation.
    • Updated Turkish translation.
    • Updated several docs.
    Open source →
  21. v2.0.0 29 Mar 2017
    Release notes
    • Removed default fos_user.from_email configuration values.
    • Removed usage of internal Twig APIs when rendering emails.
    • Add a timeout for the reset retry request.
    • Add Esperanto translations.
    • Fixed incorrect confirmation url.
    • Commented outdated entries in several translation files.
    • [BC break] Use UserManager::getRepository() instead of UserManager::$repository.
    • [BC break] Use UserManager::getClass() instead of UserManager::$class.
    Open source →
  22. 2.0.0-beta2 30 Jan 2017 pre-release
    Release notes
    • Use ceil in ResettingController for a better token lifetime approximation.
    • Removed unused translation keys.
    • Removed form deprecations.
    • Use @-based Twig syntax for templates.
    • Improved several language files.
    • Improved documentation.
    • Ability to disable the authentication listener.
    • Removed DateUtil class.
    • [BC break] Changed validation max length to match the database structure.
    Open source →
  23. v2.0.0-beta1 29 Nov 2016 pre-release
    Release notes
    • Dropped Symfony < 2.7 support.
    • Dropped PHP < 5.5 support.
    • Exclude tests from autoloader.
    • Allow to use POST for logout.
    • Fix UserPassword constraint validation groups.
    • Harmonized email detection in UserManager.
    • Added unique index for confirmation_token field.
    • Added Kyrgyz translation files.
    • Added user manipulator events.
    • Replaced checkPostAuth by checkPreAuth in AuthenticationListener.
    • [BC break] Method ResettingController::getObfuscatedEmail has been removed.
    • [BC break] Renamed templates to underscore case.
    • [BC break] Removed UserManager::refreshUser.
    • [BC break] Removed UserManager::loadUserByUsername.
    • [BC break] Removed UserManager::supportsClass.
    • [BC break] Removed FOS\UserBundle\Model\User properties $locked, $expired, $expiredAt, $credentialsExpired, $credentialsExpiredAt and associated setter and getter (see here).
    • [BC break] The signature of the Initializer constructor has changed.
    • [BC break] The signature of the LoginManager constructor has changed.
    • [BC break] The signature of the UserListener constructor has changed.
    • [BC break] The signature of the UserManager constructor has changed.
    • [BC break] The translation key resetting.request.invalid_username has been removed.
    • [BC break] The propel dependency was dropped.
    • [BC break] The salt field of the User class is now nullable.
    Open source →
  24. v2.0.0-alpha3 15 Sep 2015 pre-release
    Release notes
    • Reverted the removed of the expired and credentialsExpired properties as the BC break could lead to corrupted objects being created if server sessions are not cleared when upgrading the bundle.
    Open source →
  25. v2.0.0-alpha2 15 Sep 2015 pre-release
    Release notes
    • The minimum requirement for Doctrine is now ORM 2.4 and MongoDB ODM 1.0-alpha10.
    • [BC break] The deprecated entity classes have been removed.
    • The minimum requirement for Symfony has been bumped to 2.3 (older versions are already EOLed).
    • [BC break] UserInterface::isUser has been removed as it was used only by the old validation logic removed a long time ago.
    • [BC break] The FOSUserBundle:Security:login.html.twig template now receives an AuthenticationException in the error variable rather than an error message.
    • [BC break] The templating engine configuration has been removed, as well as the related code.
    • [BC break] Changed the XML namespace to http://friendsofsymfony.github.io/schema/dic/user
    • [BC break] Added UserInterface::getId.
    • [BC break][Reverted] Removed unused properties expired and credentialsExpired including corresponding methods. This may break code, which makes use of this methods, extending classes, and/or existing installations because of missing mappings for required db fields.
    Open source →
  26. v2.0.0-alpha1 26 Sep 2014 pre-release
    Release notes
    • Updated many translations.
    • Changed the way to pass the email to the page asking to check the email to avoid issues with non-blocking sessions.
    • Changed the fos_user_security_check route to enforce POST.
    • Removed the deprecated UserManager and GroupManager classes for the different Doctrine implementations.
    • [BC break] Refactored the structure of controller to dispatch events instead of using form handlers.
    • Removed all form handlers.
    • [BC break] Changed Datetime properties of default User entity that were nullable to default to null when no value supplied.
    • [BC break] Updated schema.xml for Propel BaseUser class to allow nullable and typehint accordingly.
    Open source →
  27. v1.3.7 12 Aug 2016
    Release notes
    • Fixed some yaml errors in translation files
    • Fixed bad credentials translations
    • Fixed canonicalizer with illegal chars
    • Fixed deprecated routing configuration
    • Fixed class name check in UserProvider::refreshUser()
    • Updated several translation files
    • Removed colons from translation files
    • Updated several documentation examples
    • Converted documentation to rst format
    Open source →
  28. v1.3.6 01 Jun 2015
    Release notes
    • Fix compatibility with Symfony 2.7 #1777
    Open source →
  29. v1.3.5 04 Sep 2014
    Release notes

    This release fixes a security issue. You are encouraged to update as soon as possible.

    BC break: The characters used in generated tokens have changed. They now include dashes and underscores as well. Any routing requirement matching them should be updated to [\w\-]+.

    • Fixed the TokenGenerator to preserve entropy.
    Open source →
  30. v1.3.4 13 Jun 2014
    Release notes
    • Fixed the compatibility with FrameworkBundle 2.5
    • Fixed a few issues in translations
    • Enforce the POST method for the login_check route
    Open source →
  31. v1.3.3 23 Sep 2013
    Release notes

    This releases prevents a potential DOS attack. You are encouraged to update as soon as possible.

    • Added a max length validation on the password
    Open source →
  32. v1.3.2 25 May 2013
    Release notes
    • Changed the flash message handling to use the non-deprecated api
    • Updated the composer constraint to allow Symfony 2.3
    Open source →
  33. v1.3.1 22 Dec 2012
    Release notes
    • Replaced the deprecated validation constraints by the new ones
    • Added an error message when the repeated password is invalid
    • Updated many translations
    • Made the composer requirement compatible with Symfony 2.2.*
    • Fixed the handling of the target url after the registration
    Open source →
  34. v1.3.0 05 Oct 2012
    Release notes
    • Refactored the Propel implementation to get rid of the UserProxy
    • Changed the expectation for FOS\UserBundle\Model\GroupableInterface#getGroups to Traversable
    • Moved the role constants to the UserInterface instead of the abstract User class
    • Refactored the Doctrine implementations to use the same manager classes
    • Removed the custom uniqueness validation in favor of the core constraints
    • Added getRedirectionUrl method to ProfileController
    • Added an extension point in the registration handler
    • Moved the generation of the token to a dedicated class
    • Added new user provider classes. They should be preferred over using the UserManager as UserProvider.
    • Removed the custom password validation in favor of the Symfony 2.1 constraint
    • Refactored the translation of form labels using the translation_domain option of Symfony 2.1
    • Bumped the requirement to Symfony 2.1
    Open source →
  35. v1.2.5 23 Sep 2013
    Release notes

    This releases prevents a potential DOS attack. You are encouraged to update as soon as possible.

    • Added a max length on the password field
    • Fixed a Yaml parsing error in the Japanese translations
    Open source →
  36. v1.2.4 10 Jul 2012
    Release notes

    This release fixes another security issue. Please update to it as soon as possible.

    • Fixes a security issue where the session could be hijacked
    Open source →
  37. v1.2.3 10 Jul 2012
    Release notes
    • Fixed the serialization of users to include the id
    Open source →
  38. v1.2.2 10 Jul 2012
    Release notes
    • Fixed a bug in the previous fix
    Open source →
  39. v1.2.1 10 Jul 2012
    Release notes

    This release fixes a security issue. You are encouraged to update to it as soon as possible.

    • Fixed the user refreshing to check the identity by primary key instead of username
    Open source →
  40. 1.2.0 11 Apr 2012
    Release notes
    • Prefixed fos table names in propel schema with "fos_" to avoid using reserved sql words
    • Added a fluent interface for the entities
    • Added a mailer able to use twig blocks for the each part of the message
    • Fixed the authentication in case of locked or disabled users. Github issue #464
    • Add CSRF protection to the login form
    • Added translations: bg, hr
    • Updated translations
    • Added translations for the validation errors and the login error
    • Removed the user-level algorithm. Use FOSAdvancedEncoderBundle instead if you need such feature.
    • Fixed resetting password clearing the token but not the token expiration. Github issue #501
    • Renamed UsernameToUsernameTransformer to UserToUsernameTransformer and changed its service ID to fos_user.user_to_username_transformer.
    Open source →
  41. 1.1.0 15 Dec 2011
    Release notes
    • Added "custom" as valid driver
    • Hide part of the email when requesting a password reset
    • Changed the validation messages to translation keys
    • Added the default validation group by default
    • Fixed updating of changed fields in listener. Github issue #403
    • Added support for Propel
    • Added composer.json
    • Made it possible to override the role constants in derived User class
    • Updated translations: da, de, en, es, et, fr, hu, lb, nl, pl, pt_BR, pt_PT, ru
    • Added translations: ca, cs, it, ja, ro, sk, sl, sv
    • Changed the instanceof check for refreshUser to class instead of interface to allow multiple firewalls and correct use of UnsupportedUserException
    • Added an extension point in the form handlers. Closes #291
    • Rewrote the documentation entirely
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive