v11.7.1
29 April 2025 om 22:21
π Bug Fixes & Optimizations
- Restored build permissions to fix image publishing (#25140 by @wrynegade)
π¦ Published Versions
@directus/app@13.9.1@directus/api@27.0.1
@directus/app@13.9.1@directus/api@27.0.1
rollup-plugin-esbuild to 6.2.1 (#25041 by @ComfortablyCoding)getRelation/getRelations usage across packages (#25053 by @Nitwel)Error on Reject option to webhook flows (#25080 by @Nitwel)1.8.4 (#25110 by @licitdev)Error on Reject option to manually triggered flows (#24965 by @ComfortablyCoding)applyOptionsData errors not appearing in the flow log (#25025 by @ComfortablyCoding)getRelation/getRelations usage across packages (#25053 by @Nitwel)Error on Reject option to webhook flows (#25080 by @Nitwel)1.8.4 (#25110 by @licitdev)Error on Reject option to manually triggered flows (#24965 by @ComfortablyCoding)condition operation filters not properly parsed (#25015 by @ComfortablyCoding)applyQuery to improve code organization and maintainability (#25004 by @Nitwel)filename_download not respected on upload (#25062 by @ComfortablyCoding)one_deselect_action updates bypass QUERY_LIMIT_DEFAULT restrictions (#25087 by @ComfortablyCoding)run-script operation (#25106 by @Nitwel)getRelation/getRelations usage across packages (#25053 by @Nitwel)run-script operation (#25106 by @Nitwel)_regex validation (#24984 by @ComfortablyCoding)1.8.4 (#25110 by @licitdev)@directus/app@13.9.0@directus/api@27.0.0@directus/components@1.1.0@directus/composables@11.1.10create-directus-extension@11.0.13@directus/env@5.0.4@directus/extensions@3.0.5@directus/extensions-registry@3.0.5@directus/extensions-sdk@13.1.0@directus/memory@3.0.4@directus/pressure@3.0.4@directus/schema-builder@0.0.0@directus/storage-driver-azure@12.0.4@directus/storage-driver-cloudinary@12.0.4@directus/storage-driver-gcs@12.0.4@directus/storage-driver-s3@12.0.4@directus/storage-driver-supabase@3.0.4@directus/themes@1.1.0@directus/types@13.1.1@directus/update-check@13.0.1@directus/utils@13.0.4@directus/validation@2.0.4
@directus/app@13.8.1@directus/api@26.0.1
create (#24812 by @ComfortablyCoding)String to ID (#24757 by @Nitwel)omitKey option to getConfigFromEnv (#24826 by @jacobcons)files.upload event for resumable uploads (#24771 by @br41nslug)isDirectusError type guard function ot improve SDK error handling (#24764 by @ComfortablyCoding)/utils/hash/verify endpoint (#24788 by @Nitwel)PUBLIC_URL on SSO redirection (#24836 by @licitdev)createOne in the collections service (#24960 by @Nitwel)string | number (#24753 by @subtirelumihail)@directus/app@13.8.0@directus/api@26.0.0@directus/components@1.0.3@directus/composables@11.1.9@directus/constants@13.0.1create-directus-extension@11.0.12create-directus-project@12.0.1@directus/env@5.0.3@directus/errors@2.0.1@directus/extensions@3.0.4@directus/extensions-registry@3.0.4@directus/extensions-sdk@13.0.4@directus/format-title@12.0.1@directus/memory@3.0.3@directus/pressure@3.0.3@directus/random@2.0.1@directus/release-notes-generator@2.0.1@directus/schema@13.0.1@directus/storage-driver-azure@12.0.3@directus/storage-driver-cloudinary@12.0.3@directus/storage-driver-gcs@12.0.3@directus/storage-driver-s3@12.0.3@directus/storage-driver-supabase@3.0.3@directus/system-data@3.1.0@directus/themes@1.0.10@directus/types@13.1.0@directus/utils@13.0.3@directus/validation@2.0.3@directus/sdk@19.1.0
item_duplication_fields paths existing after a field in the path is deleted (#24654 by @ComfortablyCoding)filter_count returning incorrect values for relational filters (#24718 by @ComfortablyCoding)item_duplication_fields paths existing after a field in the path is deleted (#24654 by @ComfortablyCoding)@directus/app@13.7.1@directus/api@25.0.1@directus/composables@11.1.8create-directus-extension@11.0.11@directus/env@5.0.2@directus/extensions@3.0.3@directus/extensions-registry@3.0.3@directus/extensions-sdk@13.0.3@directus/memory@3.0.2@directus/pressure@3.0.2@directus/storage-driver-azure@12.0.2@directus/storage-driver-cloudinary@12.0.2@directus/storage-driver-gcs@12.0.2@directus/storage-driver-s3@12.0.2@directus/storage-driver-supabase@3.0.2@directus/system-data@3.0.1@directus/themes@1.0.9@directus/utils@13.0.2@directus/validation@2.0.2
@directus/app@13.7.0@directus/api@25.0.0@directus/composables@11.1.7create-directus-extension@11.0.10@directus/env@5.0.1@directus/extensions@3.0.2@directus/extensions-registry@3.0.2@directus/extensions-sdk@13.0.2@directus/memory@3.0.1@directus/pressure@3.0.1@directus/storage-driver-azure@12.0.1@directus/storage-driver-cloudinary@12.0.1@directus/storage-driver-gcs@12.0.1@directus/storage-driver-s3@12.0.1@directus/storage-driver-supabase@3.0.1@directus/themes@1.0.8@directus/utils@13.0.1@directus/validation@2.0.1
default_value dropped on field schema changes (#24386 by @ComfortablyCoding)@directus/app@13.6.0@directus/api@24.0.1create-directus-extension@11.0.9@directus/extensions@3.0.1@directus/extensions-registry@3.0.1@directus/extensions-sdk@13.0.1@directus/themes@1.0.7@directus/sdk@19.0.1
useRelationMultiple to only update fetched items when dependents change, not just update (#24389 by @connorwinston)related-values for related items in template rendering. Fixed display-formatted-values and display-labels not handling arrays correctly. Added handling of nested fields to template rendering. (#24232 by @connorwinston)is_indexed behavior for MSSQL/SQLite (#24203 by @joselcvarela)null on 204 response (#24275 by @ComfortablyCoding)is_indexed behavior for MSSQL/SQLite (#24203 by @joselcvarela)@directus/app@13.5.0@directus/api@24.0.0@directus/components@1.0.2@directus/composables@11.1.6@directus/constants@13.0.0create-directus-extension@11.0.8create-directus-project@12.0.0@directus/env@5.0.0@directus/errors@2.0.0@directus/extensions@3.0.0@directus/extensions-registry@3.0.0@directus/extensions-sdk@13.0.0@directus/format-title@12.0.0@directus/memory@3.0.0@directus/pressure@3.0.0@directus/random@2.0.0@directus/release-notes-generator@2.0.0@directus/schema@13.0.0@directus/storage@12.0.0@directus/storage-driver-azure@12.0.0@directus/storage-driver-cloudinary@12.0.0@directus/storage-driver-gcs@12.0.0@directus/storage-driver-local@12.0.0@directus/storage-driver-s3@12.0.0@directus/storage-driver-supabase@3.0.0@directus/stores@1.0.2@directus/system-data@3.0.0@directus/themes@1.0.6@directus/types@13.0.0@directus/update-check@13.0.0@directus/utils@13.0.0@directus/validation@2.0.0@directus/sdk@19.0.0
@directus/app@13.4.0@directus/api@23.3.2
@directus/app@13.3.8@directus/api@23.3.1@directus/sdk@18.0.3
idToken to providerPayload in auth.create and auth.update filter hooks (#24154 by @m3Lith)@directus/app@13.3.7@directus/api@23.3.0@directus/sdk@18.0.2
@directus/app@13.3.6@directus/api@23.2.2
@directus/app@13.3.5@directus/api@23.2.1
@directus/api@21.0.2
directus_activity and directus_revisions (#24058 by @ComfortablyCoding)directus_activity and directus_revisions (#24058 by @ComfortablyCoding)drawer-item (#24045 by @ComfortablyCoding)directus_activity and directus_revisions (#24058 by @ComfortablyCoding)@directus/app@13.3.4@directus/api@23.2.0@directus/composables@11.1.5create-directus-extension@11.0.7@directus/env@4.1.0@directus/extensions@2.0.6@directus/extensions-registry@2.0.6@directus/extensions-sdk@12.1.4@directus/memory@2.0.6@directus/pressure@2.0.5@directus/storage-driver-azure@11.1.2@directus/storage-driver-cloudinary@11.1.2@directus/storage-driver-gcs@11.1.2@directus/storage-driver-s3@11.0.5@directus/storage-driver-supabase@2.1.2@directus/system-data@2.1.2@directus/themes@1.0.5@directus/utils@12.0.5@directus/validation@1.0.5@directus/sdk@18.0.1
chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)chunkSize when TUS is not enabled and updated the default TUS_CHUNK_SIZE to 8mb (#24002 by @ComfortablyCoding)@directus/app@13.3.3@directus/api@23.1.3@directus/composables@11.1.4@directus/constants@12.0.1create-directus-extension@11.0.6@directus/env@4.0.0@directus/extensions@2.0.5@directus/extensions-registry@2.0.5@directus/extensions-sdk@12.1.3@directus/memory@2.0.5@directus/pressure@2.0.4@directus/storage-driver-azure@11.1.1@directus/storage-driver-cloudinary@11.1.1@directus/storage-driver-gcs@11.1.1@directus/storage-driver-s3@11.0.4@directus/storage-driver-supabase@2.1.1@directus/themes@1.0.4@directus/types@12.2.2@directus/utils@12.0.4@directus/validation@1.0.4
@directus/app@13.3.2@directus/api@23.1.2
@directus/app@13.3.1@directus/api@23.1.1@directus/composables@11.1.3create-directus-extension@11.0.5@directus/env@3.1.3@directus/extensions@2.0.4@directus/extensions-registry@2.0.4@directus/extensions-sdk@12.1.2@directus/memory@2.0.4@directus/pressure@2.0.3@directus/storage-driver-azure@11.1.0@directus/storage-driver-cloudinary@11.1.0@directus/storage-driver-gcs@11.1.0@directus/storage-driver-s3@11.0.3@directus/storage-driver-supabase@2.1.0@directus/system-data@2.1.1@directus/themes@1.0.3@directus/types@12.2.1@directus/utils@12.0.3@directus/validation@1.0.3
directus_fields to GraphQL schema, SDK and docs (#23905 by @br41nslug)delta field under directus_versions (#23612 by @licitdev)is_indexed to schema snapshot (#23861 by @ComfortablyCoding)directus_fields to GraphQL schema, SDK and docs (#23905 by @br41nslug)delta field under directus_versions (#23612 by @licitdev)errors and data information (#22666 by @GuyShane)directus_fields to GraphQL schema, SDK and docs (#23905 by @br41nslug)@directus/app@13.3.0@directus/api@23.1.0@directus/composables@11.1.2create-directus-extension@11.0.4create-directus-project@11.0.2@directus/env@3.1.2@directus/errors@1.0.1@directus/extensions@2.0.3@directus/extensions-registry@2.0.3@directus/extensions-sdk@12.1.1@directus/memory@2.0.3@directus/pressure@2.0.2@directus/specs@11.1.0@directus/storage@11.0.1@directus/storage-driver-azure@11.0.2@directus/storage-driver-cloudinary@11.0.3@directus/storage-driver-gcs@11.0.2@directus/storage-driver-local@11.0.1@directus/storage-driver-s3@11.0.2@directus/storage-driver-supabase@2.0.2@directus/system-data@2.1.0@directus/themes@1.0.2@directus/types@12.2.0@directus/update-check@12.0.2@directus/utils@12.0.2@directus/validation@1.0.2@directus/sdk@18.0.0
Prettify type helper (#23714 by @hanneskuettner)api/src/request/is-denied-ip.ts and app/src/interfaces/input-rich-text-html/input-rich-text-html.vue (#23584 by @ComfortablyCoding)$CURRENT_POLICIES and $CURRENT_ROLES in the filter interface (#23730 by @hanneskuettner)api/src/request/is-denied-ip.ts and app/src/interfaces/input-rich-text-html/input-rich-text-html.vue (#23584 by @ComfortablyCoding)withToken if a token is already saved in the SDK instance (#23739 by @hanneskuettner)extensions-sdk add command (#23663 by @ComfortablyCoding)defineX typings to properly type the known config options (#23714 by @hanneskuettner)@directus/app@13.2.1@directus/api@23.0.0@directus/components@1.0.1@directus/composables@11.1.1create-directus-extension@11.0.3create-directus-project@11.0.1@directus/env@3.1.1@directus/extensions@2.0.2@directus/extensions-registry@2.0.2@directus/extensions-sdk@12.1.0@directus/memory@2.0.2@directus/pressure@2.0.1@directus/release-notes-generator@1.0.1@directus/schema@12.1.1@directus/storage-driver-azure@11.0.1@directus/storage-driver-cloudinary@11.0.2@directus/storage-driver-gcs@11.0.1@directus/storage-driver-s3@11.0.1@directus/storage-driver-supabase@2.0.1@directus/stores@1.0.1@directus/themes@1.0.1@directus/types@12.1.0@directus/update-check@12.0.1@directus/utils@12.0.1@directus/validation@1.0.1@directus/sdk@17.0.2
USER_INVITE_TOKEN_TTL option, allowing to configure the expiration of user invitations (#22986 by @matt-rolley)gen_random_uuid() to be used as default value for a field (#23359 by @jaads)graphql and websocket logs (#23488 by @ComfortablyCoding)769fa22 by @rijkvanzanten)email.send filter to be usable in Flows in conjunction with the "Run Script" operation (#23446 by @joselcvarela)graphql and websocket logs (#23488 by @ComfortablyCoding)0.0.0.0 matching of loopback ranges (8cbf943 by @br41nslug)USER_INVITE_TOKEN_TTL option, allowing to configure the expiration of user invitations (#22986 by @matt-rolley)d90d1bd by @rijkvanzanten)@directus/app@13.2.0@directus/api@22.2.0create-directus-extension@11.0.2@directus/env@3.1.0@directus/extensions@2.0.1@directus/extensions-registry@2.0.1@directus/extensions-sdk@12.0.2@directus/memory@2.0.1@directus/schema@12.1.0@directus/specs@11.0.1@directus/storage-driver-cloudinary@11.0.1@directus/types@12.0.1@directus/sdk@17.0.1
4aace0b by @rijkvanzanten)0.0.0.0 matching of loopback ranges (c1f3ccc by @rijkvanzanten)@directus/app@12.2.3@directus/api@21.0.1@directus/env@1.3.2@directus/memory@1.0.12
_some and _none filters (#23272 by @hanneskuettner)groupBy queries for O2M relations, where results were not correctly grouped under their respective parent (#23279 by @hanneskuettner)directus_notifications (#23336 by @azrikahar)/permissions/me/<collection> endpoint (#23269 by @hanneskuettner)"DB_CLIENT" Environment Variable is missing. appearing during directus init (#23256 by @ComfortablyCoding)@directus/app@13.1.0@directus/api@22.1.1@directus/composables@11.1.0create-directus-extension@11.0.1@directus/extensions-sdk@12.0.1
There were a handful reports about the migrations from v10-v11 failing, so we pushed a couple patches to make it more reliable π
_FILE suffix (#22164 by @joselcvarela)directus_permissions.role more gracefully (#23251 by @hanneskuettner)mysql2 package (#23231 by @paescuj)UNIX_SOCKET_PATH variable (#23150 by @McSundae)_FILE suffix (#22164 by @joselcvarela)@directus/app@13.0.1@directus/api@22.1.0@directus/env@3.0.0
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.
mysql with mysql2, used for MySQL/MariaDB (#22534 by @paescuj)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/app@13.0.0@directus/api@22.0.0@directus/components@1.0.0@directus/composables@11.0.0@directus/constants@12.0.0create-directus-extension@11.0.0create-directus-project@11.0.0@directus/env@2.0.0@directus/errors@1.0.0@directus/extensions@2.0.0@directus/extensions-registry@2.0.0@directus/extensions-sdk@12.0.0@directus/format-title@11.0.0@directus/memory@2.0.0@directus/pressure@2.0.0@directus/random@1.0.0@directus/release-notes-generator@1.0.0@directus/schema@12.0.0@directus/specs@11.0.0@directus/storage@11.0.0@directus/storage-driver-azure@11.0.0@directus/storage-driver-cloudinary@11.0.0@directus/storage-driver-gcs@11.0.0@directus/storage-driver-local@11.0.0@directus/storage-driver-s3@11.0.0@directus/storage-driver-supabase@2.0.0@directus/stores@1.0.0@directus/system-data@2.0.0@directus/themes@1.0.0@directus/tsconfig@2.0.0@directus/types@12.0.0@directus/update-check@12.0.0@directus/utils@12.0.0@directus/validation@1.0.0@directus/sdk@17.0.0
email.send filter event, allowing to modify email options via Flows or Custom Extensions (#23024 by @joselcvarela)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/app@12.2.2@directus/api@21.0.0@directus/composables@10.1.16create-directus-extension@10.1.15@directus/env@1.3.1@directus/errors@0.4.0@directus/extensions@1.0.10@directus/extensions-registry@1.0.10@directus/extensions-sdk@11.0.10@directus/memory@1.0.11@directus/pressure@1.0.22@directus/schema@11.0.4@directus/specs@10.2.11@directus/storage-driver-azure@10.0.24@directus/storage-driver-cloudinary@10.0.24@directus/storage-driver-gcs@10.0.25@directus/storage-driver-s3@10.1.1@directus/storage-driver-supabase@1.0.16@directus/system-data@1.1.1@directus/themes@0.3.11@directus/types@11.2.1@directus/utils@11.0.11@directus/validation@0.0.19@directus/sdk@16.1.2
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)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/app@13.0.0-rc.2@directus/api@21.0.0-rc.0@directus/composables@10.1.16-rc.0@directus/constants@11.1.0-rc.1create-directus-extension@10.1.15-rc.0@directus/env@1.3.1-rc.0@directus/errors@0.4.0-rc.1@directus/extensions@2.0.0-rc.1@directus/extensions-registry@1.0.10-rc.0@directus/extensions-sdk@11.0.10-rc.0@directus/memory@1.1.0-rc.1@directus/pressure@1.0.22-rc.0@directus/storage-driver-azure@10.0.24-rc.0@directus/storage-driver-cloudinary@10.0.24-rc.0@directus/storage-driver-gcs@10.0.25-rc.0@directus/storage-driver-s3@10.1.1-rc.0@directus/storage-driver-supabase@1.0.16-rc.0@directus/system-data@2.0.0-rc.1@directus/themes@0.3.11-rc.0@directus/types@12.0.0-rc.1@directus/utils@12.0.0-rc.1@directus/validation@0.0.19-rc.0@directus/sdk@16.2.0-rc.1
tus_id field when reading files, even if TUS is not enabled (#22929 by @hanneskuettner)@directus/app@12.2.1@directus/api@20.1.0@directus/env@1.3.0
CORS_ORIGIN: false and CORS_MAX_AGE: 0 (#22721 by @joselcvarela)uploaded_on time to be set in a different format than modified_on in SQLite (#22885 by @rijkvanzanten)primaryKey flag in RecordNotUniqueError extensions (#22434 by @hanneskuettner)@directus/app@12.2.0@directus/api@20.0.0@directus/composables@10.1.15create-directus-extension@10.1.14@directus/env@1.2.0@directus/errors@0.3.3@directus/extensions@1.0.9@directus/extensions-registry@1.0.9@directus/extensions-sdk@11.0.9@directus/memory@1.0.10@directus/pressure@1.0.21@directus/storage@10.1.0@directus/storage-driver-azure@10.0.23@directus/storage-driver-cloudinary@10.0.23@directus/storage-driver-gcs@10.0.24@directus/storage-driver-local@10.1.0@directus/storage-driver-s3@10.1.0@directus/storage-driver-supabase@1.0.15@directus/system-data@1.1.0@directus/themes@0.3.10@directus/types@11.2.0@directus/utils@11.0.10@directus/validation@0.0.18@directus/sdk@16.1.1