Updated setting categories to validate by for existing views, allowing custom categories to be used via the theme system. Thanks to @LachTrip. (#5255, #5251)
Updated translations with latest Crowdin changes. (#5250)
Vulnerability that allows a user with the lowest privilege to conduct a session hijacking, subsequently gaining unauthorized access to the admin and other user accounts. (Muhammad Aizat, datack.my)
Ensured data in sidebar is re-fetched when switching pages while a sidebar pane is already opened (#23553 by @SP12893678)
Ensured errors occured within the cards layout are always shown (#23802 by @SP12893678)
Fixed format warnings in api/src/request/is-denied-ip.ts and app/src/interfaces/input-rich-text-html/input-rich-text-html.vue (#23584 by @ComfortablyCoding)
Fixed an issue that would cause log streaming to fail on Directus installations that use a subpath in the URL (#23569 by @JoshTheDerf)
Fixed an issue that could cause the color picker interface to crash when a invalid color was used and improved the UX of interacting with the text input of the color picker interface. (#23654 by @connorwinston)
Ensured users are redirected to the intended page after login via LDAP (#23788 by @mmsardar)
Fixed failing validation of $CURRENT_POLICIES and $CURRENT_ROLES in the filter interface (#23730 by @hanneskuettner)
Fixed the truncation of long collection names in the permission configuration interface (#23700 by @hanneskuettner)
Fixed format warnings in api/src/request/is-denied-ip.ts and app/src/interfaces/input-rich-text-html/input-rich-text-html.vue (#23584 by @ComfortablyCoding)
Ensured notifications are reloaded after manually running a Flow to provide users with the latest notifications generated by the Flow (#23381 by @Dominic-Marcelino)
Ensured warning about unsaved changes is displayed for Flows with custom confirmation config too (#23408 by @Dominic-Marcelino)
Improved selection label of the "New Tab" checkbox in the html rich text editor (#23502 by @simboonlong)
Added notice in notifications drawer when no items are found due to applied search/filter (#23428 by @paescuj)
Fixed styling issues with the related-values display (#21854 by @formfcw)
Added the option to select a default sort field in the O2M interface (#23019 by @alexvdvalk)
@directus/composables
Enhanced & aligned item counts in collections, providing more detailed information (#22519 by @paescuj)
π Bug Fixes & Optimizations
@directus/app
Fixed bookmark duplication when rapidly switching between bookmarks (#23324 by @SP12893678)
Fixed translations interface that attempted to query the language direction field, even if unconfigured and unavailable (#23300 by @hanneskuettner)
Fixed readonly mutation to fields in the store via item drawer (#23277 by @azrikahar)
Fixed the sorting behavior when adding new items to a O2M relation that uses a string sort field (e.g. through manual (#23348 by @hanneskuettner)
sorting in the table interface)
Enhanced & aligned item counts in collections, providing more detailed information (#22519 by @paescuj)
Improved WYSIWYG editor to hide the toolbar if no toolbar items are selected (#23310 by @Dominic-Marcelino)
Fixed the WYSIWYG interface to correctly apply the font configured in the interface settings (#23343 by @formfcw)
@directus/api
Persist default value and nullable during field schema update (#23151 by @echocrow)
Fixed caching behavior of permissions that contain dynamic variables (#23321 by @hanneskuettner)
Fixed the permission application for relational _some and _none filters (#23272 by @hanneskuettner)
Fixed an issue where the first column would be missing when importing UTF-8 BOM CSV files (#23332 by @azrikahar)
Fixed sort field default for related o2m items in case of missing permissions (#23267 by @hanneskuettner)
Fixed typo for invalid aggregate query parameter log (#23334 by @azrikahar)
Fixed item permission checking for collections that have permissions with no field access (#23357 by @hanneskuettner)
Fixed deep groupBy queries for O2M relations, where results were not correctly grouped under their respective parent (#23279 by @hanneskuettner)
items
Fixed the notification for finished file exports to be sent out to users without requiring any permissions on directus_notifications (#23336 by @azrikahar)
Fixed the retrieval of updatable singleton field permissions in the /permissions/me/<collection> endpoint (#23269 by @hanneskuettner)
Fixed permissions migration to work with more MySQL flavors (#23327 by @hanneskuettner)
Fixed "DB_CLIENT" Environment Variable is missing. appearing during directus init (#23256 by @ComfortablyCoding)
Fixed M2A querying when the user does not have access to all related collections (#23340 by @hanneskuettner)
Fixed an issue that would cause the translations display not to use the correct language if the user relied on "system (#23240 by @danilobuerger)
language"
@directus/api
Improved policies migration to handle a missing foreign key on directus_permissions.role more gracefully (#23251 by @hanneskuettner)
Ensured the migrations are properly executed when bootstrapping MySQL (#23233 by @paescuj)
Fixed drop foreign key if has different constraint name on permissions policies migrations (#23253 by @joselcvarela)
Fixed the init CLI command for MySQL to use the new mysql2 package (#23231 by @paescuj)
π Documentation
Added support for listening on unix sockets via a new UNIX_SOCKET_PATH variable (#23150 by @McSundae)
Added support to provide a cast prefix to config variables which are read from a file using the _FILE suffix (#22164 by @joselcvarela)
Directus v11 contains a brand new permissions system that's based on policies. We've provided a migration, so the upgrade path is the same as with other releases. This is a big release, which changes the paradigm on how permissions are attached and executed. Please make a database backup before upgrading your version of Directus.
Ensured that policies attached to a user, role and parent roles are correctly prioritized (#22967 by @paescuj)
Ensured the default DB_FILENAME option from the Docker Image is not applied when using MySQL/MariaDB, fixing a corresponding warning (#22970 by @cliqer)
Fixed the policies migration for the case where permissions had been configured for the public role (#22811 by @paescuj)
Fix query error on some DB vendors when using multi relation sort (#22872 by @hanneskuettner)
This is a quality-focussed release for the 1.24.x series meant to provide a good product to people blocked on PHP 7.4, while we will increase the requirements to PHP 8.1+ from the next release.
A few highlights β¨:
Last version supporting PHP 7.4 before requiring PHP 8.1+
Last version supporting PostgreSQL 9.5 before requiring PostgreSQL 10+
Last version supporting MariaDB 5.5 before requiring MariaDB 10.0.5+
Last version supporting MySQL 5.5.3 before requiring MySQL 8+
This is a security release to address issues found in LDAP group syncing, where in certain scenarios a user could be matched to extra roles incorrectly, and an issue with content visibility in "book-show" API responses which would not have permissions applied properly.
Upgrade is strongly advised for instances where LDAP authentication is used with group syncing, or where the REST API is used to fetch contents of books ("books-read" endpoint).
Thanks to Linus Nagel and their team at WorkSimple GmbH for reporting this API vulnerability.
Full List of Changes
Updated API docs with consistent parameter types. (#5183)
Updated default content iframe embed max-width to align with other content types. (#5130)
Updated LDAP group sync to query via full DN.
Updated translations with latest Crowdin changes. (#5118)
Fixed books read API response not applying visibility control to chapter contents.
Fixed API docs users response showing extra property. (#5178)
Fixed database error thrown when using out dev docker setup. (#5124)
Fixed RTL display issues with tasklist checkboxes. (#5134)
This is a quality-focussed release for the 1.24.xseries meant to provide a good product to people blocked on PHP 7.4, while we will increase the requirements to PHP 8.1+ from the next 1.25.x series.
A few highlights β¨:
New global option to automatically add articles to favourites
New option to share articles from the article title line
Add core extensions, shipped by default: UserCSS and UserJS
Security: Force log out of users when they are disabled