The Modern Data Stack ๐ฐ โ Directus is an instant REST+GraphQL API and intuitive no-code data collaboration app for any SQL database.
OTHER License
Bot releases are visible (Hide)
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.
preRegisterCheck
signature to align with the changes made for Policies (#22773 by @rijkvanzanten)parseFilter
and added the processChunk
helper (#22773 by @rijkvanzanten)clear
method to cache implementations (#22773 by @rijkvanzanten)ForbiddenError
(#22773 by @rijkvanzanten)groupBy
behavior that resulted in an internal server error when used with relational item permissions (#23185 by @hanneskuettner)reduceSchema
to strip out collection the user does not have access to (#22916 by @hanneskuettner)fetchPolicies
for users without roles (#22936 by @hanneskuettner)DB_FILENAME
option from the Docker Image is not applied when using MySQL/MariaDB, fixing a corresponding warning (#22970 by @cliqer)NotificationsService
to new policies system (#22914 by @hanneskuettner)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
created_on
date field for files and adjusted uploaded_on
to be updated with every upload (#23035 by @paescuj)created_on
date field for files and adjusted uploaded_on
to be updated with every upload (#23035 by @paescuj)email.send
filter event, allowing to modify email options via Flows or Custom Extensions (#23024 by @joselcvarela)access_token
in the query string when LOG_STYLE=raw
(2e893f9
by @licitdev)ASSETS_TRANSFORM_IMAGE_MAX_DIMENSION
is also respected for extraction of metadata during image upload (#23064 by @AndriyAntonenko)created_on
date field for files and adjusted uploaded_on
to be updated with every upload (#23035 by @paescuj)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
parseFilter
and added the processChunk
helper (#22773 by @rijkvanzanten)preRegisterCheck
signature to align with the changes made for Policies (#22773 by @rijkvanzanten)clear
method to cache implementations (#22773 by @rijkvanzanten)ForbiddenError
(#22773 by @rijkvanzanten)reduceSchema
to strip out collection the user does not have access to (#22916 by @hanneskuettner)fetchPolicies
for users without roles (#22936 by @hanneskuettner)NotificationsService
to new policies system (#22914 by @hanneskuettner)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
tus_id
field when reading files, even if TUS is not enabled (#22929 by @hanneskuettner)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
CORS_ORIGIN: false
and CORS_MAX_AGE: 0
(#22721 by @joselcvarela)primaryKey
flag in RecordNotUniqueError
extensions (#22434 by @hanneskuettner)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
mysql
with mysql2
, used for MySQL/MariaDB (#22534 by @paescuj)parseFilter
and added the processChunk
helper (#22773 by @rijkvanzanten)preRegisterCheck
signature to align with the changes made for Policies (#22773 by @rijkvanzanten)clear
method to cache implementations (#22773 by @rijkvanzanten)ForbiddenError
(#22773 by @rijkvanzanten)CORS_ORIGIN: false
and CORS_MAX_AGE: 0
(#22721 by @joselcvarela)primaryKey
flag in RecordNotUniqueError
extensions (#22434 by @hanneskuettner)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
/random/string
with an invalid length param could prevent creation of valid sessions until next restart (#22573 by @Zehir)@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
SESSION_TOKEN_TTL
for session mode (#22501 by @br41nslug)_between
and _nbetween
filters using a function, such as count()
and year()
(#22410 by @hanneskuettner)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
Fixed API queries with the search
parameter to return no results if the query is not applicable to any fields (#22342)
Previously, the API returned all items for collections where the search
parameter was not applicable to any fields. Now the API returns no items in such a case.
string
instead of URL
(#22105 by @paescuj)isDirectusError
guard to return specific error type when code for built-in error is provided (#22346 by @paescuj)search
parameter to return no results if the query is not applicable to any fields (#22342 by @licitdev)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
Alterations
type (#22027 by @paescuj)CACHE_AUTO_PURGE
config doesn't influence the Cache-Control header (#22203 by @hanneskuettner)version
argument to singleton GraphQL queries (#22184 by @joselcvarela)@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/format-title
into the monorepo (#21847 by @paescuj)@directus/format-title
into the monorepo (#21847 by @paescuj)@directus/format-title
into the monorepo (#21847 by @paescuj)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
Published by github-actions[bot] 8 months ago
NODE_ENV
set to development
) (#21780 by @paescuj)headers
in the Sandbox SDK request function (#21746 by @paescuj)send
method in MailService
to return the promise with info, adapted use within @directus/api
to not@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
This release contains the extensions marketplace and big improvements to content versioning.
[!WARNING]
If you're using extensions in type-folders, please be aware of breaking changes
508508d
by @rijkvanzanten)uuid
dependency in favor of Node.js built-in UUID generator (#21625 by @paescuj)@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
[email protected]
[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]
@directus/[email protected]