NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1942 most downloaded on Packagist
The missing Symfony Admin Generator
Last release 4 months ago
03 Jun 2026
Release timing varies
gaps range from 1 weeks to 5 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
277 releases · first in 2013
[ #8381 ] Support for symfony/stimulus-bundle 3. ( @virtualize )
FormErrorIteratorToConstraintViolationList::transform() to sanitize error messages and prevent leaking sensitive information (e.g. internal file system paths) (@micbis)doctrine/collections 3 (@dmaicher)edit_many_script when the associated admin has no accessible edit route (@EmmanuelVella)One column per quarter.
[ #8369 ] The symfony/security-acl dependency is now optional. You need to explicitly require it as a dependency if you are using ACL. ( @dmaicher )
[ #8350 ] Method CanonicalizeRuntime::getCanonicalizedLocaleForMoment() is deprecated and no-op. It always returns null. ( @dmaicher )
CanonicalizeRuntime::getCanonicalizedLocaleForMoment() is deprecated and no-op. It always returns null. (@dmaicher)sonata-project/form-extensions v1 was removed (@dmaicher)sonata-project/exporter v2 was removed (@dmaicher)sonata-project/doctrine-extensions v1 was removed (@dmaicher)sonata-project/twig-extensions v1 was removed (@dmaicher)sonata-project/block-bundle v4 was removed (@dmaicher)[ #8312 ] Importing sonata_admin.xml is deprecated ( @willemverspyck )
sonata_admin.php routing config (@willemverspyck)sonata_admin.xml is deprecated (@willemverspyck)Request::get() (@VincentLanglet)[ #8334 ] * ImmutableArrayType field helper message must not displayed twice ( @sad270 )
[ #8329 ] ImmutableArrayType field and it subfields help message are not displayed ( @sad270 )
[ #8316 ] Optional package_name for assets ( @andreybotanic )
[ #8313 ] ID retrieving in autocomplete results ( @valkars )
[ #8309 ] Allow HTML values in readmore controller ( @onEXHovia )
[#8305] "The Request object has not been set" exception when using translation:extract command (@dramenev)
[#8304] Revert and deprecated methods Admin.setup_sticky_elements and Admin.setup_readmore_elements (@onEXHovia)
Admin.setup_sticky_elements and Admin.setup_readmore_elements (@onEXHovia)[#8302] Check optional targets in sticky controller (@onEXHovia)
[#8300] Add LastModifiedVersionStrategy version strategy (@onEXHovia)
LastModifiedVersionStrategy version strategy (@onEXHovia)[#8283] Replaced hardcoded sonata.admin strings with class constant TaggedAdminInterface::ADMIN_TAG (@symfonyaml)
sonata.admin strings with class constant TaggedAdminInterface::ADMIN_TAG (@symfonyaml)[#8278] Execute JS scripts embedded in prototype (@onEXHovia)
[#8265] Migrate edit form behaviors to vanilla js (@onEXHovia)
HttpException with BadRequestHttpException in the validateCsrfToken method to properly reflect an HTTP 400 error for invalid CSRF tokens (@desarrolla2)[#8261] Convert HTMLOptionsCollection to array before apply filter (@onEXHovia)
[#8242] Fix filter behaviors after migrate to stimulus (@onEXHovia)
[#8239] Deprecated usages of spaceless twig filter (@dmaicher)
[#8237] Add back previously removed jquery-form plugin (@dmaicher)
[#8230] Migrate filter to vanilla js (@onEXHovia)
[#8225] Drop Symfony < 6.4 (@VincentLanglet)
[#8219] Support editable mode on FieldDescriptionInterface::TYPE_ENUM (@onEXHovia)
FieldDescriptionInterface::TYPE_ENUM (@onEXHovia)[#8213] Support for select2 tags option (@micbis)
TranslatableInterface are now correctly translated by the FieldDescriptionInterface::TYPE_ENUM field type (@zyberspace)[#8187] Symfony 7.1 deprecation about Symfony\Component\HttpKernel\DependencyInjection\Extension usage (@AirBair)
[#8177] Batch consistency (@pietaj)
[#8175] Filter::getLabelTranslationParameters implementation (@VincentLanglet)
Filter::getLabelTranslationParameters implementation (@VincentLanglet)[#8170] SearchHandlerInterface (@VincentLanglet)
FilterInterface::showFilter (@VincentLanglet)FilterInterface::getLabelTranslationParameters (@VincentLanglet)FilterInterface::withAdvancedFilter (@VincentLanglet)label_translation_parameters option usage (@VincentLanglet)[#8149] Fix possible null error in search (@core23)
[#8139] Deprecation about ArgumentValueResolverInterface usage (@Hanmac)
[#8136] Fix clashing global twig variables (admin, base_template) if already set (@core23)
[#8127] Symfony 7 support (@VincentLanglet)
[#8125] Needing to submit form twice when using CRUDController::render() (@AntoineRoue)
[#8116] Deprecate CRUDController::renderWithExtraParams method (@core23)
CRUDController::renderWithExtraParams method (@core23)CRUDController::addRenderExtraParams method (@core23)CRUDController::getBaseTemplate method (@core23)GroupMapper::removeTab and GroupMapper::removeGroup (@VincentLanglet)[#8099] label_catalogue configuration node deprecation message (@7ochem)
[#8083] Autocomplete attr support for select2 (@pietaj)
[#8091] Fix display of enums for nullable property (@bedfir)
[#8079] Update jQuery to ^3.7.0 (@tonyaxo)
[#8072] Support for SonataBlockBundle 5.0 (@jordisala1991)
FieldDescriptionInterface::TYPE_ENUM. (@phansys)[#8064] Support for sonata-project/form-extensions 2.0 (@jordisala1991)
sonata-project/form-extensions 2.0 (@jordisala1991)app.js (@jordisala1991)[#8041] Top nav bar menu for user is shown if there is a user logged in (@jordisala1991)
[#8039] Fix display of enums for nullable property (@AirBair)
[#8029] Use symfony/string instead of doctrine/inflector to convert words from "snake_case" to "camelCase" (@jordisala1991)
symfony/string instead of doctrine/inflector to convert words from "snake_case" to "camelCase" (@jordisala1991)[#8009] Fix response_item_callback option for ModelAutocompleteType form field. (@aleksvaganoff)
ModelAutocompleteType form field. (@aleksvaganoff)ModelType form field. (@jorrit)[#8003] Value resolver deprecations using Symfony 6.2 (@franmomu)
[#8001] Admin extension declaration with priority (@VincentLanglet)
[#7998] ExtensionCompilerPass usage with parameters class string. (@VincentLanglet)
[#7994] Added usage of ExporterInterface instead of Exporter class. (@pkameisha)
sonata_admin.extensions config with the admin class rather than the model class thanks to admin_implements, admin_instanceof, admin_extends and admin_use options. (@VincentLanglet)excludes, extends, implements, instanceof, uses, admin_implements, admin_instanceof, admin_extends and admin_use options are now available directly when tagging an admin extension. (@VincentLanglet)[#7985] Fixed an issue with integer indexed form children within FormBuilderIterator (@dmaicher)
[#7952] Fix a typo in the deprecation message which is triggered when multiple sonata.admin tags are found in the same service definition. (@tamcy)
AbstractAdmin::setSubject() use getModelClass() instead of getClass() to check is the subject is allowed (@7ochem)appendFormFieldElement on nested collection named the same as one of the parent fields (@fgueguen)Pool::getAdminByClass() when the admin code is different from its service id. (@tamcy)sonata.admin tags are found in the same service definition. (@tamcy)[#7941] Applying the service tag sonata.admin to a service more than once is deprecated. This is not meant to be supported and will not work as intend…
sonata.admin to a service more than once is deprecated. This is not meant to be supported and will not work as intended, as only one of the tag attributes will be applied to the service. (@tamcy)[#7922] [BC break] Change json error output for ajax calls to create or edit admin endpoints. (@jordisala1991)
ModelManager::getIdentifierValues (@VincentLanglet)ModelManager::getIdentifierFieldNames (@VincentLanglet)[#7913] Security attributes can be string or symfony expression language expressions (@VincentLanglet)
[#7906] Added ProxyManagerInterface (@VincentLanglet)
ClassUtils::getClass to resolve proxy classes. The ModelManager have to implements the ProxyManagerInterface instead. (@VincentLanglet)[#7894] Support for twig-extensions 2 (@VincentLanglet)
sonata-project/doctrine-extensions ^2 (@VincentLanglet)sonata-project/exporter ^3 (@VincentLanglet)[#7867] Added AbstractAdmin::generateBaseRoutePattern() (@VincentLanglet)
AbstractAdmin::generateBaseRoutePattern() (@VincentLanglet)AbstractAdmin::generateBaseRouteName() (@VincentLanglet)AbstractAdmin::$baseRoutePattern property (@VincentLanglet)AbstractAdmin::$baseRouteName property (@VincentLanglet)[#7841] Support for a FilterInterface::getFormOptions method. (@VincentLanglet)
Sonata\AdminBundle\Form\Type\Filter\*Type except the FilterDataType. (@VincentLanglet)[#7861] AdminInterface phpdoc (@VincentLanglet)
[#7836] Command deprecations using Symfony 6.1 (@franmomu)
Your coding agent can read these notes before it upgrades. Set up the MCP server →