sonata-project/admin-bundle
The missing Symfony Admin Generator
4.43.0
20M downloads/mo
#2027 most downloaded on Packagist
sonata-project/SonataAdminBundle
What this package is like to depend on
Last release 2 months ago
03 Jun 2026
Release timing varies
gaps range from 1 weeks to 5 months
Most releases are documented
notes for 243 of 273 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
277 releases · first in 2013
7 releases in the last 12 months
see the full history below
Release timeline
277 releases · Jan 2013 to Jun 2026
2014
2016
2018
2020
2022
2024
2026
Releases
latest 60 of 277-
4.43.003 Jun 2026Release notes
Open source →Added
- [#8381] Support for symfony/stimulus-bundle 3. (@virtualize)
- [#8373] Added optional flag to
FormErrorIteratorToConstraintViolationList::transform()to sanitize error messages and prevent leaking sensitive information (e.g. internal file system paths) (@micbis) - [#8371] Support for
doctrine/collections3 (@dmaicher)
Fixed
- [#8382] Do not generate the edit button URL in
edit_many_scriptwhen the associated admin has no accessibleeditroute (@EmmanuelVella)
Removed
Security
Release notes
Open source →Added
- [#8381] Support for symfony/stimulus-bundle 3. (@virtualize)
- [#8373] Added optional flag to
FormErrorIteratorToConstraintViolationList::transform()to sanitize error messages and prevent leaking sensitive information (e.g. internal file system paths) (@micbis) - [#8371] Support for
doctrine/collections3 (@dmaicher)
Fixed
- [#8382] Do not generate the edit button URL in
edit_many_scriptwhen the associated admin has no accessibleeditroute (@EmmanuelVella)
Removed
Security
-
4.42.005 Jan 2026 -
4.41.030 Nov 2025 -
4.40.028 Nov 2025Release notes
Open source →Deprecated
- [#8350] Method
CanonicalizeRuntime::getCanonicalizedLocaleForMoment()is deprecated and no-op. It always returns null. (@dmaicher)
Fixed
Removed
- [#8350] Support for
sonata-project/form-extensionsv1 was removed (@dmaicher) - [#8349] Support for
sonata-project/exporterv2 was removed (@dmaicher) - [#8348] Support for
sonata-project/doctrine-extensionsv1 was removed (@dmaicher) - [#8347] Support for
sonata-project/twig-extensionsv1 was removed (@dmaicher) - [#8344] Support for
sonata-project/block-bundlev4 was removed (@dmaicher)
Release notes
Open source →Deprecated
- [#8350] Method
CanonicalizeRuntime::getCanonicalizedLocaleForMoment()is deprecated and no-op. It always returns null. (@dmaicher)
Fixed
Removed
- [#8350] Support for
sonata-project/form-extensionsv1 was removed (@dmaicher) - [#8349] Support for
sonata-project/exporterv2 was removed (@dmaicher) - [#8348] Support for
sonata-project/doctrine-extensionsv1 was removed (@dmaicher) - [#8347] Support for
sonata-project/twig-extensionsv1 was removed (@dmaicher) - [#8344] Support for
sonata-project/block-bundlev4 was removed (@dmaicher)
- [#8350] Method
-
4.39.021 Oct 2025Release notes
Open source →Added
- [#8312] Added
sonata_admin.phprouting config (@willemverspyck)
Deprecated
- [#8312] Importing
sonata_admin.xmlis deprecated (@willemverspyck)
Fixed
- [#8341] Stop using internal/deprecated method
Request::get()(@VincentLanglet)
Release notes
Open source →Added
- [#8312] Added
sonata_admin.phprouting config (@willemverspyck)
Deprecated
- [#8312] Importing
sonata_admin.xmlis deprecated (@willemverspyck)
Fixed
- [#8341] Stop using internal/deprecated method
Request::get()(@VincentLanglet)
- [#8312] Added
-
4.38.210 Sep 2025 -
4.38.105 Sep 2025Release notes
Open source →Release notes
Open source → -
4.38.024 Aug 2025 -
4.37.508 Aug 2025 -
4.37.403 Jul 2025 -
4.37.323 Jun 2025 -
4.37.217 Jun 2025Release notes
Open source →Fixed
- [#8304] Revert and deprecated methods
Admin.setup_sticky_elementsandAdmin.setup_readmore_elements(@onEXHovia)
- [#8304] Revert and deprecated methods
-
4.37.109 Jun 2025 -
4.37.009 Jun 2025Release notes
Open source →Added
- [#8300] Add
LastModifiedVersionStrategyversion strategy (@onEXHovia)
Changed
- [#8297] Rework behavior sticky elements (@onEXHovia)
- [#8299] Update installation docs (@onEXHovia)
- [#8296] Replace readmore-js jquery plugin to the stimulus controller (@onEXHovia)
Fixed
- [#8295] Handle JSON.parse exception (@onEXHovia)
- [#8300] Add
-
4.36.216 May 2025Release notes
Open source →Changed
- [#8283] Replaced hardcoded
sonata.adminstrings with class constant TaggedAdminInterface::ADMIN_TAG (@symfonyaml)
Fixed
Removed
- [#8291] Ext-json requirement (@VincentLanglet)
Security
- [#8289] Validate admin list mode exists before setting it (@virtualize)
- [#8283] Replaced hardcoded
-
4.36.103 Apr 2025 -
4.36.011 Mar 2025Release notes
Open source →Changed
- [#8265] Migrate edit form behaviors to vanilla js (@onEXHovia)
- [#8270] Migrate field collection to vanilla js (@onEXHovia)
- [#8271] Migrate per page switcher to vanilla js (@onEXHovia)
- [#8272] Replaced the commented-out
HttpExceptionwithBadRequestHttpExceptionin thevalidateCsrfTokenmethod to properly reflect an HTTP 400 error for invalid CSRF tokens (@desarrolla2) - [#8264] Replace jquery.confirmExit to vanilla js (@onEXHovia)
- [#8263] Migrate revision inline js to stimulus (@onEXHovia)
Fixed
- [#8266] Skip confirm exit if form submitted (@onEXHovia)
-
4.35.420 Feb 2025Release notes
Open source →Fixed
- [#8261] Convert HTMLOptionsCollection to array before apply filter (@onEXHovia)
-
4.35.313 Feb 2025Release notes
Open source →Fixed
- [#8242] Fix filter behaviors after migrate to stimulus (@onEXHovia)
-
4.35.205 Feb 2025 -
4.35.104 Feb 2025Release notes
Open source → -
4.35.003 Feb 2025Release notes
Open source →Changed
- [#8230] Migrate filter to vanilla js (@onEXHovia)
Removed
- [#8232] Remove jquery-form plugin (@onEXHovia)
- [#8231] Remove Admin.set_object_field_value (@onEXHovia)
-
4.34.007 Dec 2024Release notes
Open source →Changed
- [#8225] Drop Symfony < 6.4 (@VincentLanglet)
- [#8225] Drop PHP 8 (@VincentLanglet)
-
4.33.004 Dec 2024Release notes
Open source →Added
- [#8219] Support editable mode on
FieldDescriptionInterface::TYPE_ENUM(@onEXHovia)
Fixed
- [#8218] Style fix for the version comparison page (@vityachis)
- [#8200] Allow delete permission to be voted on a specific subject. (@DenuxPlays)
- [#8219] Support editable mode on
-
4.32.014 Nov 2024Release notes
Open source →Added
Changed
- [#8212] Enums implementing Symfony's
TranslatableInterfaceare now correctly translated by theFieldDescriptionInterface::TYPE_ENUMfield type (@zyberspace)
- [#8212] Enums implementing Symfony's
-
4.31.015 Jul 2024 -
4.30.208 May 2024 -
4.30.110 Apr 2024Release notes
Open source →Fixed
- [#8175]
Filter::getLabelTranslationParametersimplementation (@VincentLanglet)
- [#8175]
-
4.30.010 Apr 2024Release notes
Open source →Added
- [#8170] SearchHandlerInterface (@VincentLanglet)
Deprecated
- [#8172] Not implementing
FilterInterface::showFilter(@VincentLanglet) - [#8172] Not implementing
FilterInterface::getLabelTranslationParameters(@VincentLanglet) - [#8172] Not implementing
FilterInterface::withAdvancedFilter(@VincentLanglet)
Fixed
- [#8173] Active state in side menu for nested child admins (@VincentLanglet)
- [#8172]
label_translation_parametersoption usage (@VincentLanglet)
-
4.29.322 Jan 2024 -
4.29.224 Dec 2023Release notes
Open source →Changed
- [#8141] CRUDController::handleModelManagerException can now return a custom error message string for display in the flashbag instead of Sonata ones. Return type is removed from the signature (@wadjei)
Fixed
-
4.29.112 Dec 2023Release notes
Open source → -
4.29.025 Nov 2023 -
4.28.120 Nov 2023Release notes
Open source →Fixed
- [#8125] Needing to submit form twice when using CRUDController::render() (@AntoineRoue)
-
4.28.018 Oct 2023Release notes
Open source →Changed
Deprecated
- [#8116] Deprecate
CRUDController::renderWithExtraParamsmethod (@core23) - [#8116] Deprecate
CRUDController::addRenderExtraParamsmethod (@core23) - [#8116] Deprecate
CRUDController::getBaseTemplatemethod (@core23)
Fixed
- [#8118] Allow AdminExtractor to be used for abstract admins (@core23)
- [#8115]
GroupMapper::removeTabandGroupMapper::removeGroup(@VincentLanglet)
- [#8116] Deprecate
-
4.27.121 Sep 2023Release notes
Open source →Added
- [#8105] Allow to disable
icheckand to be able to use still choice field mask with the expanded option (@goetas)
Fixed
- [#8105] Allow to disable
-
4.27.007 Sep 2023 -
4.26.102 Sep 2023 -
4.26.028 Jul 2023Release notes
Open source →Changed
Fixed
- [#8082] Installing SonataAdminBundle without any persistence does not throw missing abstract argument definition (@jordisala1991)
-
4.25.003 Jun 2023Release notes
Open source →Added
- [#8072] Support for SonataBlockBundle 5.0 (@jordisala1991)
- [#8070] "enum_translation_domain" and "use_value" options for fields of type
FieldDescriptionInterface::TYPE_ENUM. (@phansys)
-
4.24.013 May 2023Release notes
Open source →Added
- [#8064] Support for
sonata-project/form-extensions2.0 (@jordisala1991) - [#7838] Stimulus dependency and initialization inside main
app.js(@jordisala1991)
Fixed
- [#8061] ExplainAdminCommand no longer complains about missing subject on admin (@VincentLanglet)
- [#8055] Child admins not related directly to a parent now handle show, edit and delete actions correctly. (@maMykola)
- [#8064] Support for
-
4.23.025 Apr 2023Release notes
Open source →Fixed
- [#8041] Top nav bar menu for user is shown if there is a user logged in (@jordisala1991)
- [#8041] Top nav bar menu for creating admin entities is shown even is there is no user logged in (@jordisala1991)
Removed
- [#8044] Support for Symfony 4 (@jordisala1991)
- [#8044] Support for Twig 2 (@jordisala1991)
-
4.22.612 Apr 2023 -
4.22.530 Mar 2023Release notes
Open source →Changed
- [#8029] Use
symfony/stringinstead ofdoctrine/inflectorto convert words from "snake_case" to "camelCase" (@jordisala1991)
Fixed
- [#8026] Fix errors not being displayed in modal (@antoinemineau)
- [#8025] Message when the admin class declared on the container does not exist. (@jordisala1991)
Removed
- [#8029] Use
-
4.22.426 Jan 2023Release notes
Open source →Fixed
- [#8009] Fix response_item_callback option for
ModelAutocompleteTypeform field. (@aleksvaganoff) - [#7891] Fix Sortable drag and drop for
ModelTypeform field. (@jorrit)
- [#8009] Fix response_item_callback option for
-
4.22.311 Jan 2023 -
4.22.205 Jan 2023Release notes
Open source →Fixed
- [#8001] Admin extension declaration with priority (@VincentLanglet)
-
4.22.105 Jan 2023Release notes
Open source →Fixed
- [#7998] ExtensionCompilerPass usage with parameters class string. (@VincentLanglet)
-
4.22.004 Jan 2023Release notes
Open source →Added
- [#7994] Added usage of ExporterInterface instead of Exporter class. (@pkameisha)
- [#7964] Ability to configure admin extension in the
sonata_admin.extensionsconfig with the admin class rather than the model class thanks toadmin_implements,admin_instanceof,admin_extendsandadmin_useoptions. (@VincentLanglet) - [#7964]
excludes,extends,implements,instanceof,uses,admin_implements,admin_instanceof,admin_extendsandadmin_useoptions are now available directly when tagging an admin extension. (@VincentLanglet)
-
4.21.108 Dec 2022 -
4.21.011 Nov 2022Release notes
Open source →Added
Changed
- [#7962] Made
AbstractAdmin::setSubject()usegetModelClass()instead ofgetClass()to check is the subject is allowed (@7ochem)
Fixed
- [#7963] Fix
appendFormFieldElementon nested collection named the same as one of the parent fields (@fgueguen) - [#7961] Fixes ChoiceFieldMaskType behavior inside CollectionType (@Darkabso)
- [#7952] Fix an issue that an exception will be thrown by
Pool::getAdminByClass()when the admin code is different from its service id. (@tamcy) - [#7952] Fix a typo in the deprecation message which is triggered when multiple
sonata.admintags are found in the same service definition. (@tamcy)
- [#7962] Made
-
4.20.020 Oct 2022Release notes
Open source →Added
Deprecated
- [#7941] Applying the service tag
sonata.adminto 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)
Fixed
- [#7949] Fix validation errors while editting many to one|many relations in a modal. (@jordisala1991)
- [#7948] Violations error handling (@ggabrovski)
- [#7940] Fix an issue that exception is thrown when the admin code is different from its service id. (@tamcy)
- [#7941] Applying the service tag
-
4.19.027 Sep 2022Release notes
Open source →Changed
- [#7922] [BC break] Change json error output for ajax calls to create or edit admin endpoints. (@jordisala1991)
Deprecated
- [#7927] BCLabelTranslatorStrategy (@VincentLanglet)
- [#7930]
ModelManager::getIdentifierValues(@VincentLanglet) - [#7930]
ModelManager::getIdentifierFieldNames(@VincentLanglet)
Fixed
- [#7930] ModelToIdPropertyTransformer now supports composite identifiers (@VincentLanglet)
- [#7926] Fix missing default translation for actions label on list view. (@jordisala1991)
-
4.18.021 Aug 2022Release notes
Open source →Added
- [#7913] Security attributes can be string or symfony expression language expressions (@VincentLanglet)
- [#7909] Added generics to the ProxyQueryInterface (@VincentLanglet)
-
4.17.015 Aug 2022Release notes
Open source →Added
- [#7906] Added ProxyManagerInterface (@VincentLanglet)
Deprecated
- [#7906] Relying on doctrine
ClassUtils::getClassto resolve proxy classes. The ModelManager have to implements the ProxyManagerInterface instead. (@VincentLanglet)
Fixed
- [#7899] AdminMaker service option (@joerndyherrn)
-
4.16.002 Aug 2022Release notes
Open source →Added
- [#7894] Support for twig-extensions 2 (@VincentLanglet)
- [#7887] Support for
sonata-project/doctrine-extensions^2 (@VincentLanglet) - [#7886] Support for
sonata-project/exporter ^3(@VincentLanglet)
Changed
- [#7885] Sidebar menu is now non-shared. (new instance is created everytime its requested) (@Warxcell)
Fixed
- [#7893] Allow ChildAdmin for Unidirectional References (@VincentLanglet)
- [#7890] Do not try to check access for created object (@VincentLanglet)
-
4.15.023 Jul 2022Release notes
Open source →Added
- [#7867] Added
AbstractAdmin::generateBaseRoutePattern()(@VincentLanglet) - [#7867] Added
AbstractAdmin::generateBaseRouteName()(@VincentLanglet)
Changed
- [#7878] Bump moment to 2.29.4 (@dependabot[bot])
Deprecated
- [#7867] Added
AbstractAdmin::$baseRoutePatternproperty (@VincentLanglet) - [#7867] Added
AbstractAdmin::$baseRouteNameproperty (@VincentLanglet)
- [#7867] Added
-
4.14.012 Jul 2022Release notes
Open source →Added
- [#7841] Support for a FilterInterface::getFormOptions method. (@VincentLanglet)
Deprecated
- [#7841] FilterInterface::getRenderSettigns (@VincentLanglet)
- [#7841] All the
Sonata\AdminBundle\Form\Type\Filter\*Typeexcept the FilterDataType. (@VincentLanglet)
Fixed
- [#7868] Batch action ProxyQueryInterface parameter don't have to be named $query anymore. (@mpoiriert)
-
4.13.105 Jul 2022 -
4.13.025 Jun 2022Release notes
Open source →Added
- [#7819] Added support to batch action via another controller with 'controller' configuration (@mpoiriert)
Deprecated
- [#7819] BatchAction{actionName}IsRelevant will be remove in version 5.0. Move logic to your action. (@mpoiriert)
- [#7835] FormMapper::create() (@VincentLanglet)
Fixed
- [#7851] Model Auto Complete failing in create flow of admin with subclasses (@mpoiriert)
- [#7847] AdminValueResolver does support generic AdminInterface type. (@mpoiriert)
- [#7845] Fix the subclass query parameter conflict in the sonata.admin.action.get_short_object_description controller. (@mpoiriert)
- [#7836] Command deprecations using Symfony 6.1 (@franmomu)
Removed