UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Changelog
Bug fixes
105ae4f: fix: static page reload fails, use search param device id, close #1711 (@seriousm4x)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Added support for a global draft version that is automatically available for all items when versioning is enabled (#26772)
Backward Compatibility: If you have an existing version with the key draft and a custom name other than βDraftβ, the display name will be standardized to βDraftβ (i.e. transformed) to support the new global versioning feature. The version content and functionality remain unchanged.
Added field permission and version access checks to Visual Editor (#26772)
The field access checks require an update of the @directus/visual-editing library to v2.0.0.
Fixed password reset sending emails to external auth provider users (#26627) requestPasswordReset now throws a Forbidden error for external auth provider users.
β¨ New Features & Improvements
@directus/app
Added support for a global draft version that is automatically available for all items when versioning is enabled (#26772 by @formfcw)
Persisted table column widths to localStorage (#26767 by @HZooly)
Added field permission and version access checks to Visual Editor (#26772 by @formfcw)
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
Added version support for visual editing in live preview (#26772 by @formfcw)
Supported provider webhooks for deployment real-time updates (#26683 by @gaetansenn)
Added version support to Visual Editor (#26772 by @formfcw)
Added lower_case_table_names support for mysql (#26736 by @licitdev)
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
Supported provider webhooks for deployment real-time updates (#26683 by @gaetansenn)
Supported provider webhooks for deployment real-time updates (#26683 by @gaetansenn)
@directus/ai
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
@directus/utils
Added image and PDF upload support to Directus AI Assistant with a provider adapter pattern for 3 major providers (#26722 by @bryantgillespie)
(OpenAI, Anthropic, Gemini).
Fixed v-select group click handler to respect item-level selectable property (#26650 by @alvarosabu)
Fixed license modal is not responsive on mobile screens (#26758 by @powerseed)
Fixed unsaved changes dialog showing collaborative variant when not in a collaborative session (#26713 by @formfcw)
Updated vue-split-panel dependency (#26709 by @HZooly)
Fixed datetime picker not closing after selecting a date (#26719 by @alvarosabu)
Added some missing translation keys for directus_settings and directus_roles. (#26744 by @powerseed)
Upgraded reka-ui to 2.8.2 for timefield two-digit hour fix (#26724 by @alvarosabu)
Fixed password reset sending emails to external auth provider users (#26627 by @dstockton)
Enabled βNavigate to Itemβ button for non-editable relational fields (#26711 by @HZooly)
Fixed auto-refresh on mobile by preserving sidebar state via Teleport (#26731 by @HZooly)
Fixed an issue where duplicated fields kept validation rules referencing the original field name. (#26602 by @vizzv)
Fixed drawer not scrolling to top when validation errors occur (#26741 by @robluton)
Fixed reset confirm state after flow error (#26803 by @HZooly)
Fixed performance degradation when editing forms with large GeoJSON geometry fields by using selective shallow cloning for geometry values. (#26560 by @alvarosabu)
Fixed extra tab stop in AI assistant header caused by a focusable VIcon inside VButton. (#26796 by @Mugesh13102001)
Guarded nav-bar and sidebar size stores against non-finite values (#26695 by @HZooly)
Added lower_case_table_names support for mysql (#26736 by @licitdev)
Prevented encrypted field decryption failures from crashing settings reads when the SECRET has changed. Fields that can't be decrypted now return null and log a warning instead of throwing. (#26764 by @bryantgillespie)
@directus/specs
Fixed password reset sending emails to external auth provider users (#26627 by @dstockton)
:::notice requestPasswordReset now throws a Forbidden error for external auth provider users.
:::
@directus/env
Increased the default QUERYSTRING_ARRAY_LIMIT from 100 to 500 (#26737 by @AlexGaillard)
@directus/utils
Replaced ip-matching dependency with node blocklist (#26806 by @br41nslug)
@directus/sdk
Updated ReadProviderOutput type to include the label field (#26645 by @kheiner)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Fixed metric list labels to no longer be cut off by bar value labels (#26527 by @Prasad7007)
@directus/api
Fixed asset transformation error when using withoutEnlargement with focal point and dimensions larger than the original image. Target dimensions are now clamped to the original image dimensions. (#26608 by @wotan-allfather)
Preserved SQL parameterization in relational count subquery and used content-disposition library for folder zip download header (#26592 by @dstockton)
@directus/extensions-sdk
Fixed linking scoped extensions created nested folders (#25957 by @Nitwel)
Attached prompts, content items, and visual editor elements to AI Assistant Context (#26512 by @bryantgillespie)
To use this feature, update @directus/visual-editing to v1.2.0+ on your website.
Disabled interfaces are not interactive anymore, which includes opening disabled read-only fields in a drawer (#26470 by @formfcw)
β¨ New Features & Improvements
@directus/app
Added deployment module for triggering deployments from Directus with Vercel as first supported provider (#26473 by @gaetansenn)
Attached prompts, content items, and visual editor elements to AI Assistant Context (#26512 by @bryantgillespie)
Added multi-provider AI support with Google and OpenAI-compatible providers. Extracted shared AI types into new @directus/ai package. (#26481 by @bryantgillespie)
Added toggle to allow comparing revision to previous revision (#26480 by @robluton)
Added relational field support on x-axis of bar chart (#26489 by @JamesW1)
Added visual editing support to the live preview split pane, including display options menu, full-width mode with drag-to-expand, and quick access to the Visual Editor module. (#26463 by @bryantgillespie)
Changed permission-blocked fields from disabled to non-editable appearance (#26572 by @HZooly)
@directus/api
Added deployment module for triggering deployments from Directus with Vercel as first supported provider (#26473 by @gaetansenn)
Attached prompts, content items, and visual editor elements to AI Assistant Context (#26512 by @bryantgillespie)
Added multi-provider AI support with Google and OpenAI-compatible providers. Extracted shared AI types into new @directus/ai package. (#26481 by @bryantgillespie)
@directus/sdk
Fixed race condition and allow accessing the connected state (#26511 by @Nitwel)
Added deployment module for triggering deployments from Directus with Vercel as first supported provider (#26473 by @gaetansenn)
@directus/system-data
Added deployment module for triggering deployments from Directus with Vercel as first supported provider (#26473 by @gaetansenn)
@directus/types
Added deployment module for triggering deployments from Directus with Vercel as first supported provider (#26473 by @gaetansenn)
Added multi-provider AI support with Google and OpenAI-compatible providers. Extracted shared AI types into new @directus/ai package. (#26481 by @bryantgillespie)
@directus/errors
Added deployment module for triggering deployments from Directus with Vercel as first supported provider (#26473 by @gaetansenn)
@directus/env
Added deployment module for triggering deployments from Directus with Vercel as first supported provider (#26473 by @gaetansenn)
Attached prompts, content items, and visual editor elements to AI Assistant Context (#26512 by @bryantgillespie)
Added multi-provider AI support with Google and OpenAI-compatible providers. Extracted shared AI types into new @directus/ai package. (#26481 by @bryantgillespie)
Added multi-provider AI support with Google and OpenAI-compatible providers. Extracted shared AI types into new @directus/ai package. (#26481 by @bryantgillespie)
Changed users.last_access display mode to absolute (#26548 by @JamesW1)
Added multi-domain support for OAuth/OpenID (#26312)
SSO callback URL generation and redirect validation now includes port matching to ensure redirects target the correct server.
Fixed getAsset returning all file fields instead of only those allowed by the users permissions (#25905) getAsset / GET /assets/:id now respects directus_files permissions when returning file based fields.
@directus/app
Removed the deprecated /webhooks functionality across the stack. This includes the API route and its related tests, (#26311 by @mobml)
controller, and mocks, as well as the corresponding SDK commands and schema types, types and services, system fields and
collections, OpenAPI specifications, and App UI routes and components. This endpoint has been unused for over a year and
has now been fully removed.
Removed the deprecated /webhooks functionality across the stack. This includes the API route and its related tests, (#26311 by @mobml)
controller, and mocks, as well as the corresponding SDK commands and schema types, types and services, system fields and
collections, OpenAPI specifications, and App UI routes and components. This endpoint has been unused for over a year and
has now been fully removed.
Fixed getAsset returning all file fields instead of only those allowed by the users permissions (#25905 by @gaetansenn)
Added a new AI_ENABLED environment variable to allow opting out of our AI chat feature (#26458 by @bryantgillespie)
@directus/system-data
Removed the deprecated /webhooks functionality across the stack. This includes the API route and its related tests, (#26311 by @mobml)
controller, and mocks, as well as the corresponding SDK commands and schema types, types and services, system fields and
collections, OpenAPI specifications, and App UI routes and components. This endpoint has been unused for over a year and
has now been fully removed.
@directus/specs
Removed the deprecated /webhooks functionality across the stack. This includes the API route and its related tests, (#26311 by @mobml)
controller, and mocks, as well as the corresponding SDK commands and schema types, types and services, system fields and
collections, OpenAPI specifications, and App UI routes and components. This endpoint has been unused for over a year and
has now been fully removed.
@directus/types
Removed the deprecated /webhooks functionality across the stack. This includes the API route and its related tests, (#26311 by @mobml)
controller, and mocks, as well as the corresponding SDK commands and schema types, types and services, system fields and
collections, OpenAPI specifications, and App UI routes and components. This endpoint has been unused for over a year and
has now been fully removed.
@directus/sdk
Removed the deprecated /webhooks functionality across the stack. This includes the API route and its related tests, (#26311 by @mobml)
controller, and mocks, as well as the corresponding SDK commands and schema types, types and services, system fields and
collections, OpenAPI specifications, and App UI routes and components. This endpoint has been unused for over a year and
has now been fully removed.
β¨ New Features & Improvements
@directus/app
Added a new AI_ENABLED environment variable to allow opting out of our AI chat feature (#26458 by @bryantgillespie)
Added concurrency control for file uploads via a new FILES_MAX_UPLOAD_CONCURRENCY env variable (#26424 by @thomas-svrts)
Added nested validation rules to validation error notice (#26389 by @robluton)
Added Comparison modal wysiwyg diff highlighting (#26301 by @robluton)
Fixed an issue that would cause some drawer header icons from being displayed too large (#26442 by @kekekuli)
@directus/api
Added concurrency control for file uploads via a new FILES_MAX_UPLOAD_CONCURRENCY env variable (#26424 by @thomas-svrts)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Changelog
Features
61da5f5: feat: UPSNAP_HTTP_LISTEN: check for custom addr in go (@seriousm4x)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Added support for downloading multiple files and entire folder trees (#26006 by @Nitwel)
Moved fetchRolesTree,fetchGlobalAccess, fetchGlobalAccessForUser and fetchGlobalAccessForRoles to the public utility package (#26248 by @ComfortablyCoding)
@directus/sdk
Added support for downloading multiple files and entire folder trees (#26006 by @Nitwel)
Moved fetchRolesTree,fetchGlobalAccess, fetchGlobalAccessForUser and fetchGlobalAccessForRoles to the public utility package (#26248 by @ComfortablyCoding)
Updated synchronization of remotely stored extensions (#26192 by @br41nslug)
Fixed missing accountability for files.upload when TUS is enabled (#26247 by @br41nslug)
@directus/types
Moved fetchRolesTree,fetchGlobalAccess, fetchGlobalAccessForUser and fetchGlobalAccessForRoles to the public utility package (#26248 by @ComfortablyCoding)
Updated synchronization of remotely stored extensions (#26192 by @br41nslug)
@directus/storage-driver-cloudinary
Updated synchronization of remotely stored extensions (#26192 by @br41nslug)
@directus/storage-driver-supabase
Updated synchronization of remotely stored extensions (#26192 by @br41nslug)
@directus/extensions-sdk
Updated esbuild dependency from 0.25.12 to 0.26.0 (#26215 by @dependabot)
@directus/system-data
Updated esbuild dependency from 0.25.12 to 0.26.0 (#26215 by @dependabot)
@directus/sdk
Updated esbuild dependency from 0.25.12 to 0.26.0 (#26215 by @dependabot)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Removed non-relational types from RELATIONAL_TYPES constant (#25964)
Extensions or external code using RELATIONAL_TYPES should note the excluded presentation and group.
Fixed <scope>.delete filter hook running after permission check. Fixed keys returned by the hook not being used in place of the original keys. (#26034)
Keys returned by the hook are now used in place of the original keys.
The hook will trigger regardless of user permissions. Ensure any necessary permission checks are performed prior to any data processing.
@directus/api
Fixed <scope>.delete filter hook running after permission check. Fixed keys returned by the hook not being used in place of the original keys. (#26034 by @ComfortablyCoding)
Restricted system collection fields to only allow indexing (#24820 by @br41nslug)
@directus/constants
Removed non-relational types from RELATIONAL_TYPES constant (#25964 by @formfcw)
@directus/extensions-sdk
Use node exportConditions when building api extensions. See #25591 (#25591 by @julbd)
β¨ New Features & Improvements
@directus/app
Introduced the Content Comparison Modal for side-by-side review of version and revision changes. (#25782 by @robluton)
Added interface config option to control indicator appearance (#26086 by @formfcw)
Added schema snapshot download button to the admin view of the studio (#25903 by @Nitwel)
Added setup flow and license agreement banner (#25983 by @Nitwel)
Added comparison indicators for group interfaces (#26086 by @formfcw)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Fixed USER_CREATED, USER_UPDATED, DATE_CREATED, and DATE_UPDATED values in content versioning. These fields now correctly reflect the actual user and timestamp of creation or last update, rather than the user and date of promotion. (#25744)
Requesting a non-existent version will now return a Forbidden error.
The USER_CREATED, USER_UPDATED, DATE_CREATED, and DATE_UPDATED fields will now represent the last actual changes, not the promotion metadata.
@directus/app
Fixed USER_CREATED, USER_UPDATED, DATE_CREATED, and DATE_UPDATED values in content versioning. These fields now correctly reflect the actual user and timestamp of creation or last update, rather than the user and date of promotion. (#25744 by @Nitwel)
@directus/api
Fixed USER_CREATED, USER_UPDATED, DATE_CREATED, and DATE_UPDATED values in content versioning. These fields now correctly reflect the actual user and timestamp of creation or last update, rather than the user and date of promotion. (#25744 by @Nitwel)
Fixed USER_CREATED, USER_UPDATED, DATE_CREATED, and DATE_UPDATED values in content versioning. These fields now correctly reflect the actual user and timestamp of creation or last update, rather than the user and date of promotion. (#25744 by @Nitwel)
Added cache-busting to image asset URLs in the studio to ensure updated images are always loaded (#25833 by @formfcw)
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
UpSnap is, and always will be, free and open source software.
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.