chore(deps): update directus/directus docker tag to v12 - #688
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update directus/directus docker tag to v12#688renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/directus-directus-12.x
branch
from
June 12, 2026 02:07
c354fc7 to
3e1a6f9
Compare
renovate
Bot
force-pushed
the
renovate/directus-directus-12.x
branch
from
June 12, 2026 21:43
3e1a6f9 to
86b2fb2
Compare
renovate
Bot
force-pushed
the
renovate/directus-directus-12.x
branch
from
July 1, 2026 22:37
86b2fb2 to
4cb0c44
Compare
renovate
Bot
force-pushed
the
renovate/directus-directus-12.x
branch
from
July 29, 2026 22:26
4cb0c44 to
57299b1
Compare
renovate
Bot
force-pushed
the
renovate/directus-directus-12.x
branch
from
August 18, 2026 20:32
57299b1 to
29182ab
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
11.17.4→12.3.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
directus/directus (directus/directus)
v12.3.0Compare Source
Fixed storage connections leaking when asset requests were cancelled or a transformation failed, which eventually made every asset request return a permission error until Directus was restarted (#28076)
exists()now throws when the lookup itself fails, for example on a timeout, a connection error or rejected credentials, instead of also reportingfalse. Callers that relied on afalseresult for any failure need to handle the error. Note that S3 answers 403 rather than 404 for a missing object when the credentials cannot list the bucket, so grantings3:ListBucketis needed to keep getting a clean "missing" answer.Fixed "Update Items" and "Delete Items" operations affecting every item in a collection when given an empty or missing key or query (#27759)
Nothing to target is a no-op
"Update Items" and "Delete Items" operations now return
nullinstead of falling back to every item whenever the configuration doesn't target anything — that is, whenkeyis empty or missing (e.g.[],"") andqueryis empty or missing (e.g.{}). "Update Items" additionally returnsnullwhen there is nothing to write, i.e. an empty or missingpayload(e.g.{}, or[]for a batch payload). Flows that relied on the previous fallback to every item can use{"limit": -1}.Contradictory options error
"Update Items" and "Delete Items" operations now throw an error when both
keyandqueryare defined. "Update Items" also throws whenkeyorqueryis combined with a batch payload.Updated
ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSIONto matchASSETS_TRANSFORM_IMAGE_MAX_DIMENSION(6000px) (#28111)The default maximum output dimension is now
6000px. Users who rely on the previous limit of3000px can explicitly configureASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSION.Used the
pm2bundled with@directus/apiin the Docker images instead of installing a separate copy, so its dependencies follow the versions pinned by the workspace (#28120)If you extend the Docker image: it now boots via
CMD ["node", "docker-entrypoint.cjs"], which runs the samebootstrapthenpm2-runtimesequence as before.pm2-runtimeis no longer on thePATH, so a customCMDthat called it directly should hand off todocker-entrypoint.cjsinstead.pm2itself remains on thePATHfordocker execdiagnostics.directus_files,directus_collections,directus_deployments,directus_settings, anddirectus_users(#27945 by @kheiner)✨ New Features & Improvements
figurewith afigcaption(#28026 by @alvarosabu)@directus/cli(d6s/directus-cli) — a client-side CLI that syncs schema and configuration between Directus instances through committed JSON files, withsync pull,sync diff,sync push, and an interactive wizard (#27861 by @bryantgillespie)directus_files,directus_collections,directus_deployments,directus_settings, anddirectus_users(#27945 by @kheiner)🐛 Bug Fixes & Optimizations
--instead of their display template (#28010 by @alvarosabu)directus_files,directus_collections,directus_deployments,directus_settings, anddirectus_users(#27945 by @kheiner)block,selectoranditemsentries in the Custom Formats option apply classes and attributes to paragraphs, headings and other block nodes from the Formats dropdown (#28044 by @alvarosabu)EXTENSIONS_STORAGE_MAX_CONCURRENCYto configure the maximum number of concurrent requests to the extensions storage location (#27989 by @dstockton)ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSIONto matchASSETS_TRANSFORM_IMAGE_MAX_DIMENSION(6000px) (#28111 by @ComfortablyCoding)TranslationsService.updateManyincorrectly rejecting single-row updates containing bothkeyandlanguage(#28001 by @suhailopensource)RATE_LIMITER_WEBSOCKETS_*values as overrides, includingRATE_LIMITER_WEBSOCKETS_KEY_PREFIXto override the Redis key prefix. (#28107 by @AlexGaillard)EXTENSIONS_STORAGE_MAX_CONCURRENCYto configure the maximum number of concurrent requests to the extensions storage location (#27989 by @dstockton)ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSIONto matchASSETS_TRANSFORM_IMAGE_MAX_DIMENSION(6000px) (#28111 by @ComfortablyCoding)sandboxwithout anenabledflag being rejected as invalid (#28087 by @dstockton)eslint,@eslint/js,eslint-plugin-vue, andtypescript-eslint. Replacedeslint-plugin-importwitheslint-plugin-import-x(#28047 by @br41nslug)sandboxwithout anenabledflag being rejected as invalid (#28087 by @dstockton)extension validatecrashing on extensions with a disabled sandbox due to an invalidfindIndexcall (#28087 by @dstockton)📦 Published Versions
@directus/app@17.1.0@directus/api@39.0.0@directus/cli@12.2.0@directus/composables@11.6.1create-directus-extension@12.1.3@directus/env@6.2.1@directus/errors@2.5.1@directus/extensions@4.0.3@directus/extensions-registry@4.0.3@directus/extensions-sdk@18.0.3@directus/memory@4.0.3@directus/pressure@4.0.3@directus/release-notes-generator@3.0.1@directus/schema@14.0.2@directus/schema-builder@1.0.2@directus/specs@15.1.1@directus/storage-driver-azure@13.0.3@directus/storage-driver-cloudinary@14.0.0@directus/storage-driver-gcs@13.0.3@directus/storage-driver-local@14.0.0@directus/storage-driver-s3@14.0.0@directus/storage-driver-supabase@5.0.0@directus/stores@3.0.1@directus/themes@2.0.3@directus/types@16.2.0@directus/utils@13.5.3@directus/validation@3.0.3@directus/sdk@25.0.0v12.2.0Compare Source
Restricted the settings fields readable with minimal app access to those actually needed by non-admin users, no longer exposing admin-only and sensitive AI configuration fields (#27996)
The minimal app permissions now grant read access to only a subset of
directus_settingsfields. This applies to new policies, existing policies are untouched.Replaced the TinyMCE editor powering the WYSIWYG with Tiptap... (#27754)
The WYSIWYG interface now runs on Tiptap instead of TinyMCE
tinymceOverridesno longer has any effect. Stored values are kept and a console warning is logged, but the editor ignores them. Use thefontsize/fontfamilytoolbar menus andcustomFormatsinstead.tinymceobject) no longer applies.Fixed deployment webhooks resolving a project from the wrong provider when external IDs collide (#27816)
The
DeploymentProjectsService.readByExternalIdmethod now takes the deployment ID as its first argument (i.e.readByExternalId(deploymentId, externalId))Added support for multi-collection flat data imports (#27984)
Import file size is now capped by default
A new
IMPORT_MAX_FILE_SIZEenvironment variable (default:50mb) limits the size of uploaded import files and schema snapshots. Previously, imports were effectively unrestricted, allowing files larger than50mbto be processed. With this change, imports exceeding the configured limit will be rejected. IncreaseIMPORT_MAX_FILE_SIZEto restore the previous behavior.Updated
backgroundquery flag handling forPOST /utils/import/:collectionThe
backgroundquery flag now treats a valueless indicator (i.e.?background) as true. If you previously relied on a valueless background flag being interpreted as false, pass an explicit value instead (i.e.?background=false).Added a
modeparameter and partial snapshot support to the schema diff endpoint (#27984)The SDK
schemaDiffcommand now takes its options as an object (schemaDiff(snapshot, { force, mode }))Added support for restricting image transformation output size via
ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSION(#27995)Image transformation output is now restricted
Image transformations that project an output larger than
ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSION(default3000px) on either axis are now rejected with anIllegalAssetTransformationError.Replaced the TinyMCE editor powering the WYSIWYG with Tiptap (#27754 by @alvarosabu)
To avoid data loss, the editor preserves attributes (
class,id,title,role,lang,dir,data-*,aria-*) and non-schema semantic tags. If stored HTML still contains markup the editor would normalize, the field is locked read-only with a warning dialog, so no edit or autosave can rewrite it before you confirm; raw-value editing is disabled while locked so the warning can't be bypassed.ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSION(#27995 by @br41nslug)modeparameter and partial snapshot support to the schema diff endpoint (#27984 by @ComfortablyCoding)✨ New Features & Improvements
includeCollections/excludeCollectionsparameters (#27984 by @ComfortablyCoding)modeparameter and partial snapshot support to the schema diff endpoint (#27984 by @ComfortablyCoding)includeCollections/excludeCollectionsparameters (#27984 by @ComfortablyCoding)ASSETS_TRANSFORM_IMAGE_MAX_OUTPUT_DIMENSION(#27995 by @br41nslug)includeCollections/excludeCollectionsparameters (#27984 by @ComfortablyCoding)includeCollections/excludeCollectionsparameters (#27984 by @ComfortablyCoding)modeparameter and partial snapshot support to the schema diff endpoint (#27984 by @ComfortablyCoding)🐛 Bug Fixes & Optimizations
requiredand/orreadonlyto be set (#27688 by @sourav-18)deletepermission ondirectus_versions(#27892 by @alex-hsieh)Updated the remaining *.io references to the current *.com domains where possible (#27948 by @kheiner)
Added global setting for default save action (#27993 by @robluton)
Fixed OpenAPI spec error schema to match API error format (#27885 by @kheiner)
Restricted license key previews to administrators after initial project setup (#27886 by @ComfortablyCoding)
Stopped logging the missing custom IP header warning on
/server/pingand/server/info, which are commonly hit directly (health checks) (#27903 by @dstockton)Updated
axios,sharp,liquidjs,js-yaml,minimatch,adm-zip,brace-expansion,linkify-it,fast-xml-parserandtarto address CVEs (#27990 by @br41nslug)Fixed parsing of the
deepquery parameter, GraphQL nested arguments, and CSV import headers so keys dont collide with built-in object property names (#27992 by @br41nslug)Fixed schema apply ignoring configured license (#27869 by @ComfortablyCoding)
Fixed aliased relational fields returning null in GraphQL when nested inside a Many-to-Any field (#27864 by @apoorva-01)
Fixed IP denylist not enforced for AI chat file downloads (#27994 by @br41nslug)
Fixed background imports (
POST /utils/import/:collection?background=true) intermittently hanging and importing nothing when running behind a streaming proxy or CDN. (#27862 by @dstockton)Added an
IMPORT_MAX_FILE_SIZEenvironment variable that caps the size of an uploaded import file, returning413 Content Too Largewhen exceeded. Unset (unlimited) by default.Fixed requests referencing duplicate primary keys resulting in forbidden error (#27882 by @lazerg)
Fixed manual flows triggerable by non authenticated users (#27997 by @br41nslug)
Fixed
count,countAll, and PK counts being inflated when filtering across relations (#27926 by @ComfortablyCoding)Fixed TUS uploads not respecting FILES_MIME_TYPE_ALLOW_LIST (#27793 by @amitmishra11)
Fixed WebSocket handlers not validating query parameters (#27845 by @tsushanth)
Fixed unnecessary schema cache rebuilds on permission-related changes (#27876 by @dstockton)
filter: { o2m: { id: { _eq: 5 } } }) is now type-checked instead of silently accepting any value (#27815 by @MahinAnowar)timestampfrom directus_operations (#27942 by @kheiner)Updated the remaining *.io references to the current *.com domains where possible (#27948 by @kheiner)
Fixed OpenAPI spec error schema to match API error format (#27885 by @kheiner)
Fixed background imports (
POST /utils/import/:collection?background=true) intermittently hanging and importing nothing when running behind a streaming proxy or CDN. (#27862 by @dstockton)Added an
IMPORT_MAX_FILE_SIZEenvironment variable that caps the size of an uploaded import file, returning413 Content Too Largewhen exceeded. Unset (unlimited) by default.Added missing
/usersregistration and 2FA endpoint openapi specs (#27857 by @kheiner)Removed OpenAPI query parameters that the underlying controllers never honor (#27922 by @kheiner)
Added missing
idpath parameter to the/comments/{id}OpenAPI spec (#27884 by @kheiner)Fixed background imports (
POST /utils/import/:collection?background=true) intermittently hanging and importing nothing when running behind a streaming proxy or CDN. (#27862 by @dstockton)Added an
IMPORT_MAX_FILE_SIZEenvironment variable that caps the size of an uploaded import file, returning413 Content Too Largewhen exceeded. Unset (unlimited) by default.Fixed background imports (
POST /utils/import/:collection?background=true) intermittently hanging and importing nothing when running behind a streaming proxy or CDN. (#27862 by @dstockton)Added an
IMPORT_MAX_FILE_SIZEenvironment variable that caps the size of an uploaded import file, returning413 Content Too Largewhen exceeded. Unset (unlimited) by default.max_lengthfor non-character types (#27825 by @BIGSUS24)📦 Published Versions
@directus/app@17.0.0@directus/api@38.0.0@directus/composables@11.6.0@directus/constants@14.4.1create-directus-extension@12.1.2@directus/env@6.2.0@directus/errors@2.5.0@directus/extensions@4.0.2@directus/extensions-registry@4.0.2@directus/extensions-sdk@18.0.2@directus/memory@4.0.2@directus/pressure@4.0.2@directus/schema@14.0.1@directus/schema-builder@1.0.1@directus/specs@15.1.0@directus/storage-driver-azure@13.0.2@directus/storage-driver-cloudinary@13.0.2@directus/storage-driver-gcs@13.0.2@directus/storage-driver-s3@13.0.2@directus/storage-driver-supabase@4.0.2@directus/system-data@4.6.0@directus/themes@2.0.2@directus/types@16.1.0@directus/utils@13.5.2@directus/validation@3.0.2@directus/sdk@24.0.0v12.1.1Compare Source
🐛 Bug Fixes & Optimizations
📦 Published Versions
@directus/app@16.2.1@directus/api@37.0.1v12.1.0Compare Source
/utils/hash/generateand/utils/hash/verifyendpoints (#27774 by @br41nslug)/utils/hash/generateand/utils/hash/verifyendpoints (#27774 by @br41nslug)/utils/hash/generateand/utils/hash/verifyendpoints (#27774 by @br41nslug)npm/npxfrom the runtime; the new DHI variant is published under a-dhitag suffix (#27670 by @br41nslug)✨ New Features & Improvements
PROJECT_OWNER_ENABLEDenv var to allow disabling owner info collection and sync (#27802 by @ComfortablyCoding)v-kbdcomponent and support{ text, kbd }syntax in tooltip (#27029 by @HZooly)esbuildto0.28.1(resolves GHSA-gv7w-rqvm-qjhr) (#27738 by @br41nslug)PROJECT_OWNER_ENABLEDenv var to allow disabling owner info collection and sync (#27802 by @ComfortablyCoding)PROJECT_OWNER_ENABLEDenv var to allow disabling owner info collection and sync (#27802 by @ComfortablyCoding)🐛 Bug Fixes & Optimizations
field[0]orfield.0) in display and preview URL templates, so a template like{{ categories[0].name }}now resolves to the indexed value instead of rendering empty (#27773 by @dstockton)MailService.renderTemplate(#27811 by @br41nslug)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.