From 6c321ea2a026ea5da6c32e3818455b1d3296bd78 Mon Sep 17 00:00:00 2001 From: "n8n-assistant[bot]" <100856346+n8n-assistant[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 09:51:11 +0000 Subject: [PATCH] :rocket: Release 2.24.0 (#31541) Co-authored-by: Matsuuu <16068444+Matsuuu@users.noreply.github.com> --- CHANGELOG.md | 95 ++++++++++++++ package.json | 2 +- packages/@n8n/agents/package.json | 2 +- packages/@n8n/ai-node-sdk/package.json | 2 +- packages/@n8n/ai-utilities/package.json | 2 +- .../@n8n/ai-workflow-builder.ee/package.json | 2 +- packages/@n8n/api-types/package.json | 2 +- packages/@n8n/backend-common/package.json | 2 +- packages/@n8n/backend-test-utils/package.json | 2 +- packages/@n8n/chat-hub/package.json | 2 +- packages/@n8n/computer-use/package.json | 2 +- packages/@n8n/config/package.json | 2 +- packages/@n8n/create-node/package.json | 2 +- packages/@n8n/db/package.json | 2 +- packages/@n8n/decorators/package.json | 2 +- packages/@n8n/engine/package.json | 2 +- .../package.json | 2 +- packages/@n8n/expression-runtime/package.json | 2 +- packages/@n8n/instance-ai/package.json | 2 +- packages/@n8n/mcp-apps/package.json | 122 +++++++++--------- packages/@n8n/mcp-browser/package.json | 2 +- packages/@n8n/node-cli/package.json | 2 +- packages/@n8n/nodes-langchain/package.json | 2 +- packages/@n8n/permissions/package.json | 2 +- .../@n8n/scan-community-package/package.json | 2 +- packages/@n8n/task-runner/package.json | 2 +- packages/@n8n/utils/package.json | 2 +- packages/@n8n/vitest-config/package.json | 2 +- packages/@n8n/workflow-sdk/package.json | 2 +- packages/cli/package.json | 2 +- packages/core/package.json | 2 +- packages/frontend/@n8n/chat/package.json | 2 +- .../frontend/@n8n/composables/package.json | 2 +- .../frontend/@n8n/design-system/package.json | 2 +- packages/frontend/@n8n/i18n/package.json | 2 +- .../@n8n/rest-api-client/package.json | 2 +- packages/frontend/@n8n/stores/package.json | 2 +- packages/frontend/editor-ui/package.json | 2 +- packages/nodes-base/package.json | 2 +- packages/workflow/package.json | 2 +- 40 files changed, 194 insertions(+), 99 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcd7989ab1b..db9c2c6d88a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,98 @@ +# [2.24.0](https://github.com/n8n-io/n8n/compare/n8n@2.23.0...n8n@2.24.0) (2026-06-02) + + +### Bug Fixes + +* **cli:** Decouple agent library bundle from build:data ([#31293](https://github.com/n8n-io/n8n/issues/31293)) ([70ab5e5](https://github.com/n8n-io/n8n/commit/70ab5e582821ec50778e7aba01cbd1896879f3ff)) +* **Compression Node:** Add decompression output size validation ([#31366](https://github.com/n8n-io/n8n/issues/31366)) ([90dd93c](https://github.com/n8n-io/n8n/commit/90dd93c7723f33f71ea1382cad3f921715ae8409)) +* **core:** Align /credentials/for-workflow response with its frontend type ([#31253](https://github.com/n8n-io/n8n/issues/31253)) ([1c39015](https://github.com/n8n-io/n8n/commit/1c3901576bb4b2e266ce7a21933221204f44064a)) +* **core:** Allow emails in npm person strings in no-template-placeholders lint rule ([#31196](https://github.com/n8n-io/n8n/issues/31196)) ([0a548b8](https://github.com/n8n-io/n8n/commit/0a548b82c2581da149483c845978c18235f36c89)) +* **core:** Coerce non-string node names in buildNodeIndex ([#31411](https://github.com/n8n-io/n8n/issues/31411)) ([6cf3b0b](https://github.com/n8n-io/n8n/commit/6cf3b0b67900dc1c8cd46d2bf2c223ea938651fc)) +* **core:** Expand ESLint rule to catch toThrowError error instance assertions ([#31187](https://github.com/n8n-io/n8n/issues/31187)) ([39d660e](https://github.com/n8n-io/n8n/commit/39d660e522d926594a14269ca7219d466d07fa48)) +* **core:** Insights page shows license paywall for licensed users ([#31406](https://github.com/n8n-io/n8n/issues/31406)) ([d24a076](https://github.com/n8n-io/n8n/commit/d24a07622d747797581f1e7472a3a65060e02c3e)) +* **core:** Make AI tool nodes continue on error by default ([#31225](https://github.com/n8n-io/n8n/issues/31225)) ([863dfc3](https://github.com/n8n-io/n8n/commit/863dfc340c9cca78aa5e77b9254c281cce8715d5)) +* **core:** Normalise Sentry stack frame paths to stable app:/// roots ([#31421](https://github.com/n8n-io/n8n/issues/31421)) ([e620545](https://github.com/n8n-io/n8n/commit/e620545c939f0b98b7cc4a6b6317473ff63d0308)) +* **core:** Preserve code-builder thread suffix when parsing session ([#30829](https://github.com/n8n-io/n8n/issues/30829)) ([483752e](https://github.com/n8n-io/n8n/commit/483752e8dfe78c4cf5fd0a3218d23d003808efa6)) +* **core:** Preserve underlying cause when logging webhook execution failures ([#31120](https://github.com/n8n-io/n8n/issues/31120)) ([b2f4c2c](https://github.com/n8n-io/n8n/commit/b2f4c2c6e45ade2987015ebbb2ea4b8b07222eca)) +* **core:** Quiet VM expression engine logs on the happy path ([#31488](https://github.com/n8n-io/n8n/issues/31488)) ([b9e97e4](https://github.com/n8n-io/n8n/commit/b9e97e47933d77c7c27ad896d04bae8c037e9c9a)) +* **core:** Raise rate limit on telemetry `/identify` endpoint ([#31509](https://github.com/n8n-io/n8n/issues/31509)) ([e8cbcf0](https://github.com/n8n-io/n8n/commit/e8cbcf0b08287fdfc23331307286ebde7b4cf322)) +* **core:** Re-register expression metrics after Prometheus registry reset ([#31484](https://github.com/n8n-io/n8n/issues/31484)) ([ccf401c](https://github.com/n8n-io/n8n/commit/ccf401c720977e68fe7dc5f05cd0674c7e94cf3d)) +* **core:** Rebuild isolated-vm in Docker image for musl libc ([#31396](https://github.com/n8n-io/n8n/issues/31396)) ([80a97bd](https://github.com/n8n-io/n8n/commit/80a97bdcf39341dac8fcdb96e93007af6c2e559b)) +* **core:** Sort MCP search_workflows by most recently edited ([#31245](https://github.com/n8n-io/n8n/issues/31245)) ([3d452f7](https://github.com/n8n-io/n8n/commit/3d452f7cb92083f0afb0570bddaa21bce361b84b)) +* **core:** Synthesize type-defs for MCP registry nodes at request time ([#30887](https://github.com/n8n-io/n8n/issues/30887)) ([37e47e3](https://github.com/n8n-io/n8n/commit/37e47e3cec5d6029b20346f83fb47f24828f5ffb)) +* **core:** Use slugs instead of ids to identify MCP registry servers ([#30974](https://github.com/n8n-io/n8n/issues/30974)) ([4722c4d](https://github.com/n8n-io/n8n/commit/4722c4d5828db641fbc8075e7cee216ad69ed3d2)) +* **core:** Use timestamptz for data table date columns ([#31286](https://github.com/n8n-io/n8n/issues/31286)) ([1a9a69a](https://github.com/n8n-io/n8n/commit/1a9a69a9e633bf0174d31e22a17c9e23ad9022a5)) +* **editor, core:** Enhance source control endpoint access control ([#31349](https://github.com/n8n-io/n8n/issues/31349)) ([068547b](https://github.com/n8n-io/n8n/commit/068547b500a6bd690cb48ff501919ef7c76b943f)) +* **editor:** Clear pin data on workspace initialization of production execution ([#31218](https://github.com/n8n-io/n8n/issues/31218)) ([a99b91d](https://github.com/n8n-io/n8n/commit/a99b91dd987eaa644f655fc94e1ff7272f390ebb)) +* **editor:** Hide private credential connect controls without update permission ([#31507](https://github.com/n8n-io/n8n/issues/31507)) ([13ee461](https://github.com/n8n-io/n8n/commit/13ee461f76397148360c55ad1aa7563928015861)) +* **editor:** Reduce length penalty so longer node names rank fairly ([#31294](https://github.com/n8n-io/n8n/issues/31294)) ([1b8235e](https://github.com/n8n-io/n8n/commit/1b8235ef7655f980ecf9f5fad7fe070e6da00f50)) +* **editor:** Remove obsolete credential resolver warnings ([#31466](https://github.com/n8n-io/n8n/issues/31466)) ([f09e1c7](https://github.com/n8n-io/n8n/commit/f09e1c70a922a7dda89377b9efe357e801d41fc4)) +* **editor:** Render new empty state for quick-connect credentials in standalone mode ([#31145](https://github.com/n8n-io/n8n/issues/31145)) ([1e9c6bb](https://github.com/n8n-io/n8n/commit/1e9c6bb26e26ba235d72e5fc0d102d99afbc579e)) +* **editor:** Render setup step dropdown above chat input ([#31299](https://github.com/n8n-io/n8n/issues/31299)) ([e07c8e6](https://github.com/n8n-io/n8n/commit/e07c8e6e6da48ac427af2bcf3e549b4c0cc7ddd9)) +* **editor:** Suppress strict-mode 'delete' TypeScript error in Code node JS editor ([#31067](https://github.com/n8n-io/n8n/issues/31067)) ([d6457bd](https://github.com/n8n-io/n8n/commit/d6457bd4bcb4b5d8d8e2f426c1d46388185650b4)) +* **Email Trigger (IMAP) Node:** Fix emails marked as read without triggering workflow ([#30375](https://github.com/n8n-io/n8n/issues/30375)) ([3d45fe6](https://github.com/n8n-io/n8n/commit/3d45fe626f8b3fb518505d78140d45536a629c3b)) +* Extend Browser mcp secret redaction patterns ([#30970](https://github.com/n8n-io/n8n/issues/30970)) ([60c8517](https://github.com/n8n-io/n8n/commit/60c851700435a4d165c875080c41911b4561af59)) +* **Google Gemini Chat Model Node:** Hide imagen models from model dropdown ([#31150](https://github.com/n8n-io/n8n/issues/31150)) ([e4c0d6f](https://github.com/n8n-io/n8n/commit/e4c0d6f371a8c12dc4a7d0549e1bb610e25419c4)) +* **HighLevel Node:** Encode contact lookup query parameters ([#31365](https://github.com/n8n-io/n8n/issues/31365)) ([8635dcd](https://github.com/n8n-io/n8n/commit/8635dcde2351abb57593f3cecda9495aa645e9b0)) +* **langchain agent Node:** Resolve sub-agent tool calls inline when nested ([#31072](https://github.com/n8n-io/n8n/issues/31072)) ([e9920b6](https://github.com/n8n-io/n8n/commit/e9920b62d5a2a540029c82e43fdf5d1ea6664941)) +* **LDAP Node:** Bump ldapts to 8.1.7 to fix silent rename on long DN paths ([#30712](https://github.com/n8n-io/n8n/issues/30712)) ([7db3eb8](https://github.com/n8n-io/n8n/commit/7db3eb8b2e99bdae4dbbfbb13fdc6181bba5a794)) +* **MongoDB Node:** Validate update key value type ([#31371](https://github.com/n8n-io/n8n/issues/31371)) ([439d260](https://github.com/n8n-io/n8n/commit/439d2601815a72bf93ca185af1e5b49c520fa9af)) +* Only allow specified AWS regions ([#31374](https://github.com/n8n-io/n8n/issues/31374)) ([e3c14a4](https://github.com/n8n-io/n8n/commit/e3c14a47205ec0c68c77a8431c9e09e7493140f8)) +* **Pipedrive Node:** Map user_id to owner_id for v2 deal and activity requests ([#30890](https://github.com/n8n-io/n8n/issues/30890)) ([e9631b3](https://github.com/n8n-io/n8n/commit/e9631b336f783a7fcd036314d2154b9d1b0fa705)) +* **Postgres Node:** Return empty array for SELECTs that match no rows ([#30528](https://github.com/n8n-io/n8n/issues/30528)) ([4df0568](https://github.com/n8n-io/n8n/commit/4df05683cc21f7697615d69abfcbe401f79aa04b)) +* Preserve reserved tokens ([#31363](https://github.com/n8n-io/n8n/issues/31363)) ([dd4b3ff](https://github.com/n8n-io/n8n/commit/dd4b3ff4462b82f951cec9892f8a71a530abb307)) +* Resolve all external licenses in release SBOM ([#31231](https://github.com/n8n-io/n8n/issues/31231)) ([eff29ce](https://github.com/n8n-io/n8n/commit/eff29ce1ba94299aa42b91263c75f2b44587c05a)) +* Revert 'Input validation for workflow and data table names' (PR 30594) ([#31359](https://github.com/n8n-io/n8n/issues/31359)) ([f4a5880](https://github.com/n8n-io/n8n/commit/f4a58806522c68d97bd25127f450f6c6b2d97dc5)) +* **Salesforce Trigger Node:** Stop Created triggers refiring on record updates ([#30809](https://github.com/n8n-io/n8n/issues/30809)) ([6151660](https://github.com/n8n-io/n8n/commit/6151660e1771aa6772407fd4466c6875cec69517)) +* **Send Email Node:** Allow non-inline file attachments ([#31071](https://github.com/n8n-io/n8n/issues/31071)) ([c1856af](https://github.com/n8n-io/n8n/commit/c1856aff8d97221d19687c8cff5eb588a83e8d50)) +* Set Content-Type for Meta-family trigger node responses ([#31354](https://github.com/n8n-io/n8n/issues/31354)) ([16728b3](https://github.com/n8n-io/n8n/commit/16728b301cf4c300b3ef61405bd23e16a170c87b)) +* **Stripe Trigger Node:** Use stored webhook secret for request verification ([#31212](https://github.com/n8n-io/n8n/issues/31212)) ([9e41d03](https://github.com/n8n-io/n8n/commit/9e41d03b292b3e021adc68e61b7e00fd8cb1ad82)) +* **Zulip Node:** Normalize multiOptions recipients when expression returns a string ([#31492](https://github.com/n8n-io/n8n/issues/31492)) ([01cc906](https://github.com/n8n-io/n8n/commit/01cc906ebdd1815fae2d5e8cc8576e9b4a39fbac)) + + +### Features + +* Add workflow-level telemetry tags ([#30948](https://github.com/n8n-io/n8n/issues/30948)) ([dbe3952](https://github.com/n8n-io/n8n/commit/dbe395202b403bafa9b4a8544bb9667ec323ef5c)) +* **core:** Add audit event for redaction enforcement policy changes ([#31078](https://github.com/n8n-io/n8n/issues/31078)) ([93c009a](https://github.com/n8n-io/n8n/commit/93c009aaebf0f72deeecabe6f1f81ebf43f12688)) +* **core:** Add Knowledge Base to agents ([#31034](https://github.com/n8n-io/n8n/issues/31034)) ([d3405ac](https://github.com/n8n-io/n8n/commit/d3405acb8220858d4649fea3ab86b5f92903e30e)) +* **core:** Add knowledge base to snapshot image ([#31397](https://github.com/n8n-io/n8n/issues/31397)) ([ce886a2](https://github.com/n8n-io/n8n/commit/ce886a21a3601e5e9d005047a5add86cca2540c3)) +* **core:** Add option to track only published workflows with OpenTelemetry and make it the default ([#31201](https://github.com/n8n-io/n8n/issues/31201)) ([027d97d](https://github.com/n8n-io/n8n/commit/027d97d0cb20555125ecdaa8ad66d3d1f6542af0)) +* **core:** Add project-level custom telemetry tags to OTel spans ([#30985](https://github.com/n8n-io/n8n/issues/30985)) ([11538be](https://github.com/n8n-io/n8n/commit/11538be71b6c90e4c398c9685eea02ad17f4cd82)) +* **core:** Add scheduled tasks for agents ([#31436](https://github.com/n8n-io/n8n/issues/31436)) ([bee1314](https://github.com/n8n-io/n8n/commit/bee1314aeb45bbb95f026b75049830810fe4bfe2)) +* **core:** Add tool to resolve node params for a given item in execution ([#31210](https://github.com/n8n-io/n8n/issues/31210)) ([383928e](https://github.com/n8n-io/n8n/commit/383928ea3f156c6d3dd38b1351cca90ec000434b)) +* **core:** Allow MCP update_workflow to change node execution settings ([#31013](https://github.com/n8n-io/n8n/issues/31013)) ([945349e](https://github.com/n8n-io/n8n/commit/945349e89d03a180995824d43543539f6abed797)) +* **core:** Allow users to disconnect their own dynamic credential connection ([#31151](https://github.com/n8n-io/n8n/issues/31151)) ([920047d](https://github.com/n8n-io/n8n/commit/920047d2db10d085793963296c50e6a880227fa3)) +* **core:** Clean up credential data on static/private mode toggle ([#31322](https://github.com/n8n-io/n8n/issues/31322)) ([572a807](https://github.com/n8n-io/n8n/commit/572a8075dbe587894b4a391fdf6c5d9a247b122b)) +* **core:** Include offending node JSON in workflow save errors ([#31296](https://github.com/n8n-io/n8n/issues/31296)) ([c4fc044](https://github.com/n8n-io/n8n/commit/c4fc0447c04cbdb12ed9b55160bf9de770544436)) +* **core:** Override workflow redaction policy at execution time when instance enforcement is on ([#31069](https://github.com/n8n-io/n8n/issues/31069)) ([d6d0eff](https://github.com/n8n-io/n8n/commit/d6d0effddc8587dc1d0158444615eebebf2d82e7)) +* **core:** Paginate the API keys list endpoint ([#31500](https://github.com/n8n-io/n8n/issues/31500)) ([d327be0](https://github.com/n8n-io/n8n/commit/d327be0756bfe6aabda3e630dfd33fea956ca88f)) +* **core:** Persist pending confirmations on database ([#31052](https://github.com/n8n-io/n8n/issues/31052)) ([e413a77](https://github.com/n8n-io/n8n/commit/e413a7740d7a170df271473dd997d90b02f6a49c)) +* **core:** Provide basic import of n8n packages ([#30984](https://github.com/n8n-io/n8n/issues/30984)) ([1a377ab](https://github.com/n8n-io/n8n/commit/1a377abfaa914caa63c2dd75e1df6236b8ced544)) +* **core:** Restore AI Assistant HITL state across restart ([#31077](https://github.com/n8n-io/n8n/issues/31077)) ([408c3c0](https://github.com/n8n-io/n8n/commit/408c3c06977a431911e67408c449137b86646a1b)) +* **core:** Restrict credentials to declared supported nodes ([#31260](https://github.com/n8n-io/n8n/issues/31260)) ([d6eb844](https://github.com/n8n-io/n8n/commit/d6eb844c32b2712c5924193fe3ffb7d3540874b9)) +* **core:** Surface user-facing error when credential is not connected for manual runs ([#30993](https://github.com/n8n-io/n8n/issues/30993)) ([2431a43](https://github.com/n8n-io/n8n/commit/2431a43ac1bbf15a04e4d832949b5dddc65f2161)) +* **core:** Track JWE enablement on credential save events ([#31224](https://github.com/n8n-io/n8n/issues/31224)) ([c14337e](https://github.com/n8n-io/n8n/commit/c14337e189370ed1b81e3178bbbcd70d50dc24c1)) +* **core:** Track last-used timestamp on API keys ([#31236](https://github.com/n8n-io/n8n/issues/31236)) ([ec83a0a](https://github.com/n8n-io/n8n/commit/ec83a0a944f7dca2f47c0b0725905ffc7e4b6629)) +* **core:** Workflow export with credentials ([#31241](https://github.com/n8n-io/n8n/issues/31241)) ([00431d7](https://github.com/n8n-io/n8n/commit/00431d7505b247af4ad07615f447cffbc2e525e7)) +* **Crypto Node:** Add HMAC-SHA1 support ([#29740](https://github.com/n8n-io/n8n/issues/29740)) ([64b53b0](https://github.com/n8n-io/n8n/commit/64b53b007672a0ac4c951ee4f80ac1d18c563805)) +* **editor:** Add fallback web search for agents ([#31010](https://github.com/n8n-io/n8n/issues/31010)) ([b415544](https://github.com/n8n-io/n8n/commit/b4155446838fdcccec0d21857f67ba14e8cc803b)) +* **editor:** Add HoverCard to design-system ([#30611](https://github.com/n8n-io/n8n/issues/30611)) ([7c138e1](https://github.com/n8n-io/n8n/commit/7c138e12a9cfab4f0ce4809fb8b531eb58c94b98)) +* **editor:** Add N8nMarkdown editor to @n8n/design-system and Agents ([#29988](https://github.com/n8n-io/n8n/issues/29988)) ([4983664](https://github.com/n8n-io/n8n/commit/49836641b5812c3afb87843881caf4bee3afaf15)) +* **editor:** Add private credential badge, callout, and not-connected validation in NDV ([#31204](https://github.com/n8n-io/n8n/issues/31204)) ([b890306](https://github.com/n8n-io/n8n/commit/b8903064cfc038d9174c263a80792abeed4ea4f1)) +* **editor:** Apply instance redaction floor per-select in workflow settings ([#31229](https://github.com/n8n-io/n8n/issues/31229)) ([d431710](https://github.com/n8n-io/n8n/commit/d431710a4c425e03acedc2ae2a91e23c8232e348)) +* **editor:** Default workflow resolver to n8n system resolver ([#31116](https://github.com/n8n-io/n8n/issues/31116)) ([7f595ee](https://github.com/n8n-io/n8n/commit/7f595eef55480689b58684e30bbaaee8a1b87b51)) +* **editor:** Direct-mount editor in AI artifact preview ([#31126](https://github.com/n8n-io/n8n/issues/31126)) ([89d0740](https://github.com/n8n-io/n8n/commit/89d0740e74271bf0f2990f5f711e7be36e0fa3ab)) +* **editor:** Introduce new project/folder actions menu ([#30614](https://github.com/n8n-io/n8n/issues/30614)) ([f0ea4ed](https://github.com/n8n-io/n8n/commit/f0ea4ed1f072cef6acfc95245a65e1683962eb6c)) +* **editor:** Refine plan review with chat-input edits ([#31124](https://github.com/n8n-io/n8n/issues/31124)) ([51aae25](https://github.com/n8n-io/n8n/commit/51aae256d101e4858969368a3ee354a66f2cbf5a)) +* **editor:** Show data redaction scope dropdown to unlicensed users ([#30966](https://github.com/n8n-io/n8n/issues/30966)) ([25a836d](https://github.com/n8n-io/n8n/commit/25a836dfb7b0afb9ccd03495af640d394dd2290c)) +* **editor:** Show private credential connection state in credentials list ([#31117](https://github.com/n8n-io/n8n/issues/31117)) ([3af0afc](https://github.com/n8n-io/n8n/commit/3af0afcd28550f9677bd7ee07979b0ea62e6f218)) +* **editor:** Validate private credentials only run under manual triggers ([#31211](https://github.com/n8n-io/n8n/issues/31211)) ([5de0d32](https://github.com/n8n-io/n8n/commit/5de0d32e2dfba3c49e83eeb7d563214bdbff96a4)) +* **Form Trigger Node:** Add n8n user authentication option ([#30539](https://github.com/n8n-io/n8n/issues/30539)) ([4604270](https://github.com/n8n-io/n8n/commit/460427046414a22fdfae3215314e6bf9eabadd5c)) +* **Microsoft OneDrive Node:** Allow custom OAuth scopes (CE-949) ([#31255](https://github.com/n8n-io/n8n/issues/31255)) ([93e2a47](https://github.com/n8n-io/n8n/commit/93e2a47267a310d4a7d346a62bfa277a6c36554f)) +* **Microsoft Outlook Node:** Allow custom OAuth scopes (CE-950) ([#31262](https://github.com/n8n-io/n8n/issues/31262)) ([30a6f51](https://github.com/n8n-io/n8n/commit/30a6f511aac7acf3300917d30663fbfe8da91f1b)) +* **Microsoft SharePoint Node:** Allow custom OAuth scopes ([#31256](https://github.com/n8n-io/n8n/issues/31256)) ([6edd4ce](https://github.com/n8n-io/n8n/commit/6edd4cea36e2449bd5f140e5d0c930520d6b8314)) + + # [2.23.0](https://github.com/n8n-io/n8n/compare/n8n@2.22.0...n8n@2.23.0) (2026-05-27) diff --git a/package.json b/package.json index b0bb915e626..60ec4d145a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-monorepo", - "version": "2.23.0", + "version": "2.24.0", "private": true, "engines": { "node": ">=22.22", diff --git a/packages/@n8n/agents/package.json b/packages/@n8n/agents/package.json index a8618ad1614..7841389963a 100644 --- a/packages/@n8n/agents/package.json +++ b/packages/@n8n/agents/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/agents", - "version": "0.9.0", + "version": "0.10.0", "description": "AI agent SDK for n8n's code-first execution engine", "main": "dist/index.js", "module": "dist/index.js", diff --git a/packages/@n8n/ai-node-sdk/package.json b/packages/@n8n/ai-node-sdk/package.json index 8c30467ac4b..2ac9711328b 100644 --- a/packages/@n8n/ai-node-sdk/package.json +++ b/packages/@n8n/ai-node-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/ai-node-sdk", - "version": "0.14.0", + "version": "0.15.0", "description": "SDK for building AI nodes in n8n", "types": "dist/esm/index.d.ts", "module": "dist/esm/index.js", diff --git a/packages/@n8n/ai-utilities/package.json b/packages/@n8n/ai-utilities/package.json index 2b7db4abcf8..055e794f993 100644 --- a/packages/@n8n/ai-utilities/package.json +++ b/packages/@n8n/ai-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/ai-utilities", - "version": "0.17.0", + "version": "0.18.0", "description": "Utilities for building AI nodes in n8n", "types": "dist/esm/index.d.ts", "module": "dist/esm/index.js", diff --git a/packages/@n8n/ai-workflow-builder.ee/package.json b/packages/@n8n/ai-workflow-builder.ee/package.json index 0b8ca3b6a24..b91405ab8a9 100644 --- a/packages/@n8n/ai-workflow-builder.ee/package.json +++ b/packages/@n8n/ai-workflow-builder.ee/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/ai-workflow-builder", - "version": "1.23.0", + "version": "1.24.0", "scripts": { "clean": "rimraf dist .turbo", "typecheck": "tsc --noEmit", diff --git a/packages/@n8n/api-types/package.json b/packages/@n8n/api-types/package.json index 6099afe05e2..7a8a5418cea 100644 --- a/packages/@n8n/api-types/package.json +++ b/packages/@n8n/api-types/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/api-types", - "version": "1.23.0", + "version": "1.24.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/backend-common/package.json b/packages/@n8n/backend-common/package.json index 6821a7c0612..4844ceff11b 100644 --- a/packages/@n8n/backend-common/package.json +++ b/packages/@n8n/backend-common/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/backend-common", - "version": "1.23.0", + "version": "1.24.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/backend-test-utils/package.json b/packages/@n8n/backend-test-utils/package.json index c4dc6e32746..f73fa5f81c4 100644 --- a/packages/@n8n/backend-test-utils/package.json +++ b/packages/@n8n/backend-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/backend-test-utils", - "version": "1.23.0", + "version": "1.24.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/chat-hub/package.json b/packages/@n8n/chat-hub/package.json index 3a31420cfb5..d5520ac0ade 100644 --- a/packages/@n8n/chat-hub/package.json +++ b/packages/@n8n/chat-hub/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/chat-hub", - "version": "1.16.0", + "version": "1.17.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/computer-use/package.json b/packages/@n8n/computer-use/package.json index eb7da0293cf..fc032d8fc78 100644 --- a/packages/@n8n/computer-use/package.json +++ b/packages/@n8n/computer-use/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/computer-use", - "version": "0.8.0", + "version": "0.9.0", "description": "Local AI gateway for n8n AI Assistant — filesystem, shell, screenshots, mouse/keyboard, and browser automation", "publishConfig": { "bin": { diff --git a/packages/@n8n/config/package.json b/packages/@n8n/config/package.json index d725b7d5fcc..ace0cb1147b 100644 --- a/packages/@n8n/config/package.json +++ b/packages/@n8n/config/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/config", - "version": "2.22.0", + "version": "2.23.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/create-node/package.json b/packages/@n8n/create-node/package.json index 8cf3d7f22f0..1ad5c1ef9f4 100644 --- a/packages/@n8n/create-node/package.json +++ b/packages/@n8n/create-node/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/create-node", - "version": "0.32.0", + "version": "0.33.0", "description": "Official CLI to create new community nodes for n8n", "bin": { "create-node": "bin/create-node.cjs" diff --git a/packages/@n8n/db/package.json b/packages/@n8n/db/package.json index 46d53a3501e..0666d940046 100644 --- a/packages/@n8n/db/package.json +++ b/packages/@n8n/db/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/db", - "version": "1.23.0", + "version": "1.24.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/decorators/package.json b/packages/@n8n/decorators/package.json index 46b6d7859d8..d3123dfbccc 100644 --- a/packages/@n8n/decorators/package.json +++ b/packages/@n8n/decorators/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/decorators", - "version": "1.23.0", + "version": "1.24.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/engine/package.json b/packages/@n8n/engine/package.json index a95fbb59c07..bdf59ff9064 100644 --- a/packages/@n8n/engine/package.json +++ b/packages/@n8n/engine/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/engine", - "version": "0.4.0", + "version": "0.5.0", "description": "n8n workflow execution engine (v2)", "scripts": { "clean": "rimraf dist .turbo compiled", diff --git a/packages/@n8n/eslint-plugin-community-nodes/package.json b/packages/@n8n/eslint-plugin-community-nodes/package.json index c49bcb896c8..a6ecb8eeefa 100644 --- a/packages/@n8n/eslint-plugin-community-nodes/package.json +++ b/packages/@n8n/eslint-plugin-community-nodes/package.json @@ -1,7 +1,7 @@ { "name": "@n8n/eslint-plugin-community-nodes", "type": "module", - "version": "0.18.0", + "version": "0.19.0", "main": "./dist/plugin.js", "types": "./dist/plugin.d.ts", "exports": { diff --git a/packages/@n8n/expression-runtime/package.json b/packages/@n8n/expression-runtime/package.json index ec77dda04a7..4a7a213b01e 100644 --- a/packages/@n8n/expression-runtime/package.json +++ b/packages/@n8n/expression-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/expression-runtime", - "version": "0.15.0", + "version": "0.16.0", "description": "Secure, isolated expression evaluation runtime for n8n", "main": "dist/cjs/index.js", "module": "dist/esm/index.js", diff --git a/packages/@n8n/instance-ai/package.json b/packages/@n8n/instance-ai/package.json index b94f9f5ec6f..6d90ff1ab65 100644 --- a/packages/@n8n/instance-ai/package.json +++ b/packages/@n8n/instance-ai/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/instance-ai", - "version": "1.8.0", + "version": "1.9.0", "scripts": { "clean": "rimraf dist .turbo", "typecheck": "tsc --noEmit", diff --git a/packages/@n8n/mcp-apps/package.json b/packages/@n8n/mcp-apps/package.json index b4624288929..623e409d47f 100644 --- a/packages/@n8n/mcp-apps/package.json +++ b/packages/@n8n/mcp-apps/package.json @@ -1,63 +1,63 @@ { - "name": "@n8n/mcp-apps", - "version": "0.1.0", - "description": "MCP Apps UI resources and server helpers for n8n", - "main": "dist/server/index.js", - "types": "dist/server/index.d.ts", - "typesVersions": { - "*": { - "server": [ - "dist/server/index.d.ts" - ] - } - }, - "exports": { - "./server": { - "types": "./dist/server/index.d.ts", - "default": "./dist/server/index.js" - }, - "./package.json": "./package.json" - }, - "files": [ - "dist/**/*" - ], - "scripts": { - "clean": "rimraf dist .turbo", - "build": "pnpm build:ui && pnpm build:server", - "build:ui": "vite build --mode workflow-preview", - "build:server": "tsc -p tsconfig.build.json", - "typecheck": "vue-tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.build.json", - "lint": "eslint . --quiet", - "lint:fix": "eslint . --fix", - "test": "vitest run", - "test:unit": "vitest run", - "test:dev": "vitest", - "format": "biome format --write src", - "format:check": "biome ci src" - }, - "devDependencies": { - "@modelcontextprotocol/ext-apps": "catalog:", - "@modelcontextprotocol/sdk": "catalog:", - "@n8n/design-system": "workspace:*", - "@n8n/eslint-config": "workspace:*", - "@n8n/typescript-config": "workspace:*", - "@n8n/vitest-config": "workspace:*", - "@types/semver": "^7.7.0", - "@vitejs/plugin-vue": "catalog:frontend", - "@vue/test-utils": "catalog:frontend", - "rimraf": "catalog:", - "semver": "catalog:", - "typescript": "catalog:", - "unplugin-icons": "catalog:frontend", - "vite": "catalog:", - "vite-plugin-singlefile": "catalog:", - "vite-svg-loader": "catalog:frontend", - "vitest": "catalog:", - "vue": "catalog:frontend", - "vue-i18n": "catalog:frontend", - "vue-tsc": "catalog:frontend" - }, - "peerDependencies": { - "@modelcontextprotocol/sdk": "catalog:" - } + "name": "@n8n/mcp-apps", + "version": "0.2.0", + "description": "MCP Apps UI resources and server helpers for n8n", + "main": "dist/server/index.js", + "types": "dist/server/index.d.ts", + "typesVersions": { + "*": { + "server": [ + "dist/server/index.d.ts" + ] + } + }, + "exports": { + "./server": { + "types": "./dist/server/index.d.ts", + "default": "./dist/server/index.js" + }, + "./package.json": "./package.json" + }, + "files": [ + "dist/**/*" + ], + "scripts": { + "clean": "rimraf dist .turbo", + "build": "pnpm build:ui && pnpm build:server", + "build:ui": "vite build --mode workflow-preview", + "build:server": "tsc -p tsconfig.build.json", + "typecheck": "vue-tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.build.json", + "lint": "eslint . --quiet", + "lint:fix": "eslint . --fix", + "test": "vitest run", + "test:unit": "vitest run", + "test:dev": "vitest", + "format": "biome format --write src", + "format:check": "biome ci src" + }, + "devDependencies": { + "@modelcontextprotocol/ext-apps": "catalog:", + "@modelcontextprotocol/sdk": "catalog:", + "@n8n/design-system": "workspace:*", + "@n8n/eslint-config": "workspace:*", + "@n8n/typescript-config": "workspace:*", + "@n8n/vitest-config": "workspace:*", + "@types/semver": "^7.7.0", + "@vitejs/plugin-vue": "catalog:frontend", + "@vue/test-utils": "catalog:frontend", + "rimraf": "catalog:", + "semver": "catalog:", + "typescript": "catalog:", + "unplugin-icons": "catalog:frontend", + "vite": "catalog:", + "vite-plugin-singlefile": "catalog:", + "vite-svg-loader": "catalog:frontend", + "vitest": "catalog:", + "vue": "catalog:frontend", + "vue-i18n": "catalog:frontend", + "vue-tsc": "catalog:frontend" + }, + "peerDependencies": { + "@modelcontextprotocol/sdk": "catalog:" + } } diff --git a/packages/@n8n/mcp-browser/package.json b/packages/@n8n/mcp-browser/package.json index c67909c03bb..f74ffac7982 100644 --- a/packages/@n8n/mcp-browser/package.json +++ b/packages/@n8n/mcp-browser/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/mcp-browser", - "version": "0.7.0", + "version": "0.8.0", "description": "Browser automation MCP tools built on Playwright, WebDriver BiDi, and safaridriver", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/@n8n/node-cli/package.json b/packages/@n8n/node-cli/package.json index 025741c3b43..98d41d85af9 100644 --- a/packages/@n8n/node-cli/package.json +++ b/packages/@n8n/node-cli/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/node-cli", - "version": "0.33.0", + "version": "0.34.0", "description": "Official CLI for developing community nodes for n8n", "bin": { "n8n-node": "bin/n8n-node.mjs" diff --git a/packages/@n8n/nodes-langchain/package.json b/packages/@n8n/nodes-langchain/package.json index 98f4e20bbb7..9ec3fa4e1ca 100644 --- a/packages/@n8n/nodes-langchain/package.json +++ b/packages/@n8n/nodes-langchain/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/n8n-nodes-langchain", - "version": "2.23.0", + "version": "2.24.0", "description": "", "main": "index.js", "exports": { diff --git a/packages/@n8n/permissions/package.json b/packages/@n8n/permissions/package.json index 46cc39019ce..1a8f7c039b5 100644 --- a/packages/@n8n/permissions/package.json +++ b/packages/@n8n/permissions/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/permissions", - "version": "0.61.0", + "version": "0.62.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/scan-community-package/package.json b/packages/@n8n/scan-community-package/package.json index 22b5d296816..f5e2656b41b 100644 --- a/packages/@n8n/scan-community-package/package.json +++ b/packages/@n8n/scan-community-package/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/scan-community-package", - "version": "0.20.0", + "version": "0.21.0", "description": "Static code analyser for n8n community packages", "license": "none", "bin": "scanner/cli.mjs", diff --git a/packages/@n8n/task-runner/package.json b/packages/@n8n/task-runner/package.json index fc39574a56d..ca165ab5c63 100644 --- a/packages/@n8n/task-runner/package.json +++ b/packages/@n8n/task-runner/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/task-runner", - "version": "2.23.0", + "version": "2.24.0", "scripts": { "clean": "rimraf dist .turbo", "start": "node dist/start.js", diff --git a/packages/@n8n/utils/package.json b/packages/@n8n/utils/package.json index 64e997aa7ab..ca572b8656a 100644 --- a/packages/@n8n/utils/package.json +++ b/packages/@n8n/utils/package.json @@ -1,7 +1,7 @@ { "name": "@n8n/utils", "type": "module", - "version": "1.32.0", + "version": "1.33.0", "files": [ "dist" ], diff --git a/packages/@n8n/vitest-config/package.json b/packages/@n8n/vitest-config/package.json index 5f3946b16b9..d4b35b50084 100644 --- a/packages/@n8n/vitest-config/package.json +++ b/packages/@n8n/vitest-config/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/vitest-config", - "version": "1.12.0", + "version": "1.13.0", "type": "module", "peerDependencies": { "vite": "catalog:", diff --git a/packages/@n8n/workflow-sdk/package.json b/packages/@n8n/workflow-sdk/package.json index 05e6c0a2251..3fb40ddebc2 100644 --- a/packages/@n8n/workflow-sdk/package.json +++ b/packages/@n8n/workflow-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/workflow-sdk", - "version": "0.16.0", + "version": "0.17.0", "description": "TypeScript SDK for programmatically creating n8n workflows", "exports": { ".": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 4d9a2646132..528d379490d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "n8n", - "version": "2.23.0", + "version": "2.24.0", "description": "n8n Workflow Automation Tool", "main": "dist/index", "types": "dist/index.d.ts", diff --git a/packages/core/package.json b/packages/core/package.json index dfcaca46536..0970f318f73 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "n8n-core", - "version": "2.23.0", + "version": "2.24.0", "description": "Core functionality of n8n", "main": "dist/index", "types": "dist/index.d.ts", diff --git a/packages/frontend/@n8n/chat/package.json b/packages/frontend/@n8n/chat/package.json index 325d99390ef..b1896e48bc9 100644 --- a/packages/frontend/@n8n/chat/package.json +++ b/packages/frontend/@n8n/chat/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/chat", - "version": "1.23.0", + "version": "1.24.0", "scripts": { "dev": "pnpm run --dir=../storybook dev --initial-path=/docs/chat-chat--docs", "build": "pnpm build:vite && pnpm build:bundle", diff --git a/packages/frontend/@n8n/composables/package.json b/packages/frontend/@n8n/composables/package.json index 51d0c7b660d..eb661731d88 100644 --- a/packages/frontend/@n8n/composables/package.json +++ b/packages/frontend/@n8n/composables/package.json @@ -1,7 +1,7 @@ { "name": "@n8n/composables", "type": "module", - "version": "1.17.0", + "version": "1.18.0", "files": [ "dist" ], diff --git a/packages/frontend/@n8n/design-system/package.json b/packages/frontend/@n8n/design-system/package.json index 91f2fbecf75..1f33b3b7ab4 100644 --- a/packages/frontend/@n8n/design-system/package.json +++ b/packages/frontend/@n8n/design-system/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@n8n/design-system", - "version": "2.23.0", + "version": "2.24.0", "main": "src/index.ts", "import": "src/index.ts", "scripts": { diff --git a/packages/frontend/@n8n/i18n/package.json b/packages/frontend/@n8n/i18n/package.json index ef041e1b1e9..e21aa32c617 100644 --- a/packages/frontend/@n8n/i18n/package.json +++ b/packages/frontend/@n8n/i18n/package.json @@ -1,7 +1,7 @@ { "name": "@n8n/i18n", "type": "module", - "version": "2.23.0", + "version": "2.24.0", "files": [ "dist" ], diff --git a/packages/frontend/@n8n/rest-api-client/package.json b/packages/frontend/@n8n/rest-api-client/package.json index 778eb9ab077..9c66a26731a 100644 --- a/packages/frontend/@n8n/rest-api-client/package.json +++ b/packages/frontend/@n8n/rest-api-client/package.json @@ -1,7 +1,7 @@ { "name": "@n8n/rest-api-client", "type": "module", - "version": "2.23.0", + "version": "2.24.0", "files": [ "dist" ], diff --git a/packages/frontend/@n8n/stores/package.json b/packages/frontend/@n8n/stores/package.json index e03dc381231..5570dc309ff 100644 --- a/packages/frontend/@n8n/stores/package.json +++ b/packages/frontend/@n8n/stores/package.json @@ -1,7 +1,7 @@ { "name": "@n8n/stores", "type": "module", - "version": "2.23.0", + "version": "2.24.0", "files": [ "dist" ], diff --git a/packages/frontend/editor-ui/package.json b/packages/frontend/editor-ui/package.json index fc34c41668e..5759fc93b1b 100644 --- a/packages/frontend/editor-ui/package.json +++ b/packages/frontend/editor-ui/package.json @@ -1,6 +1,6 @@ { "name": "n8n-editor-ui", - "version": "2.23.0", + "version": "2.24.0", "description": "Workflow Editor UI for n8n", "main": "index.js", "type": "module", diff --git a/packages/nodes-base/package.json b/packages/nodes-base/package.json index da8b2d49ed7..b159ba2a0f7 100644 --- a/packages/nodes-base/package.json +++ b/packages/nodes-base/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-base", - "version": "2.23.0", + "version": "2.24.0", "description": "Base nodes of n8n", "main": "index.js", "scripts": { diff --git a/packages/workflow/package.json b/packages/workflow/package.json index 5f9671b511e..b131e5576bc 100644 --- a/packages/workflow/package.json +++ b/packages/workflow/package.json @@ -1,6 +1,6 @@ { "name": "n8n-workflow", - "version": "2.23.0", + "version": "2.24.0", "description": "Workflow base code of n8n", "types": "dist/esm/index.d.ts", "module": "dist/esm/index.js",