NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #5061 most downloaded on Packagist
Gui module
Last release 9 days ago
29 Sep 2026
Release timing varies
gaps range from 8 days to 2 months
Some releases are documented
notes for 17 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
216 releases · first in 2016
Included commits: 5.7.0...5.8.0
Included commits: 5.7.0...5.8.0
ImageUploader::detachModalBehaviorFromDeleteButton() so that the delete button no longer fails on an undefined data reference.paths.sources from frontend/backoffice.settings.mts, so a project namespace registered there is linted.FrontendBuilder to replace @spryker/oryx-for-zed, with the build, build:watch, build:production, lint, stylelint and update:config scripts.*.entry.ts entry points, generated @zed/<module>/* path aliases and global type declarations in zed-globals.d.ts.development-watch mode; highlight.js is loaded lazily only on pages with code blocks.coloredButton mixin.jquery to ~3.7.1, jquery-migrate to ~3.6.0, select2 to ~4.1.0, marked to ~18.0.14 and autonumeric to ~4.10.10; removed animate.css and metismenu.One column per quarter.
Included commits: 5.6.0...5.7.0
Included commits: 5.6.0...5.7.0
GuiConfig::isSimplePaginationEnabledByDefault(), GuiConfig::isCaseSensitiveSearchEnabledByDefault(), and GuiConfig::isSortingEnabledByDefault() to allow project-wide control over Zed table pagination, search, and sorting performance defaults. Each returns null by default, meaning the behavior is resolved adaptively per request.GuiConfig::getLargeTableRowCountThreshold() — the approximate row count above which AbstractTable treats a table as large and enables the performance optimizations automatically. Returns null by default, which keeps the adaptive check disabled entirely and leaves all existing tables unchanged.TableConfiguration::setUseSimplePagination() and TableConfiguration::isSimplePaginationEnabled() to skip both the recordsTotal and recordsFiltered COUNT(*) queries on large Zed tables, replacing them with a single extra fetched row and switching the UI to Previous/Next-only pagination.TableConfiguration::setUseCaseSensitiveSearch() and TableConfiguration::isCaseSensitiveSearchEnabled() to match the global search box with an exact, case-sensitive comparison that can use existing indexes, instead of a LOWER(column) LIKE '%term%' pattern that forces a full table scan.TableConfiguration::setUseSorting() and TableConfiguration::isSortingEnabled() to skip ORDER BY on the underlying query, avoiding a full sort of the joined result set on very large tables. A genuine column click from the client still applies.TableConfiguration::isColumnSearchEnabled() and extended TableConfiguration::getSearchableColumns() to support per-column search inputs alongside the global search box. setSearchable() now also accepts an associative [headerKey => sqlExpression] array, which doubles as the per-column search map, and setSearchableColumns() remains available for configuring per-column search independently.AbstractTable::resolveAdaptiveTableConfiguration() and AbstractTable::getGuiConfig(), which resolve the still-unset performance flags for a single request based on the estimated row count of the query's main table. An explicit value from configure() or from GuiConfig always wins and skips the row-count check.en_US/de_DE translations added).assets/Zed/js/modules/libs/table/: table.js orchestrates creation and configuration of every Back Office table, and table-access.js, table-handle.js, assignable-table.js, master-detail-table.js, performance-table.js, and searchable-table.js provide the feature set modules previously implemented themselves. Documented in libs/table/README.md.IntersectionObserver and created when they become visible, so they no longer size their columns against a zero-width container or fetch rows the user may never see.performance-table.js, so a persisted page offset beyond the available records resets to the first page instead of rendering an empty table.Presentation/Table/table.twig to render the gui-table-data class by default (overridable via the class variable), so every AbstractTable-based grid is discovered by the centralized table library.TableConfiguration::getSearchable() to always return a list, so an associative searchable configuration does not leak its keys into the global search configuration.Removals
assets/Zed/js/modules/init.js and assets/Inspinia2/js/app.js; tables are now created exclusively by the centralized table library.datatables.net-bs, datatables.net-buttons-bs, datatables.net-responsive-bs, datatables.net-select-bs) from the Zed asset dependencies; only the Bootstrap 5 variants remain in use.Included commits: 5.5.1...5.6.0
Included commits: 5.5.1...5.6.0
UrlTwigPlugin to generate absolute URLs for WebProfiler toolbar routes, so the toolbar's own JavaScript can resolve them; regular Zed navigation URLs remain relative.Included commits: 5.5.0...5.5.1
Deprecated DatePicker JS class in favor of DateTimePicker , which is configured declaratively via DatePickerType / DateTimePickerType .
Included commits: 5.4.0...5.5.0
DatePickerType and DateTimePickerType form types to provide the updated standard Back Office date and time picker.range_group and range_role options to DatePickerType/DateTimePickerType to declaratively link two fields into a validity range.min_date, max_date, alt_format and minute_increment options to DatePickerType/DateTimePickerType to configure the picker's bounds and display format.GuiCommunicationFactory::getUtilEncodingService() to support the new date/time picker configuration.GuiDependencyProvider::SERVICE_UTIL_ENCODING constant.DatePicker JS class in favor of DateTimePicker, which is configured declaratively via DatePickerType/DateTimePickerType..js-date, .js-from-date, .js-to-date selectors and the .safe-datetime native-picker suppression.Included commits: 5.3.4...5.4.0
Included commits: 5.3.4...5.4.0
.active and aria-current="page" instead of a link, so it no longer navigates to a URI that drops the current page's query parameters and returns a 404.Included commits: 5.3.3...5.3.4
Included commits: 5.3.3...5.3.4
SanitizeXssListener; submitted form data is now sanitised once.Included commits: 5.3.2...5.3.3
Included commits: 5.3.2...5.3.3
.label-default CSS class extending badge-default to align badge styling with the configurable workflow status indicators in the Back Office UI.Fixed open redirect vulnerability in form-with-external-fields.js by validating that redirect URLs share the same origin before navigation, preventing…
Included commits: 5.3.1...5.3.2
form-with-external-fields.js by validating that redirect URLs share the same origin before navigation, preventing unauthorized redirects.dompurify dependency from ^3.2.0 to ^3.4.12 to address security issues.Replaced jQuery HTML string concatenation in the dependent select box with DOM API and textContent assignment to prevent XSS vulnerabilities.
Included commits: 5.3.0...5.3.1
textContent assignment to prevent XSS vulnerabilities.Included commits: 5.2.2...5.3.0
Included commits: 5.2.2...5.3.0
dataTable element.Included commits: 5.2.1...5.2.2
Included commits: 5.2.1...5.2.2
ButtonGroupUrlGenerator::generateAnchor() to include the dropdown-item CSS class on rendered anchor elements, ensuring correct Bootstrap 5 dropdown styling.Included commits: 5.2.0...5.2.1
Included commits: 5.2.0...5.2.1
en_US and de_DE.Included commits: 5.1.0...5.2.0
Included commits: 5.1.0...5.2.0
marked ^15.0.0 and dompurify ^3.2.0 JavaScript dependencies to support Markdown rendering and HTML sanitisation for the backoffice chat interface.Included commits: 5.0.1...5.1.0
Included commits: 5.0.1...5.1.0
FormRuntimeLoaderTwigPlugin and added the test coverage.Twig version dependency.Included commits: 5.0.0...5.0.1
Included commits: 5.0.0...5.0.1
.cursor-pointer tr and .offcanvas width styling support in Zed SASS assets to support interaction behaviour and detail drawer layout used by the Backoffice AI interactions page.Included commits: 4.12.0...5.0.0
Included commits: 4.12.0...5.0.0
role="tablist", role="presentation", and role="tabpanel".Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →