Releases: pimcore/studio-backend-bundle
2026.1.1
https://github.com/pimcore/studio-backend-bundle/milestone/13?closed=1
What's Changed
- [Bug][Documents]: Save does not purge orphaned editables from removed area brick entries by @lukmzig in #1753
- [Select options] - configuration should not be editable for non admins if 'admin only' set to true by @lukmzig in #1754
- [Bug] Update field definition retrieval in LocalizedFieldService by @martineiber in #1756
- [Bug]: Exception after opening class which has no owner by @lukmzig in #1758
- [Documents]: Improve translation error key by @lukmzig in #1759
- [DataObjects] localized fields sometimes missing fields for empty data by @wwidergoldpimcore in #1766
- [Task] Update PHPunit and Codeception by @jcPimcore in #1763
- [Task] Add Contributing md by @martineiber in #1769
- [QuantityValues] Implement search column filter by @lukmzig in #1765
- [DataObjects][Calculated Values] getCalculatedValueForEditMode not considered by @martineiber in #1764
- [Execution Engine] Batch edit all assets fails with a lot of items by @lukmzig in #1557
- [Task] Add mercure host resolution fallback by @martineiber in #1770
- [DataObjects] [Search] fix missing localized fields in search preview by @wwidergoldpimcore in #1776
- [Task] Remove fallback for Mercure server. by @martineiber in #1778
- [Custom Reports]: Make element_type and element_class_id optional in CsvCreationHandler by @markus-moser in #1773
- [Task]: Admin translations in studio by @lukmzig in #1771
- [Translation]: Only studio domain is not FE domain by @lukmzig in #1780
Full Changelog: v2026.1.0...v2026.1.1
2025.4.1
https://github.com/pimcore/studio-backend-bundle/milestone/12?closed=1
What's Changed
- [Bug][Documents]: Save does not purge orphaned editables from removed area brick entries by @lukmzig in #1753
- [Select options] - configuration should not be editable for non admins if 'admin only' set to true by @lukmzig in #1754
- [Bug] Update field definition retrieval in LocalizedFieldService by @martineiber in #1756
- [Bug]: Exception after opening class which has no owner by @lukmzig in #1758
- [Documents]: Improve translation error key by @lukmzig in #1759
- [DataObjects] localized fields sometimes missing fields for empty data by @wwidergoldpimcore in #1766
- [Task] Update PHPunit and Codeception by @jcPimcore in #1763
- [Task] Add Contributing md by @martineiber in #1769
- [QuantityValues] Implement search column filter by @lukmzig in #1765
- [DataObjects][Calculated Values] getCalculatedValueForEditMode not considered by @martineiber in #1764
- [Execution Engine] Batch edit all assets fails with a lot of items by @lukmzig in #1557
- [Task] Add mercure host resolution fallback by @martineiber in #1770
- [DataObjects] [Search] fix missing localized fields in search preview by @wwidergoldpimcore in #1776
- [Task] Remove fallback for Mercure server. by @martineiber in #1778
- [Custom Reports]: Make element_type and element_class_id optional in CsvCreationHandler by @markus-moser in #1773
- [Task]: Admin translations in studio by @lukmzig in #1771
Full Changelog: v2025.4.0...v2025.4.1
2026.1.0
What's Changed
- [GDPR] Permission Issue by @lukmzig in #1709
- [Grid Config]: Fixes for listings by @lukmzig in #1711
- [Task] Standardize naming conventions in the configuration by @lukmzig in #1713
- [Documents]: Content main document for all page snippet by @lukmzig in #1714
- [FormatedPath]: objectReference can be string and int by @lukmzig in #1716
- [Grid] globaly shared column config not available by @lukmzig in #1717
- 🔄 synced file(s) with pimcore/sync-common-files by @pimcore-deployments in #1718
- [Predefined Asset Metadata]: Check for duplicates on creation by @lukmzig in #1720
- Fix icon names for object brick and field collection tree nodes by @vin0401 in #1721
- [SEO-Bundle]: Add robots.txt endpoints by @lukmzig in #1722
- Updated names of class type icons by @Corepex in #1724
- [Translations] Adding a Translation for a system language throws error by @lukmzig in #1723
- [Task]: Move reset password rate limiter to studio-backend by @robertSt7 in #1666
- Fix publishing of versions by @fashxp in #1726
- [Task]: Cleanup outdated code by @lukmzig in #1727
- [Filter] Improve relation filter to allow multiple types. by @martineiber in #1728
- [Scheduler] Wrong or incomplete actions by @lukmzig in #1729
- [Grid][Batch Edit] Published missing by @lukmzig in #1730
- Doc refactoring by @fashxp in #1719
- [Grid] Check if type is localizable. by @martineiber in #1731
- Fix csv export by @fashxp in #1725
- [Logo]: Use same logo as UI Bundle and remove admin classic route by @lukmzig in #1735
- [Grid] download localized fields wrong values by @martineiber in #1736
- 3207 - [Studio Backend Bundle] - Translations by @xIrusux in #1732
- 3207 - [Studio Backend] - Remove unnecessary quotes from translation YAML files by @xIrusux in #1739
- [GDPR] fix permission issues when exporting elements by @wwidergoldpimcore in #1737
- Updated access control path to include branding config by @benman31 in #1740
- Update dependencies by @lukmzig in #1743
- [Appearance & Branding] - error modal appears on login when user does not have permission to edit appearance and branding by @xIrusux in #1741
- Added ref for reusable workflows by @bluvulture in #1746
- 3207 translations v2 by @xIrusux in #1742
- [Widgets] PQL filter not working correct by @lukmzig in #1744
- [Children grid] can not be opened by @lukmzig in #1748
- [Task]: Upgrade dependencies for 2026 by @lukmzig in #1745
- Update PHP-CS-Fixer workflow by @berfinyuksel in #1734
- [Classificationstore] Add groupId to get the current layout by @martineiber in #1573
- [Task] Update composer by @jcPimcore in #1687
- [Class definition]: Guess type based on the value of class definitions by @lukmzig in #1749
- [Task] Check what languages are available for Studio. by @martineiber in #1750
New Contributors
- @pimcore-deployments made their first contribution in #1718
- @vin0401 made their first contribution in #1721
- @robertSt7 made their first contribution in #1666
- @wwidergoldpimcore made their first contribution in #1737
- @benman31 made their first contribution in #1740
- @jcPimcore made their first contribution in #1687
Full Changelog: v0.15.17...v2026.1.0
https://github.com/pimcore/studio-backend-bundle/issues?q=is%3Aclosed%20milestone%3A%222026.1.0%22
2025.4.0
What's Changed
- [GDPR] Permission Issue by @lukmzig in #1709
- [Grid Config]: Fixes for listings by @lukmzig in #1711
- [Task] Standardize naming conventions in the configuration by @lukmzig in #1713
- [Documents]: Content main document for all page snippet by @lukmzig in #1714
- [FormatedPath]: objectReference can be string and int by @lukmzig in #1716
- [Grid] globaly shared column config not available by @lukmzig in #1717
- 🔄 synced file(s) with pimcore/sync-common-files by @pimcore-deployments in #1718
- [Predefined Asset Metadata]: Check for duplicates on creation by @lukmzig in #1720
- Fix icon names for object brick and field collection tree nodes by @vin0401 in #1721
- [SEO-Bundle]: Add robots.txt endpoints by @lukmzig in #1722
- Updated names of class type icons by @Corepex in #1724
- [Translations] Adding a Translation for a system language throws error by @lukmzig in #1723
- [Task]: Move reset password rate limiter to studio-backend by @robertSt7 in #1666
- Fix publishing of versions by @fashxp in #1726
- [Task]: Cleanup outdated code by @lukmzig in #1727
- [Filter] Improve relation filter to allow multiple types. by @martineiber in #1728
- [Scheduler] Wrong or incomplete actions by @lukmzig in #1729
- [Grid][Batch Edit] Published missing by @lukmzig in #1730
- Doc refactoring by @fashxp in #1719
- [Grid] Check if type is localizable. by @martineiber in #1731
- Fix csv export by @fashxp in #1725
- [Logo]: Use same logo as UI Bundle and remove admin classic route by @lukmzig in #1735
- [Grid] download localized fields wrong values by @martineiber in #1736
- 3207 - [Studio Backend Bundle] - Translations by @xIrusux in #1732
- 3207 - [Studio Backend] - Remove unnecessary quotes from translation YAML files by @xIrusux in #1739
- [GDPR] fix permission issues when exporting elements by @wwidergoldpimcore in #1737
- Updated access control path to include branding config by @benman31 in #1740
- Update dependencies by @lukmzig in #1743
- [Appearance & Branding] - error modal appears on login when user does not have permission to edit appearance and branding by @xIrusux in #1741
- Added ref for reusable workflows by @bluvulture in #1746
- 3207 translations v2 by @xIrusux in #1742
- [Widgets] PQL filter not working correct by @lukmzig in #1744
- [Children grid] can not be opened by @lukmzig in #1748
- Update PHP-CS-Fixer workflow by @berfinyuksel in #1734
- [Classificationstore] Add groupId to get the current layout by @martineiber in #1573
- [Task] Update composer by @jcPimcore in #1687
- [Class definition]: Guess type based on the value of class definitions by @lukmzig in #1749
- [Task] Check what languages are available for Studio. by @martineiber in #1750
New Contributors
- @pimcore-deployments made their first contribution in #1718
- @vin0401 made their first contribution in #1721
- @robertSt7 made their first contribution in #1666
- @wwidergoldpimcore made their first contribution in #1737
- @benman31 made their first contribution in #1740
- @jcPimcore made their first contribution in #1687
Full Changelog: v0.15.17...v2025.4.0
https://github.com/pimcore/studio-backend-bundle/issues?q=is%3Aclosed%20milestone%3A%222025.4.0%22
0.15.17
https://github.com/pimcore/studio-backend-bundle/milestone/9?closed=1
What's Changed
- [Field Collections][Config]: Endpoints part 1 by @lukmzig in #1669
- [System Settings] Improve saving of data by @Corepex in #1663
- [Field Collections][Config]: Endpoints part 2 by @lukmzig in #1671
- [Object Bricks][Config]: Endpoints part 1 by @lukmzig in #1673
- [Object Bricks][Config]: Endpoints part 2 by @lukmzig in #1674
- [Object Bricks][Config]: Endpoints part 3 by @lukmzig in #1676
- [Task] Use 2026.1 by @martineiber in #1677
- [Quantity Value]: Add definition endpoints by @lukmzig in #1678
- [Select options] Add config endpoints by @lukmzig in #1679
- [Task]: Update PHP version requirement to include 8.5.0 by @kingjia90 in #1681
- [Bug] Null value exception, when no GDPR filters are set by @mcop1 in #1685
- [Classification Store]: Add config endpoints by @lukmzig in #1686
- Update rate limiter settings in YAML configuration by @fashxp in #1688
- Reusable workflows pointed to main by @bluvulture in #1691
- Pointed to main by @bluvulture in #1692
- chore: replace reusable-workflows references with main by @berfinyuksel in #1693
- [Class Definitions] - Bulk Export/Import by @lukmzig in #1690
- Added MCP basis functionality for other bundles implementing MCP servers by @fashxp in #1682
- [Task]: Avoid method name "clone" by @lukmzig in #1694
- [Task]: Update PHPStan version by @lukmzig in #1695
- Add 'dataModel_selectOptions' permission by @Corepex in #1697
- [Bug] Downloading Image Thumbnails twice fails by @lukmzig in #1698
- [Field Collection]: Title of data is missing by @lukmzig in #1699
- [Class Editor] Schemas define fieldType but fieldtype is delivered by @lukmzig in #1700
- [Object brick]: Title is missing by @lukmzig in #1701
- [Bug] user permission required for sharing functionality by @lukmzig in #1702
- [WORKFLOW][DataObject]Workflow Not Changing for DataObjects in StudioUI by @lukmzig in #1703
- [Task] Fix API Schema by @martineiber in #1704
- [Grid] AdvancedColumnCollector exception by @lukmzig in #1705
- [Predefined Asset Metadata]: config endpoints by @lukmzig in #1706
- [Custom Reports] respect export field flag in CSV exports by @lukmzig in #1707
- Prepare Release 0.15.17 by @martineiber in #1708
Full Changelog: v0.14.19...v0.15.17
0.14.19
https://github.com/pimcore/studio-backend-bundle/milestone/8?closed=1
What's Changed
- [Grid] List available columns for allowed field of Relation adjustments by @martineiber in #1611
- [Documents]: Allow template setting when adding new document by @lukmzig in #1613
- [Appearances & Branding] - brand setting change request by @mcop1 in #1610
- [GDPR] Cleanup Data Provider. by @martineiber in #1614
- [Appearances & Branding] - remove unneeded colorAdminInterfacesBackground from branding schema by @xIrusux in #1615
- [GDPR] SentEmail Provider by @martineiber in #1616
- [Data Object Editor] layout not allowed for this user by @lukmzig in #1618
- [GDPR] Refactor Search Response by @martineiber in #1620
- [Appearance & Branding] - Thumbnail Public Endpoints by @mcop1 in #1624
- [Task] Adaptions for reset password / thumbnail rate limiter by @mcop1 in #1625
- Studio UI Development - Image Thumbnail Config by @lukmzig in #1628
- [Grid] Support localized fields in Object Bricks by @martineiber in #1630
- [GDPR] Cleanup and add hasHtmlLog and hasTextLog by @martineiber in #1632
- [Bug]: [Reports] 500 error when fetching the drillDownOptions data by @mcop1 in #1634
- Change pull_request to pull_request_target in workflow by @bluvulture in #1635
- Include property data as its versioned. by @torqdev in #1626
- Update PHPUnit/Codeception by @mcop1 in #1641
- [Task] Studio UI Development - System Settings by @mcop1 in #1636
- [Mercure] Dynamic topics for user by @martineiber in #1638
- [Thumbnails]: Add endpoints for video thumbnails by @lukmzig in #1639
- [GDPR] Add
hasParametersfield to email entry data by @Corepex in #1637 - Update API paths to use
/pimcore-studioprefix in documentation by @chilladelia in #1642 - [System Settings] Add additional system settings to provider by @Corepex in #1644
- [Execution Engine] Do not send Notification by @martineiber in #1646
- [Grid] Filter for Relations by @martineiber in #1650
- Fix Schema by @martineiber in #1651
- [Custom Reports]: Check for user shared view permissions in custom reports by @lukmzig in #1660
- [User][Role] Add methods to get IDs by names by @lukmzig in #1661
- [Task] [System Settings] Improve save handler by @mcop1 in #1658
- [Config]: Add new validation method for display names by @lukmzig in #1662
- [Class Editor] Incorrect operation Ids for custom layout endpoints by @lukmzig in #1667
- Prepare Release 0.14.19 by @martineiber in #1668
New Contributors
- @xIrusux made their first contribution in #1615
- @torqdev made their first contribution in #1626
- @chilladelia made their first contribution in #1642
Full Changelog: v0.13.20...v0.14.19
0.13.20
https://github.com/pimcore/studio-backend-bundle/milestone/7?closed=1
What's Changed
- [Class Definitions][Config Detail]: Get data endpoints by @lukmzig in #1587
- [Class Definitions][Config Detail][Config Tree]: Main endpoints by @lukmzig in #1591
- [Class Definitions]: Add identifier data endpoints by @lukmzig in #1592
- [Class Definitions][Config Detail]: Add endpoint for update by @lukmzig in #1593
- [Class Definitions][Config Detail]: Add endpoints for field deifinitions part 1 by @lukmzig in #1595
- [Class Definitions][Config Detail]: Add endpoints for field deifinitions part 2 by @lukmzig in #1596
- [Custom layouts]: Adjust endpoints for custom layouts by @lukmzig in #1597
- [GDPR Data Extractor] DataobjectProvider and Asset Provider by @stunnerparas in #1563
- [Widget Editor] Align element tree context menu permissions with Studio UI by @markus-moser in #1598
- [Permissions]: Make endpoints available with user permission by @lukmzig in #1600
- [Task] Studio UI Development - Appearance and Branding by @mcop1 in #1599
- [PEES-920] Split DDL and DML into different migration. by @martineiber in #1601
- [Task] Adaptions for admin settings by @mcop1 in #1602
- Fix Schema Validation. by @martineiber in #1604
- [Bug]: [Custom Reports] Report Configuration not compatible to classic-ui by @mcop1 in #1605
- Prepare Release 0.13.20 by @martineiber in #1606
Full Changelog: v0.12.18...v0.13.20
0.12.18
https://github.com/pimcore/studio-backend-bundle/milestone/6?closed=1
What's Changed
- [Batch Edit] Gallery batch replace doesn't work by @lukmzig in #1578
- Centralised static analysis workflow by @berfinyuksel in #1579
- Update Copilot Instructions. by @martineiber in #1580
- [Widget Editor] Change concept for handling context menu permissions by @lukmzig in #1581
- [Grid] Do not show invisible fields in the grids. by @martineiber in #1583
- Studio UI Development - Class Definitions - Classes - Tree by @mcop1 in #1582
- Prepare Release 0.12.18 by @martineiber in #1586
Full Changelog: v0.12.9...v0.12.18
0.12.9
https://github.com/pimcore/studio-backend-bundle/milestone/5?closed=1
What's Changed
- Update: migrate docs workflow to Node LTS (setup-node@v4, node-versio… by @berfinyuksel in #1467
- Add placeholder translation for username field by @Corepex in #1471
- Symfony 7 compatibility by @herbertroth in #1472
- [Response] Make Response Collection Generic by @martineiber in #1474
- [Filter] Add getStart for FilterParameter by @martineiber in #1475
- PhpCode as a new Transformer by @stunnerparas in #1463
- [Configurations] Allow empty spaces in the name by @lukmzig in #1477
- Add branch-alias by @martineiber in #1478
- [Login]: Login fails on first attempt by @lukmzig in #1479
- [Documents]: Add append editables option for updates by @lukmzig in #1483
- [Perspectives] Don't throw permission error by @lukmzig in #1485
- [Task] Studio UI Development - About Dialog by @mcop1 in #1486
- Prefer DataNormalizerInterface. by @martineiber in #1489
- [Transformer] Additional changes by @stunnerparas in #1490
- [Elements]: Add element type property to element schemas by @lukmzig in #1492
- [Documents]: Add new document adapter interface by @lukmzig in #1498
- [Task] Search and Replace Assigments endpoints by @mcop1 in #1491
- [Task] Custom Reports Bundle additions by @mcop1 in #1512
- [User Management] Default key bindings request needs to be available for any user by @mcop1 in #1513
- [Settings] Add environment by @martineiber in #1515
- Update phpspreadsheet version constraints by @rvanlaak in #1499
- Add support of Mercure running on a subdomain by @vrobert78 in #1394
- [Execution Engine] Improve job run endpoints by @martineiber in #1517
- [Tree]: update custom index of siblings by @lukmzig in #1507
- [Reset Password] Make endpoint available without authentication by @lukmzig in #1520
- Use reusable documentation workflow by @berfinyuksel in #1510
- [Search and Replace Assigments] Type attribute should be element type and path full path by @mcop1 in #1523
- [Task] Detailed Error response for PQL errors by @mcop1 in #1521
- [User management] Login as this user in a different browser and user docType by @lukmzig in #1522
- [Object Grid] Inheritance of localizedFields by @martineiber in #1524
- [Perspective Editor] writeable vs. isWriteable by @lukmzig in #1525
- [Assets] Fix custom thumbnails for SVG by @mcop1 in #1526
- [Data Object Editor]: Add enrichLayoutDefinition() and ignore childrenByRef for responses by @lukmzig in #1529
- [Grid][Data Object] Change fronted type for fullpath by @martineiber in #1532
- [Login] Add dummy ping controller by @lukmzig in #1531
- [Search and Replace Assigments] Problems with replace request by @mcop1 in #1534
- [Document Editor][Translations]: Incorrect Parent Translation by @lukmzig in #1536
- [Classification Store] paging not correct in field selector by @lukmzig in #1535
- [Export] ClassificationStore by @martineiber in #1537
- [Improvement] Add voter for voting on having one permission from a set of permissions by @mcop1 in #1538
- Progressing GDPR by @stunnerparas in #1502
- [Grid] [Filter] Remove all Asset Metadata Filter. by @martineiber in #1541
- [GDPR] Fix Schema by @martineiber in #1542
- [Authentication][Token]: User is not in the session by @lukmzig in #1540
- [Workflows]: Additional fields user options and custom HTML service by @lukmzig in #1543
- [Classification Store] maintaining a user in the grid leads to an error by @lukmzig in #1546
- [Execution Engine] Reduce number of mercure topics by @martineiber in #1519
- [Classification Store] filtering for a number field does not work by @mcop1 in #1547
- [Settings]: Add max session lifetime to system the settings endpoint by @lukmzig in #1551
- [Grid] sorting for some specific fields leads to error by @lukmzig in #1549
- [Asset] Upload image info by @lukmzig in #1555
- [Task] Grid csv export does not deliver path of gallery images by @mcop1 in #1553
- [Data Object Editor] Emptying values in object brick fields not possible by @mcop1 in #1558
- [Grid] Add missing filters by @martineiber in #1556
- [Grid] Add Time Filter by @martineiber in #1560
- [Execution Engine] Add jobRunChildId to running-jobs endpoint by @lukmzig in #1561
- [Grid] Fix RGBA Filter by @martineiber in #1562
- [Grid] Add System Fields to Advanced Columns by @martineiber in #1564
- [Search] not possible to search for data objects for user with workspace limitation by @lukmzig in #1565
- [Advanced Columns] Export by @martineiber in #1566
- [Perspectives] Align with new main menu structure by @markus-moser in #1567
- [Grid][Data Object] Export FieldCollection by @martineiber in #1569
- Unify custom attributes in Pre-Response Event by @martineiber in #1572
- [GDPR] Fix Schema by @martineiber in #1574
- Add conflict
zircote/swagger-php>=5.6 by @martineiber in #1576 - Prepare Studio 0.12.9 by @martineiber in #1575
- [Recycle bin] Restore should trigger the GDI synchronously by @mcop1 in #1577
New Contributors
- @berfinyuksel made their first contribution in #1467
- @rvanlaak made their first contribution in #1499
- @vrobert78 made their first contribution in #1394
Full Changelog: v0.10.21...v0.12.9
0.10.21
What's Changed
- [Notifications] Error when sending notification to group by @lukmzig in #1428
- [Grid] [Classification Store] add groupId and keyId to response by @martineiber in #1430
- [Grid] [Classification Store] FieldDefinition for given keyId by @martineiber in #1431
- [Grid] Override system filterable and sortable by @martineiber in #1433
- [Data Object Editor] Check size of layout JSON by @lukmzig in #1435
- [Grid] Type should be a multi select with select options. by @martineiber in #1437
- [Grid] [Transformer] Twig Transformer by @stunnerparas in #1429
- [keybindings]: Add missing default keybindings by @MSchinwaldEl in #1441
- [Grid] [Transformer] Anonymizer by @stunnerparas in #1439
- [Grid] Add Class IDs to advanced Columns by @martineiber in #1442
- [Grid][Transformer] Translator for Grid Columns by @stunnerparas in #1443
- Add translations for forgot password form by @Corepex in #1448
- [Grid][Available Columns]: Add possibility to skip field types from default column processing by @lukmzig in #1451
- [Improvmenet] Add
ConflictExceptionby @mcop1 in #1453 - [Classificationstore] Add localized check for Classificationstore. by @martineiber in #1452
- [Classificationstore] Allow patch update for Classification Store by @martineiber in #1454
- [Perspective][Widgets]: Add onlyWrapper widget property by @lukmzig in #1456
- [Classification Store] Merge Active Groups. And pass user on async run. by @martineiber in #1460
- [Grid] Inheritance of Classification Store Delivers an array of InheritanceData by @martineiber in #1462
- [Classification Store] Improve error handling for inheritance by @martineiber in #1464
- Prepare 0.10.21 Release by @martineiber in #1468
New Contributors
- @MSchinwaldEl made their first contribution in #1441
Full Changelog: v0.9.30...v0.10.21