From e3ec498336332200e4bc0d00dfaf6eb47febec57 Mon Sep 17 00:00:00 2001 From: Yordan Stoyanov Date: Wed, 24 Jun 2026 17:56:48 +0200 Subject: [PATCH 1/5] chore(file-uploader): bump version to 2.5.0 --- packages/modules/file-uploader/package.json | 2 +- packages/pluggableWidgets/file-uploader-web/package.json | 2 +- packages/pluggableWidgets/file-uploader-web/src/package.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/modules/file-uploader/package.json b/packages/modules/file-uploader/package.json index ce73af28f8..d9b4aa1a08 100644 --- a/packages/modules/file-uploader/package.json +++ b/packages/modules/file-uploader/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/file-uploader", "moduleName": "File Uploader module", - "version": "2.4.2", + "version": "2.5.0", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", "private": true, diff --git a/packages/pluggableWidgets/file-uploader-web/package.json b/packages/pluggableWidgets/file-uploader-web/package.json index 145b9f840f..1fca1fee65 100644 --- a/packages/pluggableWidgets/file-uploader-web/package.json +++ b/packages/pluggableWidgets/file-uploader-web/package.json @@ -1,7 +1,7 @@ { "name": "@mendix/file-uploader-web", "widgetName": "FileUploader", - "version": "2.4.2", + "version": "2.5.0", "description": "Upload files via drag-and-drop or file dialog. Supports multiple file uploads and image preview thumbnails.", "copyright": "© Mendix Technology BV 2025. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/file-uploader-web/src/package.xml b/packages/pluggableWidgets/file-uploader-web/src/package.xml index 40bbc01825..c1c2e27fb6 100644 --- a/packages/pluggableWidgets/file-uploader-web/src/package.xml +++ b/packages/pluggableWidgets/file-uploader-web/src/package.xml @@ -1,6 +1,6 @@ - + From c5fc4cced98eca810a2c831df14e55f8080ae02c Mon Sep 17 00:00:00 2001 From: Yordan Stoyanov Date: Wed, 24 Jun 2026 18:02:03 +0200 Subject: [PATCH 2/5] fix: regenerate lockfile for brandi@5.0.0 --- pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 518715ab69..237e589eae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -388,7 +388,7 @@ importers: version: link:../../shared/eslint-config-web-widgets '@mendix/pluggable-widgets-tools': specifier: 11.11.0 - version: 11.11.0(patch_hash=bb9cc00a197b74e954d35983c6c1fd892a250083c7a610e5fc5437797fff573b)(@jest/transform@30.3.0)(@jest/types@30.4.1)(@swc/core@1.15.41)(@types/babel__core@7.20.5)(@types/node@24.12.4)(canvas@3.2.3)(eslint@9.39.4(jiti@2.6.1))(jest-util@30.4.1)(prettier@3.8.4)(react-dom@18.3.1(react@18.3.1))(react-native@0.86.0(@babel/core@7.29.7)(@types/react@19.2.17)(react@18.3.1))(react@18.3.1)(tslib@2.8.1) + version: 11.11.0(patch_hash=bb9cc00a197b74e954d35983c6c1fd892a250083c7a610e5fc5437797fff573b)(@jest/transform@30.3.0)(@jest/types@30.4.1)(@swc/core@1.15.41)(@types/babel__core@7.20.5)(@types/node@24.12.4)(canvas@3.2.3)(eslint@9.39.4(jiti@2.6.1))(jest-util@30.4.1)(picomatch@4.0.4)(prettier@3.8.4)(react-dom@18.3.1(react@18.3.1))(react-native@0.86.0(@babel/core@7.29.7)(@types/react@19.2.17)(react@18.3.1))(react@18.3.1)(tslib@2.8.1) '@mendix/prettier-config-web-widgets': specifier: workspace:* version: link:../../shared/prettier-config-web-widgets @@ -1686,7 +1686,7 @@ importers: version: link:../../shared/eslint-config-web-widgets '@mendix/pluggable-widgets-tools': specifier: 11.11.0 - version: 11.11.0(patch_hash=bb9cc00a197b74e954d35983c6c1fd892a250083c7a610e5fc5437797fff573b)(@jest/transform@30.3.0)(@jest/types@30.4.1)(@swc/core@1.15.41)(@types/babel__core@7.20.5)(@types/node@24.12.4)(canvas@3.2.3)(eslint@9.39.4(jiti@2.6.1))(jest-util@30.4.1)(picomatch@4.0.4)(prettier@3.8.4)(react-dom@18.3.1(react@18.3.1))(react-native@0.86.0(@babel/core@7.29.7)(@types/react@19.2.17)(react@18.3.1))(react@18.3.1)(tslib@2.8.1) + version: 11.11.0(patch_hash=bb9cc00a197b74e954d35983c6c1fd892a250083c7a610e5fc5437797fff573b)(@jest/transform@30.3.0)(@jest/types@30.4.1)(@swc/core@1.15.41)(@types/babel__core@7.20.5)(@types/node@24.12.4)(canvas@3.2.3)(eslint@9.39.4(jiti@2.6.1))(jest-util@30.4.1)(prettier@3.8.4)(react-dom@18.3.1(react@18.3.1))(react-native@0.86.0(@babel/core@7.29.7)(@types/react@19.2.17)(react@18.3.1))(react@18.3.1)(tslib@2.8.1) '@mendix/prettier-config-web-widgets': specifier: workspace:* version: link:../../shared/prettier-config-web-widgets @@ -1843,10 +1843,10 @@ importers: version: 0.8.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) brandi: specifier: ^5.0.0 - version: 5.0.0 + version: 5.1.0 brandi-react: specifier: ^5.0.0 - version: 5.0.0(brandi@5.0.0)(react@18.3.1) + version: 5.1.0(brandi@5.1.0)(react@18.3.1) classnames: specifier: ^2.5.1 version: 2.5.1 From ad4d23f03dba7ea5e6d11800068d657158bc1df4 Mon Sep 17 00:00:00 2001 From: Yordan Stoyanov Date: Wed, 24 Jun 2026 18:16:19 +0200 Subject: [PATCH 3/5] fix: add missing create-gh-release script to file-uploader-web --- packages/pluggableWidgets/file-uploader-web/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/pluggableWidgets/file-uploader-web/package.json b/packages/pluggableWidgets/file-uploader-web/package.json index 1fca1fee65..665192e856 100644 --- a/packages/pluggableWidgets/file-uploader-web/package.json +++ b/packages/pluggableWidgets/file-uploader-web/package.json @@ -28,6 +28,7 @@ "scripts": { "add-nf-defaults": "node nf-defaults.mjs add", "build": "pluggable-widgets-tools build:web", + "create-gh-release": "rui-create-gh-release", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:web", "e2e": "echo \"Skipping this e2e test\"", From d2ef5ccdeedd569382c923af67d3361d4cc523e9 Mon Sep 17 00:00:00 2001 From: Yordan Stoyanov Date: Wed, 24 Jun 2026 18:24:57 +0200 Subject: [PATCH 4/5] fix: add marketplace appNumber for file-uploader-web --- packages/pluggableWidgets/file-uploader-web/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/pluggableWidgets/file-uploader-web/package.json b/packages/pluggableWidgets/file-uploader-web/package.json index 665192e856..1ebc5ad775 100644 --- a/packages/pluggableWidgets/file-uploader-web/package.json +++ b/packages/pluggableWidgets/file-uploader-web/package.json @@ -19,7 +19,8 @@ "packagePath": "com.mendix.widget.web", "marketplace": { "minimumMXVersion": "10.22.0.68245", - "appName": "File Uploader" + "appName": "File Uploader", + "appNumber": 235351 }, "testProject": { "githubUrl": "https://github.com/mendix/testProjects", From f58edf8f378e85720a267f8ae5cec0020ab0fc44 Mon Sep 17 00:00:00 2001 From: Content Teams Date: Wed, 24 Jun 2026 16:29:32 +0000 Subject: [PATCH 5/5] chore(@mendix/file-uploader-web): update changelog --- packages/pluggableWidgets/file-uploader-web/CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/pluggableWidgets/file-uploader-web/CHANGELOG.md b/packages/pluggableWidgets/file-uploader-web/CHANGELOG.md index 4da6ae9129..9ca4c7658a 100644 --- a/packages/pluggableWidgets/file-uploader-web/CHANGELOG.md +++ b/packages/pluggableWidgets/file-uploader-web/CHANGELOG.md @@ -6,25 +6,34 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +## [2.5.0] - 2026-06-24 + ### Fixed - We fixed an issue where validation errors could not be dismissed and persisted after uploading a valid file. - We fixed an issue where the dropzone turned grey without explanation when the file limit was reached. A message now appears below the dropzone stating "Maximum file count of X reached." + - We fixed an issue where dropping more files than allowed rejected the entire batch. Only the excess files are now rejected; the rest upload normally. + - We fixed an issue where files rejected due to the total file limit had no way to recover. They now show a retry button that becomes enabled when capacity is available. ### Added - We added a new "Maximum concurrent uploads" property to control how many files upload simultaneously. Files beyond this limit wait in a queue and upload automatically as slots free up. + - We added a new "File limit reached" text property to customize the message shown when the upload limit is reached. + - We added a new "Upload queued" text property to customize the message shown on files that are waiting to upload. + - We added a new "Retry button" text property to customize the tooltip on the retry button shown on rejected files. ### Changed - The "Maximum number of files" property is now optional. Leaving it empty or setting it to 0 means unlimited files are allowed. The default behavior is now unlimited (no cap). + - Files now upload in a queue rather than being marked as errors when too many are dropped at once. Queued files show a "Waiting..." state while they wait for a concurrent slot. + - Files in the list are now ordered with successful uploads above rejected files. ## [2.4.2] - 2026-04-23