diff --git a/CHANGELOG.md b/CHANGELOG.md index d904759431..ec148bf2bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,122 @@ +#### 3.2.0: Release + + - Rework oauth consent flows (#9015) + - fix(api): require a non-empty name when creating a personal access token (#9014) + - Use the standard session validation on the OAuth authorize and complete routes (#8965) + - Escape user-controlled values in notification messages (#8984) + - Stop the broker schema monitor spinning on "starting" when the agent is unreachable (#9001) + - Let Expert users rate an answer and share the conversation (#8987) + - Resume broker schema collection when the monitor toggle is switched back on (#8997) + - build(deps): bump @fastify/swagger from 9.8.1 to 9.9.2 (#8907) + - build(deps): bump fastify-metrics from 13.2.1 to 14.1.1 (#8970) + - build(deps): bump follow-redirects from 1.16.0 to 1.16.1 (#9003) + - build(deps): bump launch-editor from 2.14.1 to 2.14.2 (#9002) + - build(deps): bump posthog-node from 5.52.1 to 5.56.2 (#8969) + - build(deps-dev): bump eslint-plugin-cypress from 6.4.4 to 7.0.2 (#8779) + - build(deps-dev): bump eslint from 9.39.4 to 10.13.0 (#8785) + - Fix linter error for new cap rule from eslint upgrade (#8998) + - Treat a session that hasn't finished logging in as anonymous on public routes (#8964) + - build(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates (#8976) + - Keep the instance delete dialog open until the delete completes (#8992) + - Add fixes for linter issues uncovered by dependabot upgrade of neostandard (#8994) + - Ensure provisioned LDAP users are assigned roles on first login (#8988) + - [8990] Upgrade @babel/core + @babel/preset-env to 8.0.6 together (#8991) + - Update neostandard to include `.vue` + `.ts` files (#8993) + - Show old and new values for pipeline stage edits in the audit log (#8949) + - [8982] @vue/server-renderer: XSS via missing CR in attribute-name blacklist (#8983) + - Refuse MCP tokens on the REST API outside the MCP door (#8985) + - Roll back a failed FF Tables database create and surface the error (#8986) + - Rename AI Flow Deploy to AI Flow Deploy and Inject (#8979) + - Attribute nr-assistant.inject audit events to agent actions (#8981) + - Show the target node for nr-assistant.inject audit entries (#8980) + - Point the env update tool at the read that returns env vars (#8950) + - Ensure all TeamBroker clients have an ACL (#8952) + - Restrict the MCP HTTP endpoint to token holders only (#8960) + - Skip the redeploy when a device's target snapshot is unchanged (#8944) + - Reject device target snapshots the device cannot deploy (#8943) + - build(deps): bump @aws-sdk/client-sesv2 from 3.1149.0 to 3.1152.0 (#8972) + - build(deps): bump google-auth-library from 11.2.0 to 11.3.1 (#8971) + - build(deps): bump @fastify/helmet from 13.1.1 to 13.2.0 (#8974) + - Let the admin users search match a user hashid (#8967) + - Stop the team broker suspend timer outliving the test app (#8948) + - Return MCP tool results that have no response body (#8947) + - Decide AI onboarding per team in one place on the server (#8941) + - Stop advertising generated and maxLength when creating a table (#8936) + - Log on the instance when it is put on or taken off a pipeline stage (#8925) + - Write an audit log entry when a pipeline stage is updated (#8924) + - Write an audit log entry when a pipeline stage is deleted (#8920) + - Send the user home when onboarding ends while they are on the onboarding page (#8942) + - Only render the device editor drawer once the device has loaded (#8929) + - Apply date column defaults when creating a table (#8934) + - Return the created table from the create table route (#8937) + - Report empty success replies from MCP tools as okay (#8940) + - Show streamed Expert tool calls, reasoning and progress messages (#8895) + - Require a snapshot when rolling back an instance (#8930) + - Report the team broker agent's real status (#8915) + - Return an empty description for device groups stored without one (#8914) + - Reject pipeline stages that would break the stage chain (#8913) + - fix: default a missing module version to any version (#8927) + - Track starting and suspending states for the team broker agent (#8917) + - feat: keep the focused global search clear of the header controls when zoomed (#8918) + - build(deps): bump nodemailer from 10.0.9 to 10.1.0 (#8896) + - build(deps-dev): bump mocha from 11.8.0 to 12.0.3 (#8786) + - build(deps): bump marked from 18.0.10 to 18.1.1 (#8902) + - build(deps): bump pino-pretty from 13.1.3 to 13.2.0 (#8897) + - build(deps): bump @aws-sdk/client-sesv2 from 3.1146.0 to 3.1149.0 (#8903) + - build(deps): bump google-auth-library from 11.1.0 to 11.2.0 (#8905) + - Add MCP tools to delete database tables, team databases, shared library entries and git tokens (#8857) + - Report a failed team database delete (#8880) + - build(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 (#8909) + - build(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 (#8910) + - build(deps): bump actions/create-github-app-token from 3.2.0 to 3.3.0 (#8911) + - build(deps): bump actions/setup-node from 7.0.0 to 7.1.0 (#8912) + - build(deps): bump handlebars from 4.7.9 to 4.7.10 (#8894) + - build(deps): bump postcss-selector-parser, postcss-modules-local-by-default and postcss-modules-scope (#8802) + - build(deps): bump pino from 10.3.1 to 10.4.0 (#8782) + - build(deps): bump fast-copy from 4.0.3 to 4.1.2 (#8801) + - Update introduction.md (#8833) + - Answer a failed editor action instead of resetting the Expert chat (#8893) + - Send the pinned tab's capabilities and versions on MCP calls (#8892) + - Return 400 for an invalid cursor on paginated lists (#8890) + - Match shared library folders literally and reject an empty delete path (#8878) + - Add MCP tools to create a shared library entry and rename a git token (#8856) + - fix: Use a valid flows body in the shared library overwrite audit test (#8891) + - Audit log git token and shared library changes (#8882) + - Validate shared library entries on create (#8884) + - Ask for a schema when a table name exists in several schemas (#8883) + - Refuse to delete a git token that pipeline stages use (#8881) + - Validate git token updates and return 404 for unknown ids (#8885) + - Hold the Expert's next send until a stopped turn has ended (#8888) + - Allow flow-building tools by default (#8877) + - Send Expert chat messages one at a time (#8876) + - Track clicks on the Build and create buttons (#8860) + - Offer Build with the Expert next to the create actions (#8827) + - Add an expert kind to ff-button (#8826) + - Add a full page build conversation with the Expert (#8825) + - Pull the full page Expert panel out of the onboarding page (#8824) + - Add a building surface variant for the Expert chat (#8823) + - Tell the Expert when the user is in a build conversation (#8822) + - Name the disabled feature in git and shared library 404s (#8886) + - Return 400 for an invalid audit log cursor (#8887) + - Let application Owners create instances from the team pages (#8874) + - Render unknown stack properties (#8838) + - [8710] Expert homepage - typing in the composer starts a new chat (#8873) + - chore: Remove redundant id checks from MCP delete tools (#8875) + - Let user tokens use the team shared library (#8858) + - Reject path-breaking ids in MCP tool inputs (#8843) + - Add an MCP tool to set the target snapshot of a remote instance (#8811) + - Use application role on pipeline create and stage pages (#8872) + - Keep accounts older than a week out of AI onboarding (#8797) + - Stop the AI connector modal reappearing on login and wait for the tour (#8799) + - [8867] MCP button disappears after a page refresh (#8868) + - [8710] Expert homepage - hide the tasks list (#8866) + - Add MCP tool to create a team database (#8772) + - Log a dedicated audit entry when AI flow deploy is toggled (#8862) + - [8710] Add expert to team homepage - contents (#8834) + - [8710] Add expert to team overview homepage (#8795) + - Document tool permissions on MCP tokens (#8863) + - Apply application-level roles on snapshot routes (#8865) + #### 3.1.1: Release - [8845] Team feature toggles do nothing when the team type has "Enable all features" (#8846) diff --git a/package-lock.json b/package-lock.json index ead6a2dd77..b1bdd4b313 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@flowfuse/flowfuse", - "version": "3.1.1", + "version": "3.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@flowfuse/flowfuse", - "version": "3.1.1", + "version": "3.2.0", "license": "SEE LICENSE IN ./LICENSE", "dependencies": { "@aws-sdk/client-sesv2": "^3.916.0", @@ -24,7 +24,7 @@ "@fastify/swagger": "^9.6.1", "@fastify/swagger-ui": "^6.0.0", "@fastify/websocket": "^11.2.0", - "@flowfuse/driver-localfs": "^3.1.1", + "@flowfuse/driver-localfs": "^3.2.0", "@flowfuse/flow-renderer": "^0.6.0", "@headlessui/vue": "1.7.23", "@heroicons/vue": "2.1.5", @@ -4094,13 +4094,13 @@ "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==" }, "node_modules/@flowfuse/driver-localfs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@flowfuse/driver-localfs/-/driver-localfs-3.1.1.tgz", - "integrity": "sha512-ayUiEUyPds81RKRvEeeerDee4vOCcA7P08itk8GDMN1S5sjTiCUv2rzEegJOGrz8to+WbiaaxJ3U99C0w5RbEw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@flowfuse/driver-localfs/-/driver-localfs-3.2.0.tgz", + "integrity": "sha512-otcMvoyvfUaIuUP4Bmh1NAm6go28BWqSzgdgzSTAi7aBAMulTW5/koNMpP/YuBXc4XPWYXFUWjJd2l1CuKdpIw==", "license": "Apache-2.0", "dependencies": { "@flowfuse/mqtt-schema-agent": "^1.1.1", - "@flowfuse/nr-launcher": "^3.1.1", + "@flowfuse/nr-launcher": "^3.2.0", "form-data": "^4.0.0", "got": "^11.8.5", "semver": "~7.6.0", @@ -4147,9 +4147,9 @@ } }, "node_modules/@flowfuse/nr-assistant": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@flowfuse/nr-assistant/-/nr-assistant-0.20.0.tgz", - "integrity": "sha512-uEo+n/RrfcjuP0WYLtL6DUry7MUGbhIuIkJuZ/QLCMoFlEgOFKvaPZ8PBPfYBssFkoZ9Fgzw9uH/QA3nMlAyNg==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@flowfuse/nr-assistant/-/nr-assistant-0.21.0.tgz", + "integrity": "sha512-7CfOu9k5WjI+Pdi3sezMHfRRlnnK7kZjI5CMcxR8H/kcE5y6Pl6t06fZDOvOIzMhzVgcfdCW0LnguBKCDyeNBA==", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", @@ -4210,12 +4210,12 @@ } }, "node_modules/@flowfuse/nr-launcher": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1.tgz", - "integrity": "sha512-OBtCqBikFONwQZIkKaEb3N4xcXeElUaRH2nPtRJ3rlN60/MtK9r/Wv0TXaB/aybKn6ZOyMD46dDGe5tYkuylig==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.2.0.tgz", + "integrity": "sha512-k98JK2TFVaDM11EJulRDOkzNYUxznkqEworw518WVnMn6bp6EZpYK8jSYT+Uik0bgPtXlOBygi9DD3rul+N8Vg==", "license": "Apache-2.0", "dependencies": { - "@flowfuse/nr-assistant": "^0.20.0", + "@flowfuse/nr-assistant": "^0.21.0", "@flowfuse/nr-file-nodes": "^0.0.10", "@flowfuse/nr-mqtt-nodes": "^0.4.1", "@flowfuse/nr-project-nodes": "^0.7.9", @@ -4545,9 +4545,9 @@ } }, "node_modules/@hono/node-server": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.4.tgz", - "integrity": "sha512-2g1qeHl4BduwDn6L8nkAvDrPUWPMlkQ//a5NhP/zIyaXKMjZNRV+cG9Csu+BiJFf6+68pqzjf4Hi5sJGKHuS1g==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.5.tgz", + "integrity": "sha512-MgP/I06GdvsilDspMk/qmRzpk8LOUStP6jFAbSRi40W09DhoyUn+Mj7eyKICPqeYKybOjVFLVIAQzvu1bfIa7Q==", "license": "MIT", "engines": { "node": ">=20" @@ -5728,9 +5728,9 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/content-disposition": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-2.0.1.tgz", + "integrity": "sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==", "license": "MIT", "engines": { "node": ">=18" @@ -5750,15 +5750,15 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.3.0.tgz", + "integrity": "sha512-qCqy1xSoaugxOD4IVHb1ZWdkvCF2W3aE2okKouWj8VwJ+ztskSiXoBnCSJqfKT+cVPJhuJqe9YLbY425+Zh00g==", "license": "MIT", "dependencies": { "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", + "body-parser": "^2.3.0", + "content-disposition": "^2.0.1", + "content-type": "^2.0.0", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", @@ -5774,14 +5774,14 @@ "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", + "proxy-addr": "^2.0.8", + "qs": "^6.16.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", - "type-is": "^2.0.1", + "type-is": "^2.1.0", "vary": "^1.1.2" }, "engines": { @@ -5792,6 +5792,19 @@ "url": "https://opencollective.com/express" } }, + "node_modules/@modelcontextprotocol/sdk/node_modules/express/node_modules/content-type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/@modelcontextprotocol/sdk/node_modules/finalhandler": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", @@ -18062,9 +18075,9 @@ } }, "node_modules/jose": { - "version": "6.2.12", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.12.tgz", - "integrity": "sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==", + "version": "6.2.13", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.13.tgz", + "integrity": "sha512-7TIg10ZE1x82YediN+lcrPNvGMKge9yFHQD+Qho/b8y2adfugU3AsvvHfxV0fzyFllT6l9xCjf4RWY9g/Z9PJQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/panva" @@ -22375,6 +22388,8 @@ "version": "15.1.3", "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-15.1.3.tgz", "integrity": "sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==", + "deprecated": "prom-client has been replaced by @prometheus-io/client", + "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.4.0", "tdigest": "^0.1.1" @@ -30553,12 +30568,12 @@ "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==" }, "@flowfuse/driver-localfs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@flowfuse/driver-localfs/-/driver-localfs-3.1.1.tgz", - "integrity": "sha512-ayUiEUyPds81RKRvEeeerDee4vOCcA7P08itk8GDMN1S5sjTiCUv2rzEegJOGrz8to+WbiaaxJ3U99C0w5RbEw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@flowfuse/driver-localfs/-/driver-localfs-3.2.0.tgz", + "integrity": "sha512-otcMvoyvfUaIuUP4Bmh1NAm6go28BWqSzgdgzSTAi7aBAMulTW5/koNMpP/YuBXc4XPWYXFUWjJd2l1CuKdpIw==", "requires": { "@flowfuse/mqtt-schema-agent": "^1.1.1", - "@flowfuse/nr-launcher": "^3.1.1", + "@flowfuse/nr-launcher": "^3.2.0", "form-data": "^4.0.0", "got": "^11.8.5", "semver": "~7.6.0", @@ -30590,9 +30605,9 @@ } }, "@flowfuse/nr-assistant": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@flowfuse/nr-assistant/-/nr-assistant-0.20.0.tgz", - "integrity": "sha512-uEo+n/RrfcjuP0WYLtL6DUry7MUGbhIuIkJuZ/QLCMoFlEgOFKvaPZ8PBPfYBssFkoZ9Fgzw9uH/QA3nMlAyNg==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@flowfuse/nr-assistant/-/nr-assistant-0.21.0.tgz", + "integrity": "sha512-7CfOu9k5WjI+Pdi3sezMHfRRlnnK7kZjI5CMcxR8H/kcE5y6Pl6t06fZDOvOIzMhzVgcfdCW0LnguBKCDyeNBA==", "requires": { "@modelcontextprotocol/sdk": "^1.29.0", "base64url": "^3.0.1", @@ -30639,11 +30654,11 @@ } }, "@flowfuse/nr-launcher": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1.tgz", - "integrity": "sha512-OBtCqBikFONwQZIkKaEb3N4xcXeElUaRH2nPtRJ3rlN60/MtK9r/Wv0TXaB/aybKn6ZOyMD46dDGe5tYkuylig==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.2.0.tgz", + "integrity": "sha512-k98JK2TFVaDM11EJulRDOkzNYUxznkqEworw518WVnMn6bp6EZpYK8jSYT+Uik0bgPtXlOBygi9DD3rul+N8Vg==", "requires": { - "@flowfuse/nr-assistant": "^0.20.0", + "@flowfuse/nr-assistant": "^0.21.0", "@flowfuse/nr-file-nodes": "^0.0.10", "@flowfuse/nr-mqtt-nodes": "^0.4.1", "@flowfuse/nr-project-nodes": "^0.7.9", @@ -30879,9 +30894,9 @@ "requires": {} }, "@hono/node-server": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.4.tgz", - "integrity": "sha512-2g1qeHl4BduwDn6L8nkAvDrPUWPMlkQ//a5NhP/zIyaXKMjZNRV+cG9Csu+BiJFf6+68pqzjf4Hi5sJGKHuS1g==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.5.tgz", + "integrity": "sha512-MgP/I06GdvsilDspMk/qmRzpk8LOUStP6jFAbSRi40W09DhoyUn+Mj7eyKICPqeYKybOjVFLVIAQzvu1bfIa7Q==", "requires": {} }, "@humanfs/core": { @@ -31540,9 +31555,9 @@ } }, "content-disposition": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-2.0.1.tgz", + "integrity": "sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==" }, "cookie-signature": { "version": "1.2.2", @@ -31550,14 +31565,14 @@ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==" }, "express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.3.0.tgz", + "integrity": "sha512-qCqy1xSoaugxOD4IVHb1ZWdkvCF2W3aE2okKouWj8VwJ+ztskSiXoBnCSJqfKT+cVPJhuJqe9YLbY425+Zh00g==", "requires": { "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", + "body-parser": "^2.3.0", + "content-disposition": "^2.0.1", + "content-type": "^2.0.0", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", @@ -31573,15 +31588,22 @@ "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", + "proxy-addr": "^2.0.8", + "qs": "^6.16.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", - "type-is": "^2.0.1", + "type-is": "^2.1.0", "vary": "^1.1.2" + }, + "dependencies": { + "content-type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz", + "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==" + } } }, "finalhandler": { @@ -39668,9 +39690,9 @@ "dev": true }, "jose": { - "version": "6.2.12", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.12.tgz", - "integrity": "sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==" + "version": "6.2.13", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.13.tgz", + "integrity": "sha512-7TIg10ZE1x82YediN+lcrPNvGMKge9yFHQD+Qho/b8y2adfugU3AsvvHfxV0fzyFllT6l9xCjf4RWY9g/Z9PJQ==" }, "joycon": { "version": "3.1.1", diff --git a/package.json b/package.json index e92b9684fc..a983033c00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@flowfuse/flowfuse", - "version": "3.1.1", + "version": "3.2.0", "description": "An open source low-code development platform", "homepage": "https://flowfuse.com", "bugs": { @@ -74,7 +74,7 @@ "@fastify/swagger": "^9.6.1", "@fastify/swagger-ui": "^6.0.0", "@fastify/websocket": "^11.2.0", - "@flowfuse/driver-localfs": "^3.1.1", + "@flowfuse/driver-localfs": "^3.2.0", "@flowfuse/flow-renderer": "^0.6.0", "@headlessui/vue": "1.7.23", "@heroicons/vue": "2.1.5",