All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
4.11.0 - 2025-12-19
- [#1001] Symfony 8 support (@VincentLanglet)
- [#999] Support for PHP 8.1 (@dmaicher)
- [#999] Support for Symfony 7.1 and 7.2 (@dmaicher)
- [#999] Support for
sonata-project/block-bundlev4 (@dmaicher) - [#999] Support for
sonata-project/form-extensionsv1 (@dmaicher) - [#999] Support for
sonata-project/doctrine-extensionsv1 (@dmaicher)
4.10.0 - 2025-09-23
- [#994] Support for
doctrine/persistence4.0. (@jordisala1991)
4.9.1 - 2024-11-14
4.9.0 - 2024-11-14
4.8.1 - 2024-08-26
- [#968] Symfony 7.1 deprecation about
Symfony\Component\HttpKernel\DependencyInjection\Extensionusage (@VincentLanglet)
4.8.0 - 2023-12-14
4.7.2 - 2023-12-08
- [#947] Usage of deprecated
renderWithExtraParamsmethod (@VincentLanglet)
4.7.1 - 2023-07-24
4.7.0 - 2023-06-03
- [#931] Support for SonataBlockBundle 5.0 (@jordisala1991)
4.6.0 - 2023-05-13
- [#927] Support for
sonata-project/form-extensions2.0 (@jordisala1991)
4.5.0 - 2023-04-24
- [#914] Support for Symfony 4.4 (@jordisala1991)
- [#914] Support for Twig 2 (@jordisala1991)
4.4.1 - 2023-04-12
- [#911] ORM schema mapping does not give validation errors (@jordisala1991)
4.4.0 - 2023-04-09
- [#889] Added support for
doctrine/collections^2.0. (@jordisala1991)
- [#889] Deprecations for SonataAdminBundle filters (@jordisala1991)
- [#907] Create a category after a fresh install initializes the first context and the root category. (@jordisala1991)
- [#903] xml validation of MongoDB ODM mapping (@jordisala1991)
- [#903] Deprecation for enabled boolean field on MongoDB ODM (@jordisala1991)
- [#904] Not displaying the edit button in some cases for the admin list pages (@jordisala1991)
- [#889] Support for
doctrine/persistence^2.0 (@jordisala1991) - [#890] Support for PHP 7.4 (@SonataCI)
- [#890] Support for Symfony 6.0 and 6.1 (@SonataCI)
4.3.0 - 2022-08-03
- [#862] Added support for sonata-project/doctrine-extensions ^2 (@VincentLanglet)
4.2.0 - 2022-06-25
- [#852] Add support for
doctrine/persistence^3.0. (@jordisala1991)
4.1.0 - 2022-06-25
- [#849] Avoid deprecations for console commands on Symfony 6.1. (@jordisala1991)
- [#846] Support of Symfony 5.3 (@franmomu)
4.0.4 - 2022-04-29
- [#838] Create a new context only if it does not exist (@jerome-fix)
4.0.3 - 2022-02-28
- [#830] Deprecations introduces by SonataAdminBundle 4.9.0 (@VincentLanglet)
4.0.2 - 2022-02-10
- [#820] Backport changes from AdminBundle to
CategoryAdminController(@core23) - [#821] Fix edit group translation (@core23)
4.0.1 - 2022-01-19
- [#816] Final modifier on all the getters / setters of the entities. (@VincentLanglet)
4.0.0 - 2022-01-01
- [#778] Support for Symfony 6 (@jordisala1991)
- [#786] Admin controller configuration (@core23)
- [#786] Calling removed admin translator (@core23)
- [#787] Symfony deprecations (@jordisala1991)
4.0.0-RC1 - 2021-11-20
- No significant changes
4.0.0-alpha1 - 2021-11-03
- [#754] Added type hints to manager methods (@core23)
- [#745] Added type hints to methods and properties (@core23)
- [#745] Reduce visibility of config methods (@core23)
- [#763] Support for Symfony 5.2 (@jordisala1991)
- [#763] Support for
doctrine/persistence< 2 (@jordisala1991) - [#763] Support for
cocur/slugify< 4.0 (@jordisala1991) - [#745]
Sonata\ClassificationBundle\Form\FormHelper(@core23) - [#744] Support for PHP 7.3 (@core23)
3.18.1 - 2022-01-05
3.18.0 - 2021-11-06
- [#765]
BaseCategory::disableChildrenLazyLoading()(@VincentLanglet) - [#760] CategoryManager::getRootCategoriesPager() (@VincentLanglet)
- [#760] CategoryManager::getSubCategoriesPager() (@VincentLanglet)
- [#735] Deprecated ReST API with FOSRest, Nelmio Api Docs and JMS Serializer. (@wbloszyk)
- [#738] Extending classes marked as final: (@wbloszyk)
- [#738]
Sonata\ClassificationBundle\Admin\CategoryAdmin(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Admin\CollectionAdmin(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Admin\ContextAdmin(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Admin\TagAdmin(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Command\FixContextCommand(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Controller\CategoryAdminController(@wbloszyk) - [#738]
Sonata\ClassificationBundle\DependencyInjection\Configuration(@wbloszyk) - [#738]
Sonata\ClassificationBundle\DependencyInjection\SonataClassificationExtension(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Document\CategoryManager(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Document\CollectionManager(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Document\TagManager(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Entity\CategoryManager(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Entity\CollectionManager(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Entity\ContextManager(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Entity\TagManager(@wbloszyk) - [#738]
Sonata\ClassificationBundle\Form\Type\Category\SelectorType(@wbloszyk) - [#738]
Sonata\ClassificationBundle\SonataClassificationBundle(@wbloszyk)
3.17.0 - 2021-09-21
- [#721] Missing methods in interfaces (through the
@methodannotation). (@phansys) - [#722] Missing requirement for "doctrine/collections". (@phansys)
- [#727] Some
@returntypes atSonata\ClassificationBundle\Controller\Api\CategoryController; (@phansys) - [#727] Checking for an empty collection returned by
CategoryInterface::getChildren()atCategorySelectorType. (@phansys) - [#726] Several wrong types in arguments and return declarations. (@phansys)
- [#721] Calls to several undefined methods. (@phansys)
- [#724] Calls to undefined methods in ODM queries at
CategoryManager::getPager(),CollectionManager::getPager()andTagManager::getPager(). (@phansys) - [#719] Several docblock types for properties and methods under the
Sonata\ClassificationBundle\Model\namespace. (@phansys)
3.16.0 - 2021-04-06
3.15.1 - 2021-03-21
3.15.0 - 2021-02-15
3.14.0 - 2020-11-27
- [#599] Added support for "doctrine/persistence:^2.0". (@awurth)
- [#607] Missing translation keys (@gremo)
- [#574]
Support for
nelmio/api-doc-bundle>= 3.6 (@wbloszyk)
3.13.2 - 2020-09-05
- [#573] Fixed support for string model identifiers at Open API definitions. (@wbloszyk)
- [#567] Fix loading CategoryFilter items (@core23)
- [#573] Removed requirements that were only allowing integers for model identifiers at Open API definitions. (@wbloszyk)
3.13.1 - 2020-08-23
3.13.0 - 2020-08-05
- [#545] Added support for "friendsofsymfony/rest-bundle:^3.0" (@wbloszyk)
- [#542]
Added public alias
Sonata\ClassificationBundle\Controller\Api\CategoryControllerforsonata.classification.controller.api.categoryservice (@wbloszyk) - [#542]
Added public alias
Sonata\ClassificationBundle\Controller\Api\CollectionControllerforsonata.classification.controller.api.collectionservice (@wbloszyk) - [#542]
Added public alias
Sonata\ClassificationBundle\Controller\Api\TagControllerforsonata.classification.controller.api.tagservice (@wbloszyk) - [#542]
Added public alias
Sonata\ClassificationBundle\Controller\Api\ContextControllerforsonata.classification.controller.api.contextservice (@wbloszyk)
- [#536] SonataEasyExtendsBundle is now optional, using SonataDoctrineBundle is preferred (@jordisala1991)
- [#536] Using SonataEasyExtendsBundle to add Doctrine mapping information (@jordisala1991)
3.12.1 - 2020-06-21
3.12.0 - 2020-06-19
- Added
CategoryFilterfor admin lists - Added
CollectionFilterfor admin lists
- fixed database schema to work with mssql
- Make admin bundle optional
- SonataCoreBundle dependencies
- Support for Symfony < 4.3
3.11.1 - 2020-03-24
- Fix Lexer query error in managers
3.11.0 - 2020-03-18
- Add public aliases to all manager interface
- Added
CollectionManager::getBySlugmethod - Added
CategoryManager::getBySlugmethod - Added
CategoryManager::getByContextmethod - Added
TagManager::getBySlugmethod - Added
TagManager::getByContextmethod
- Allow
cocur/slugify^4.0
- Remove block deprecations
3.10.1 - 2020-02-03
- Fix media bundle decoupling
3.10.0 - 2020-01-31
- Fix media bundle decoupling
- Loading media association based on defined class
- Support for Symfony < 3.4
- Support for Symfony >= 4, < 4.2
3.9.2 - 2019-11-11
- Fix calling wrong manager in
AbstractCollectionsBlockService
3.9.1 - 2019-10-14
getContextmethod with non-existing context causing infinite loop among other bugs
- Add missing translation for admin menu
3.9.0 - 2019-09-20
- Add more
@methodannotation to propagate new methods ofCategoryManagerInterface - Add strict types to CategoryManager
- Remove superfluous PHPDoc
- Match PHPDoc with doctrine model
CategoryManager::getRootCategorywill throw an exception if you pass invalid arguments
3.8.1 - 2019-06-03
- Added translation keys for
CategoryAdmin"General" and "Options" labels
3.8.0 - 2019-01-18
- Fix deprecation for symfony/config 4.2+
- Deprecations about
Sonata\CoreBundle\Model\BaseEntityManager
- Removed CoreBundle deprecations
- support for php 5 and php 7.0
3.7.1 - 2018-06-18
- Stop using the deprecated method
Sonata\AdminBundle\Controller\CRUDController::renderand use the newrenderWithExtraParams - Force use translation strings for classification entities
- Make entity managers services public
3.7.0 - 2018-05-22
- make block icon configurable
- added block title translation domain
- Commands not working on symfony4
- Default title from blocks
- Compatibility with older versions of FOSRestBundle (<2.1)
- Compatibility with Cocur slugify
^1.0
3.6.1 - 2018-01-26
- Slugify ^3.0 support
- Make
sonata.classification.manager.categorypublic
3.6.0 - 2018-01-07
- Added
NotBlankconstraint toContext::$id
- make admin services explicit public
- Compatibility with SF 3.4, SF 4
NotNullconstraint fromTag::$nameNotNullconstraint fromContext::$nameNotNullconstraint fromCategory::$nameNotNullconstraint fromCollection::$name
3.5.0 - 2017-12-08
- Rollback to PHP 5.6 as minimum support.
- It is now allowed to install Symfony 4
3.4.0 - 2017-10-22
- Removed usage of old form type aliases
- Support for old versions of php and Symfony
3.3.2 - 2017-10-22
- context fields validation in tag/collection create forms, which prevents creating objects with empty context from UI
- Changed string type declaration of form fields to the fully-qualified type class name.
- Missing brazilian translations
3.3.1 - 2017-06-16
- use
same asinstead of deprecatedsameasin twig template - Fixed hardcoded paths to classes in
.xml.skeletonfiles of config - Added route check to tree view
Resources/views/CategoryAdmin/tree.html.twig. If there aren't edit AND show routes, render element name only.
3.3.0 - 2017-03-16
- Menu icon (fa-tags).
- Fix bad / missing translations in french.
- new methods for root categories in
CategoryManager CategoryManager::loadCategoriesmethod now loads all root categories in context- Categories tree now renders all root categories in context
- Fix usage of deprecated
choice_listoption for >=SF2.7 - Allow false value for category in
AbstractCategoriesBlockService - Allow false value for collection in
AbstractCollectionsBlockService - Allow false value for tag in
AbstractTagsBlockService - use
interface_existsinstead ofclass_exists - Fixed missing type field in filters form in categories tree mode
- Twig runtime error on Symfony < 3.2 and Twig 2.x
- Fixed conflict of datagrid
contextvalue and persistentcontextparameter - Fixed using
_selfinnavigate_childmacro in tree template (Twig 2.0 support)
3.2.1 - 2017-02-02
- Category tree view was not easily customizable
- Missing italian translation
3.2.0 - 2017-01-05
- Symfony 3 compatibility was improved
- Support for FosRestBundle 2.0
- Incorrect
tagreference on command output - Missing italian translations
- Deprecated
Adminclass usage - Missing parameters from parent class in
ContextAwareAdmin::getPersistentParameters - Incorrect names transliterating for slugs
- Missing en translations for create forms
- Typo in service unit tests
- The category tree view in case the category list is empty
- Vertical centering of buttons within a navbar in list/tree selector
- Deprecated
AbstractBlockServiceTest,FakeTemplating,BaseBlockServiceusage
- Internal test classes are now excluded from the autoloader
3.1.0 - 2016-07-05
- Added
AbstractCategoriesBlockServiceclass - Added
AbstractCollectionsBlockServiceclass - Added
AbstractTagsBlockServiceclass
3.0.1 - 2016-07-05
- Removed unmapped
countproperty inBaseCategory.mongodb.xml - Renamed wrong
slugproperty tonameinBaseContext.mongodb.xml CategoryAdminnow extendsContextAwareAdminCollectionAdminnow extendsContextAwareAdmin
- Some unneeded Symfony dependencies