From 0b2e5d9cf0612cb828a7f74354243d73e2594ddd Mon Sep 17 00:00:00 2001 From: "n8n-assistant[bot]" <100856346+n8n-assistant[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 12:00:11 +0100 Subject: [PATCH] :rocket: Release 2.8.0 (#25565) Co-authored-by: tomi <10324676+tomi@users.noreply.github.com> --- CHANGELOG.md | 118 ++++++++++++++++++ package.json | 2 +- packages/@n8n/ai-utilities/package.json | 98 +++++++-------- .../@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/config/package.json | 2 +- packages/@n8n/constants/package.json | 2 +- packages/@n8n/db/package.json | 2 +- packages/@n8n/decorators/package.json | 2 +- packages/@n8n/nodes-langchain/package.json | 6 +- packages/@n8n/permissions/package.json | 2 +- packages/@n8n/syslog-client/package.json | 2 +- packages/@n8n/task-runner/package.json | 2 +- packages/@n8n/utils/package.json | 2 +- packages/cli/package.json | 2 +- packages/core/package.json | 2 +- packages/frontend/@n8n/chat/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/node-dev/package.json | 2 +- packages/nodes-base/package.json | 2 +- packages/workflow/package.json | 2 +- 28 files changed, 196 insertions(+), 76 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 660d7493ee8..f33c17daf61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,121 @@ +# [2.8.0](https://github.com/n8n-io/n8n/compare/n8n@2.7.0...n8n@2.8.0) (2026-02-10) + + +### Bug Fixes + +* Add source to credentials open menu on telemetry ([#25519](https://github.com/n8n-io/n8n/issues/25519)) ([2ba2404](https://github.com/n8n-io/n8n/commit/2ba24041fddaa0650714c02e9df258f6f43310f8)) +* Adjust gap behaviour of the execution buttons ([#25529](https://github.com/n8n-io/n8n/issues/25529)) ([d18ffe1](https://github.com/n8n-io/n8n/commit/d18ffe18be96eb55f25b309ec669f74b05974a1a)) +* Adjust styling of credentials setup card ([#25163](https://github.com/n8n-io/n8n/issues/25163)) ([ce70395](https://github.com/n8n-io/n8n/commit/ce70395b2ff600a2c2d963a712b815474d225c97)) +* **Asana Node:** Fix empty error output when using Continue (using error output) ([#24615](https://github.com/n8n-io/n8n/issues/24615)) ([0a47148](https://github.com/n8n-io/n8n/commit/0a4714819d37fd5ee899dd6822ae0fd514c93519)) +* **core:** AI models don't explain images in ChatHub ([#25451](https://github.com/n8n-io/n8n/issues/25451)) ([6e7cbbf](https://github.com/n8n-io/n8n/commit/6e7cbbff561011f36ee90aa8c24f0d2f63ad9c74)) +* **core:** Auto set pairedItem when N input items create 1 output item ([#25203](https://github.com/n8n-io/n8n/issues/25203)) ([1292b80](https://github.com/n8n-io/n8n/commit/1292b8016967cada25f7abf30e8dfae1c39d1a49)) +* **core:** Avoid fetching workflows unpaginated if `getWorkflows` API is used with projectId ([#25370](https://github.com/n8n-io/n8n/issues/25370)) ([30e6d27](https://github.com/n8n-io/n8n/commit/30e6d274cdd75efdf2f6da0c99a70e5ed565110d)) +* **core:** Custom proxy agent for discovery sso oidc ([#25168](https://github.com/n8n-io/n8n/issues/25168)) ([b32ce90](https://github.com/n8n-io/n8n/commit/b32ce90ecf0b69de38f1dd1a9bdeeb0936213088)) +* **core:** Disallow editing AI messages on Chat hub ([#25352](https://github.com/n8n-io/n8n/issues/25352)) ([bb45ed2](https://github.com/n8n-io/n8n/commit/bb45ed2619a229d57657dd29be835bb53b97bf90)) +* **core:** Fix markdown rendering issue at streamed Chat hub responses ([#25466](https://github.com/n8n-io/n8n/issues/25466)) ([3a35b68](https://github.com/n8n-io/n8n/commit/3a35b687b8abf42291448759a8b1e345aecd11d2)) +* **core:** Make restartExecutionId get passed on queue mode ([#25234](https://github.com/n8n-io/n8n/issues/25234)) ([eeca75d](https://github.com/n8n-io/n8n/commit/eeca75d2543d99a8959ed9a20490d106d0d9859a)) +* **core:** Only show AI-provided tool call arguments in input logs ([#25280](https://github.com/n8n-io/n8n/issues/25280)) ([f45ba3f](https://github.com/n8n-io/n8n/commit/f45ba3f5210cd9901dd403b599b3ea55d21358fc)) +* **core:** Prevent SQL syntax error when filtering users with empty ids array ([#25284](https://github.com/n8n-io/n8n/issues/25284)) ([a3ff184](https://github.com/n8n-io/n8n/commit/a3ff1841af695b6773acbf91147cbca758209fc6)) +* **core:** Prevent SSO enforcement bypass via self-service settings API ([#25330](https://github.com/n8n-io/n8n/issues/25330)) ([a70b2ea](https://github.com/n8n-io/n8n/commit/a70b2ea379086da3de103bb84811e88cadf29976)) +* **core:** Skip AuthRolesService.init() for workers to prevent scope deletion ([#25245](https://github.com/n8n-io/n8n/issues/25245)) ([eaf8052](https://github.com/n8n-io/n8n/commit/eaf805215ebd4722e9d4e1fa52a0b407c63fd005)) +* **core:** Stop showing setup on first load in demo mode ([#25226](https://github.com/n8n-io/n8n/issues/25226)) ([ce1c787](https://github.com/n8n-io/n8n/commit/ce1c787d1194efc69af2c17ffe9f289e074120bb)) +* **core:** Syslog message id RFC5424 compliance ([#25321](https://github.com/n8n-io/n8n/issues/25321)) ([ef5fb0d](https://github.com/n8n-io/n8n/commit/ef5fb0d9f5409bbabe29a82499c5a2d326cb18fa)) +* **core:** Update computeIsPending logic to account for external auth identities ([#24926](https://github.com/n8n-io/n8n/issues/24926)) ([76b73e1](https://github.com/n8n-io/n8n/commit/76b73e17a903252911b6933ad78c9ff01745f255)) +* **core:** Wrong pagination argument order for sqlite in copyTables helper ([#25301](https://github.com/n8n-io/n8n/issues/25301)) ([f6db13a](https://github.com/n8n-io/n8n/commit/f6db13a858941dc27cfcdf9e3816083fad9a7e8f)) +* **Data Table Node:** Fallback to workflow-derived projectId if undefined ([#25320](https://github.com/n8n-io/n8n/issues/25320)) ([1fd3201](https://github.com/n8n-io/n8n/commit/1fd320160d6491b8c780c2e49e0d128a86a99423)) +* **editor:** Add checksum validation when archive/unpublish workflow from canvas ([#25302](https://github.com/n8n-io/n8n/issues/25302)) ([8cdd9bd](https://github.com/n8n-io/n8n/commit/8cdd9bd9fe8093112dd0b5c1c4069dcc1aa0d334)) +* **editor:** Allow AI Builder to work when privacy toggle is OFF ([#25387](https://github.com/n8n-io/n8n/issues/25387)) ([0912de4](https://github.com/n8n-io/n8n/commit/0912de4a650e88ca8ae8ea6994ca7c18637be883)) +* **editor:** Clean up collaboration state when leaving workflow ([#25450](https://github.com/n8n-io/n8n/issues/25450)) ([e1e5e3e](https://github.com/n8n-io/n8n/commit/e1e5e3efe9d16811e74d7acd6a321a473c58271d)) +* **editor:** Ensure personal project is used when a user is picked in workflow filter ([#25077](https://github.com/n8n-io/n8n/issues/25077)) ([5e7983f](https://github.com/n8n-io/n8n/commit/5e7983f08d094b7d33cdad491495e52a2ff2f391)) +* **editor:** Fix node suggestion in node creator to always be request node ([#25216](https://github.com/n8n-io/n8n/issues/25216)) ([fd818b1](https://github.com/n8n-io/n8n/commit/fd818b157032e82110d84176773b8287a891ffb6)) +* **editor:** Fix ParameterInput formatting breaking existing newlines ([#25213](https://github.com/n8n-io/n8n/issues/25213)) ([143a1dd](https://github.com/n8n-io/n8n/commit/143a1dd67f8ef19412a5d7f4f6a4ca3922e2361a)) +* **editor:** Fixes after N8nInput refactoring ([#25375](https://github.com/n8n-io/n8n/issues/25375)) ([b0a4467](https://github.com/n8n-io/n8n/commit/b0a44674d29960c605a61902e92d0f96c0d5dd9d)) +* **editor:** Gate dynamic credentials UI behind license check ([#25464](https://github.com/n8n-io/n8n/issues/25464)) ([ed099ad](https://github.com/n8n-io/n8n/commit/ed099ad9f95fc4976f7ebd5888b5000ebb8ef78b)) +* **editor:** Return actual node name from rename operation ([#25217](https://github.com/n8n-io/n8n/issues/25217)) ([0eaf6d1](https://github.com/n8n-io/n8n/commit/0eaf6d1c980aa1b8dda6bbefb296a83ed8b7e898)) +* **editor:** Show a confirmation dialog when clicking upgrade and builder is working ([#25540](https://github.com/n8n-io/n8n/issues/25540)) ([500d0a2](https://github.com/n8n-io/n8n/commit/500d0a226e6e77dd7c8e9741b56f86263a24e66f)) +* **editor:** Show a helpful empty state in AI builder for existing workflows ([#25523](https://github.com/n8n-io/n8n/issues/25523)) ([e79b5f3](https://github.com/n8n-io/n8n/commit/e79b5f316863fb888f1d86e3e059b3ba297a2afe)) +* **editor:** Sidebar labels are not visible ([#25186](https://github.com/n8n-io/n8n/issues/25186)) ([cfd59cc](https://github.com/n8n-io/n8n/commit/cfd59cc55b998fe7921a2d11ba495e0410ad4aeb)) +* **editor:** Skip welcome screen when agent is pre-selected ([#25374](https://github.com/n8n-io/n8n/issues/25374)) ([2d02bb4](https://github.com/n8n-io/n8n/commit/2d02bb4e63711bf22b89251dde613b67e6dc8fa4)) +* **editor:** Truncate long version names in workflow history ([#25371](https://github.com/n8n-io/n8n/issues/25371)) ([724d3cf](https://github.com/n8n-io/n8n/commit/724d3cf857df3966942d011c49cd693f1c5d6524)) +* **editor:** Unidirectional data flow for role change with loader ([#25438](https://github.com/n8n-io/n8n/issues/25438)) ([c780955](https://github.com/n8n-io/n8n/commit/c780955891c6d62b65617b701e18b2c44965ea64)) +* **editor:** Use new dropdown component in resource mapper ([#25204](https://github.com/n8n-io/n8n/issues/25204)) ([4b81864](https://github.com/n8n-io/n8n/commit/4b81864962b3ed596e1b80fdee64cec32a05e6c9)) +* Fix issue with MCP DCR always trying to use base url and not keeping the path ([#25174](https://github.com/n8n-io/n8n/issues/25174)) ([381c6f9](https://github.com/n8n-io/n8n/commit/381c6f91a3f8755d5b22926ee6e62258604b5697)) +* Fix status overwrite for donePromise ([#24897](https://github.com/n8n-io/n8n/issues/24897)) ([2bba053](https://github.com/n8n-io/n8n/commit/2bba053d09e310b142c684a406daa110a5ce3666)) +* **Form Node:** Render `\n` properly in the Form Ending page ([#24988](https://github.com/n8n-io/n8n/issues/24988)) ([ac832e6](https://github.com/n8n-io/n8n/commit/ac832e6530a396e3e32ad7bf8290a2e5f1754745)) +* **Mistral Cloud Chat Model Node:** Handle Request objects in proxyFetch ([#25516](https://github.com/n8n-io/n8n/issues/25516)) ([4d52733](https://github.com/n8n-io/n8n/commit/4d52733ce8a5d18b14b9028239934dde0840a90e)) +* **Postgres Node:** Enable non-numeric comparisons for WHERE clause operators ([#18544](https://github.com/n8n-io/n8n/issues/18544)) ([7d51406](https://github.com/n8n-io/n8n/commit/7d51406656327db65e4862fc1c63b824b4004243)) +* Refine webhook conflict checks to ignore waiting webhooks ([#25395](https://github.com/n8n-io/n8n/issues/25395)) ([279dbd0](https://github.com/n8n-io/n8n/commit/279dbd06a78cbbe0f9113b081ddf2ac6844b659f)) +* Renames and clarifies test metric options ([#25135](https://github.com/n8n-io/n8n/issues/25135)) ([7a34974](https://github.com/n8n-io/n8n/commit/7a349742d2e61fac2b1221ed5e880bd700cb8c4b)) +* **Typeform Node:** Refactor signature validation ([#24987](https://github.com/n8n-io/n8n/issues/24987)) ([91ec8dc](https://github.com/n8n-io/n8n/commit/91ec8dcda029ea3f7add35f2d612b9c84278d052)) +* Update anonymous telemetry to remove values that are not needed ([#25040](https://github.com/n8n-io/n8n/issues/25040)) ([d85b688](https://github.com/n8n-io/n8n/commit/d85b6888f0ca39ef27f6d693af8a0029e0443672)) +* Validate workflows when publishing from workflow history ([#25195](https://github.com/n8n-io/n8n/issues/25195)) ([0354b9b](https://github.com/n8n-io/n8n/commit/0354b9b555f724a933805e749e18e107a2e3fe8c)) +* **Webflow Node:** Fix issue with credential test not working with the v2 api ([#25052](https://github.com/n8n-io/n8n/issues/25052)) ([41195fb](https://github.com/n8n-io/n8n/commit/41195fb737b2bd1b35f40855735725c7c5c43ad4)) + + +### Features + +* Add credentials list endpoint + new scopes ([#25309](https://github.com/n8n-io/n8n/issues/25309)) ([5e573bf](https://github.com/n8n-io/n8n/commit/5e573bfa304502c84df9236207f86bca24810cf5)) +* Add endpoint to create Quick Connect credentials from the backend ([#25398](https://github.com/n8n-io/n8n/issues/25398)) ([01b16af](https://github.com/n8n-io/n8n/commit/01b16af1bf9ae2480487563a97244f62c414cd82)) +* Add initial interfaces to ai-node-sdk ([#25248](https://github.com/n8n-io/n8n/issues/25248)) ([c6d6218](https://github.com/n8n-io/n8n/commit/c6d62182bde4e06dc27679a4198cfe0e1ede3106)) +* Add new scope for workflow:unpublish, assignable to personal projects and regular project roles ([#25228](https://github.com/n8n-io/n8n/issues/25228)) ([4eb0079](https://github.com/n8n-io/n8n/commit/4eb0079f46fcdeaca98bf2dc675b60e0fc69a481)) +* Add projects to credentials list response ([#25384](https://github.com/n8n-io/n8n/issues/25384)) ([fb3fe5f](https://github.com/n8n-io/n8n/commit/fb3fe5fb3518ff7a46ef2e964f31487a68f4e51b)) +* **ai-builder:** Add Workflow Context Tools for On-Demand Data Fetching ([#25070](https://github.com/n8n-io/n8n/issues/25070)) ([6b27a39](https://github.com/n8n-io/n8n/commit/6b27a396970b0f5bf15ceb8d3417fc1318b4250f)) +* **ai-builder:** Adding node parameter (required and options) programmatic validations to WFB ([#25101](https://github.com/n8n-io/n8n/issues/25101)) ([21e4364](https://github.com/n8n-io/n8n/commit/21e43649204b0565f96e9be9b0e7b320620521a8)) +* **ai-builder:** Planning mode ([#25498](https://github.com/n8n-io/n8n/issues/25498)) ([794a8d6](https://github.com/n8n-io/n8n/commit/794a8d6af43de5286ee5c23b960371100145ee85)) +* **core:** Add `workflow-version-updated` event to log streaming ([#25429](https://github.com/n8n-io/n8n/issues/25429)) ([50b8764](https://github.com/n8n-io/n8n/commit/50b8764cb928d6246727fb39c4275161046e857d)) +* **core:** Add data tables to env features ([#23828](https://github.com/n8n-io/n8n/issues/23828)) ([0d842c5](https://github.com/n8n-io/n8n/commit/0d842c5da585f65d677a04d07aa9740860fc1dda)) +* **core:** Add drain timeout for runners ([#24290](https://github.com/n8n-io/n8n/issues/24290)) ([483c821](https://github.com/n8n-io/n8n/commit/483c8210eef64df0a6bf96d54d3445913698780a)) +* **core:** Add localstack for testing aws external secret provider ([#25183](https://github.com/n8n-io/n8n/issues/25183)) ([c09a6ed](https://github.com/n8n-io/n8n/commit/c09a6ed2e4b76e284e64a028921ad6c801dacd12)) +* **core:** Add log streaming for personal publishing restriction changes ([#25253](https://github.com/n8n-io/n8n/issues/25253)) ([a7e2dcf](https://github.com/n8n-io/n8n/commit/a7e2dcf1fe7ce8a12e013c30755589de89aae2a0)) +* **core:** Add MCP queue mode and multi-main support ([#25147](https://github.com/n8n-io/n8n/issues/25147)) ([50e1f66](https://github.com/n8n-io/n8n/commit/50e1f66c8f52dfc50fd0a63f310c6782c61ddc77)) +* **core:** Add memory abstractions to AI utilities SDK ([#25392](https://github.com/n8n-io/n8n/issues/25392)) ([fe56b6a](https://github.com/n8n-io/n8n/commit/fe56b6a66032db6e6abfd9b892429e771af87fda)) +* **core:** Add secrets completions API endpoints for global and project scopes ([#25205](https://github.com/n8n-io/n8n/issues/25205)) ([b351d8d](https://github.com/n8n-io/n8n/commit/b351d8dd1e49036cb97d4755e9f4e3c6ab0877b9)) +* **core:** Add tracing to workflow indexing ([#25437](https://github.com/n8n-io/n8n/issues/25437)) ([474d9b7](https://github.com/n8n-io/n8n/commit/474d9b7e2f12519e3bd3be71b37cc36a8a1905a5)) +* **core:** Add workflowExecuteResume lifecycle hook ([#25240](https://github.com/n8n-io/n8n/issues/25240)) ([ef22db2](https://github.com/n8n-io/n8n/commit/ef22db2c620221874bbc27c0ee757af61e588fa1)) +* **core:** Editing document in ChatHub ([#25211](https://github.com/n8n-io/n8n/issues/25211)) ([8354e39](https://github.com/n8n-io/n8n/commit/8354e39b6871a035e41e7f652b335db8c98d6e88)) +* **core:** Enable workflow dependency indexing by default ([#25431](https://github.com/n8n-io/n8n/issues/25431)) ([526a896](https://github.com/n8n-io/n8n/commit/526a8965652c6eb50fdee5feaf0b17844d650dfb)) +* **core:** Handle resuming executions on Chat hub ([#25296](https://github.com/n8n-io/n8n/issues/25296)) ([813885f](https://github.com/n8n-io/n8n/commit/813885fbd15dd09006c1172faa3f7ac15e08595e)) +* **core:** Redact/Unredact settings on GET / PATCH of secret providers ([#25366](https://github.com/n8n-io/n8n/issues/25366)) ([aa41df6](https://github.com/n8n-io/n8n/commit/aa41df63f82d4c9eaaa6b06628f782821fb5efcf)) +* **core:** Support disabling sharing from personal space ([#25259](https://github.com/n8n-io/n8n/issues/25259)) ([112d0eb](https://github.com/n8n-io/n8n/commit/112d0eb6b3a6aabbf6d6a4ef20c4651e4b3ab6dc)) +* **core:** Test connection & refresh secrets ([#25294](https://github.com/n8n-io/n8n/issues/25294)) ([3842dad](https://github.com/n8n-io/n8n/commit/3842dadf105752d101fbe551f5cbada685ce2693)) +* **Currents Node:** Align with API array params ([#25257](https://github.com/n8n-io/n8n/issues/25257)) ([6d2e489](https://github.com/n8n-io/n8n/commit/6d2e489e54d1d463dcd40e8b9c46fcd36c09f5e1)) +* Disallow usage of unsupported protocols in oauth fields ([#25170](https://github.com/n8n-io/n8n/issues/25170)) ([e1a1e87](https://github.com/n8n-io/n8n/commit/e1a1e8700171c1e9bcb853be21be2e2c245118ea)) +* **editor:** Add `Name version` action to workflow history ([#25316](https://github.com/n8n-io/n8n/issues/25316)) ([5ba7b6d](https://github.com/n8n-io/n8n/commit/5ba7b6d9ed9e8c3933cd3ce500df87c4dd71314d)) +* **editor:** Add external secrets section to project settings ([#25453](https://github.com/n8n-io/n8n/issues/25453)) ([e0c9ab2](https://github.com/n8n-io/n8n/commit/e0c9ab2463a6129a30b57964475bc60f255153b1)) +* **editor:** Add redesigned Switch component ([#24934](https://github.com/n8n-io/n8n/issues/24934)) ([20901b6](https://github.com/n8n-io/n8n/commit/20901b6c7065935c5be5542716fd7ecbd5fcbdad)) +* **editor:** Add text search to IconPicker ([#25357](https://github.com/n8n-io/n8n/issues/25357)) ([50482f9](https://github.com/n8n-io/n8n/commit/50482f9f2fbea15d7855109b03f52d4f0d75685a)) +* **editor:** Auto-focus chat input when typing ([#25317](https://github.com/n8n-io/n8n/issues/25317)) ([297cc57](https://github.com/n8n-io/n8n/commit/297cc57be5110bb6b764690ae8c1d4ad3c29399d)) +* **editor:** Boost Claude Opus 4.6 priority in chat hub model selector ([#25434](https://github.com/n8n-io/n8n/issues/25434)) ([38b267b](https://github.com/n8n-io/n8n/commit/38b267baeda508ea325ca0c840559280a186c5c7)) +* **editor:** Extend secrets provider connection modal with project s… ([#25295](https://github.com/n8n-io/n8n/issues/25295)) ([490dc26](https://github.com/n8n-io/n8n/commit/490dc2625762a0cbcecc8e91a627412e61ac8567)) +* **editor:** Improve sticky note behavior during node insertion ([#25207](https://github.com/n8n-io/n8n/issues/25207)) ([be370e0](https://github.com/n8n-io/n8n/commit/be370e096bc159151fcde73b862159ef0980e61b)) +* **editor:** Preview not installed community tools ([#24859](https://github.com/n8n-io/n8n/issues/24859)) ([b262d95](https://github.com/n8n-io/n8n/commit/b262d95b8377dbf4eff3fab96a6d56597e437165)) +* **editor:** Refine permission checks in Secrets Provider Connection… ([#25389](https://github.com/n8n-io/n8n/issues/25389)) ([fe5b979](https://github.com/n8n-io/n8n/commit/fe5b97916fc984e78e95d38bc06df440c06283ce)) +* **editor:** Support Chat node's 'Send and Wait for Response' mode approval buttons on Chat hub ([#25338](https://github.com/n8n-io/n8n/issues/25338)) ([78fe198](https://github.com/n8n-io/n8n/commit/78fe19807be39273cbe773c43d133ce3c70742dc)) +* Implement quick connect module and configuration provider ([#25231](https://github.com/n8n-io/n8n/issues/25231)) ([1e1e459](https://github.com/n8n-io/n8n/commit/1e1e459784fa70e9e2104644ae2e940b5794afa2)) +* **Kafka Trigger Node:** Refactoring and fixes ([#25088](https://github.com/n8n-io/n8n/issues/25088)) ([ee1cc7f](https://github.com/n8n-io/n8n/commit/ee1cc7fc2044c27ba86fe691c7c760e38587c4ee)) +* **Motorhead Node:** Hide deprecated Motorhead memory node from UI ([#25536](https://github.com/n8n-io/n8n/issues/25536)) ([8ac4ff3](https://github.com/n8n-io/n8n/commit/8ac4ff3849b8666607c95ee32cf736434903b203)) +* Move utils to @n8n/ai-utilities, add openai handler ([#25362](https://github.com/n8n-io/n8n/issues/25362)) ([f2926d6](https://github.com/n8n-io/n8n/commit/f2926d63e69c2f7bcd4b99bc3f526cf5122ccdfa)) +* Project users public endpoint ([#25189](https://github.com/n8n-io/n8n/issues/25189)) ([a5f84ec](https://github.com/n8n-io/n8n/commit/a5f84ec040692a8fb65d83976fc6407778dc34ff)) +* Quick connect banner for community nodes in node search view ([#25447](https://github.com/n8n-io/n8n/issues/25447)) ([5b02673](https://github.com/n8n-io/n8n/commit/5b02673907bafab19913d4d09b6fab3e9176b654)) +* Selectively skip auth only for dynamic creds ([#25184](https://github.com/n8n-io/n8n/issues/25184)) ([7108ef4](https://github.com/n8n-io/n8n/commit/7108ef45fad8e1b131767a80237ff6b212c4fade)) +* Update log streaming to unwrap nested proxy ([#25159](https://github.com/n8n-io/n8n/issues/25159)) ([f516d94](https://github.com/n8n-io/n8n/commit/f516d9495ba5222b82f32f4afdbeb9c3acc927f1)) + + +### Performance Improvements + +* **core:** Check if row exists instead of querying it entirely ([#25223](https://github.com/n8n-io/n8n/issues/25223)) ([103468a](https://github.com/n8n-io/n8n/commit/103468af059385047926da7faeb1c55d75f74184)) +* **core:** Lazyload tracing ([#25206](https://github.com/n8n-io/n8n/issues/25206)) ([9264467](https://github.com/n8n-io/n8n/commit/92644675ae52e208ca030e300b6cd3a0a9b7018b)) +* **core:** Make event loop block detection configurable ([#25291](https://github.com/n8n-io/n8n/issues/25291)) ([5446098](https://github.com/n8n-io/n8n/commit/5446098653e394de42d20a70972529d8aca62c93)) +* **core:** Optimize access for webhooks and workflows ([#25149](https://github.com/n8n-io/n8n/issues/25149)) ([c9b661f](https://github.com/n8n-io/n8n/commit/c9b661fecfdbb691a415fb3eedd35545a6949755)) +* **core:** Optimize credentials access ([#25150](https://github.com/n8n-io/n8n/issues/25150)) ([8057b72](https://github.com/n8n-io/n8n/commit/8057b725dc4f77106123197b4191343a56309434)) +* **core:** Remove more JOINs from workflow queries ([#25182](https://github.com/n8n-io/n8n/issues/25182)) ([1a2b1cf](https://github.com/n8n-io/n8n/commit/1a2b1cfa73d928dcbb214dde9acc04ce554c7aed)) +* **core:** Remove redundant webhook cache rebuild on activation ([#25220](https://github.com/n8n-io/n8n/issues/25220)) ([3cd1748](https://github.com/n8n-io/n8n/commit/3cd17485fe8e1746621fcf5d1b44ff11c286a384)) +* **core:** Skip `workflow_history` JOIN for activate, deactivate, and update ([#25185](https://github.com/n8n-io/n8n/issues/25185)) ([5209c52](https://github.com/n8n-io/n8n/commit/5209c52e830ae1f283a45a86a699a96f76d93a3e)) +* **core:** Skip serialization for push messages with no recipients ([#25308](https://github.com/n8n-io/n8n/issues/25308)) ([f4de430](https://github.com/n8n-io/n8n/commit/f4de4300a28b090cc56adfaa8af1eba6b10af0eb)) +* **core:** Use Map for O(n) execution deduplication ([#25210](https://github.com/n8n-io/n8n/issues/25210)) ([1694969](https://github.com/n8n-io/n8n/commit/16949696095ef4583f97f3c46d2625affa3cc5ac)) + + + # [2.7.0](https://github.com/n8n-io/n8n/compare/n8n@2.6.0...n8n@2.7.0) (2026-02-02) diff --git a/package.json b/package.json index ca45e67b639..67a197e547d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-monorepo", - "version": "2.7.0", + "version": "2.8.0", "private": true, "engines": { "node": ">=22.16", diff --git a/packages/@n8n/ai-utilities/package.json b/packages/@n8n/ai-utilities/package.json index 1789199b982..0b7ee524499 100644 --- a/packages/@n8n/ai-utilities/package.json +++ b/packages/@n8n/ai-utilities/package.json @@ -1,51 +1,51 @@ { - "name": "@n8n/ai-utilities", - "version": "0.1.0", - "description": "Utilities for building AI nodes in n8n", - "main": "dist/index.js", - "module": "src/index.ts", - "types": "dist/index.d.ts", - "scripts": { - "example:run": "tsx examples/run.ts", - "clean": "rimraf dist .turbo", - "dev": "pnpm run watch", - "typecheck": "tsc --noEmit", - "copy-tokenizer-json": "node scripts/copy-tokenizer-json.js .", - "build": "tsc --build tsconfig.build.json && tsc-alias -p tsconfig.build.json && pnpm copy-tokenizer-json", - "format": "biome format --write .", - "format:check": "biome ci .", - "lint": "eslint . --quiet", - "lint:fix": "eslint . --fix", - "watch": "tsc-watch -p tsconfig.build.json", - "test": "jest", - "test:unit": "jest", - "test:dev": "jest --watch" - }, - "files": [ - "dist" - ], - "devDependencies": { - "@types/json-schema": "^7.0.15", - "jest-mock-extended": "^3.0.4", - "@types/mime-types": "catalog:", - "tsx": "catalog:" - }, - "dependencies": { - "zod": "catalog:", - "zod-to-json-schema": "catalog:", - "@langchain/core": "catalog:", - "@langchain/classic": "1.0.5", - "@langchain/community": "catalog:", - "@langchain/textsplitters": "1.0.1", - "@langchain/openai": "catalog:", - "langchain": "catalog:", - "@n8n/config": "workspace:*", - "@n8n/typescript-config": "workspace:*", - "n8n-workflow": "workspace:*", - "tmp-promise": "3.0.3", - "js-tiktoken": "catalog:", - "https-proxy-agent": "catalog:", - "proxy-from-env": "^1.1.0", - "undici": "^6.21.0" - } + "name": "@n8n/ai-utilities", + "version": "0.2.0", + "description": "Utilities for building AI nodes in n8n", + "main": "dist/index.js", + "module": "src/index.ts", + "types": "dist/index.d.ts", + "scripts": { + "example:run": "tsx examples/run.ts", + "clean": "rimraf dist .turbo", + "dev": "pnpm run watch", + "typecheck": "tsc --noEmit", + "copy-tokenizer-json": "node scripts/copy-tokenizer-json.js .", + "build": "tsc --build tsconfig.build.json && tsc-alias -p tsconfig.build.json && pnpm copy-tokenizer-json", + "format": "biome format --write .", + "format:check": "biome ci .", + "lint": "eslint . --quiet", + "lint:fix": "eslint . --fix", + "watch": "tsc-watch -p tsconfig.build.json", + "test": "jest", + "test:unit": "jest", + "test:dev": "jest --watch" + }, + "files": [ + "dist" + ], + "devDependencies": { + "@types/json-schema": "^7.0.15", + "jest-mock-extended": "^3.0.4", + "@types/mime-types": "catalog:", + "tsx": "catalog:" + }, + "dependencies": { + "zod": "catalog:", + "zod-to-json-schema": "catalog:", + "@langchain/core": "catalog:", + "@langchain/classic": "1.0.5", + "@langchain/community": "catalog:", + "@langchain/textsplitters": "1.0.1", + "@langchain/openai": "catalog:", + "langchain": "catalog:", + "@n8n/config": "workspace:*", + "@n8n/typescript-config": "workspace:*", + "n8n-workflow": "workspace:*", + "tmp-promise": "3.0.3", + "js-tiktoken": "catalog:", + "https-proxy-agent": "catalog:", + "proxy-from-env": "^1.1.0", + "undici": "^6.21.0" + } } diff --git a/packages/@n8n/ai-workflow-builder.ee/package.json b/packages/@n8n/ai-workflow-builder.ee/package.json index e582fad0ff4..efc753dbcd5 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.7.0", + "version": "1.8.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 b6b93a0bb2b..8f83584e40f 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.7.0", + "version": "1.8.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 3e4f66d421b..6b29421ba0d 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.7.0", + "version": "1.8.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 eb3e9672d18..0b7aed625f7 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.7.0", + "version": "1.8.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 1018dac7096..ee3ae7d5278 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.0.0", + "version": "1.1.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/config/package.json b/packages/@n8n/config/package.json index 0305200fd18..4e9f9a64221 100644 --- a/packages/@n8n/config/package.json +++ b/packages/@n8n/config/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/config", - "version": "2.6.0", + "version": "2.7.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/constants/package.json b/packages/@n8n/constants/package.json index 5598a073899..ae0a4e93c05 100644 --- a/packages/@n8n/constants/package.json +++ b/packages/@n8n/constants/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/constants", - "version": "0.17.0", + "version": "0.18.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/db/package.json b/packages/@n8n/db/package.json index 9e71fa00559..96362c18689 100644 --- a/packages/@n8n/db/package.json +++ b/packages/@n8n/db/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/db", - "version": "1.7.0", + "version": "1.8.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/decorators/package.json b/packages/@n8n/decorators/package.json index b8e21624de6..cd8fb04af32 100644 --- a/packages/@n8n/decorators/package.json +++ b/packages/@n8n/decorators/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/decorators", - "version": "1.7.0", + "version": "1.8.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/nodes-langchain/package.json b/packages/@n8n/nodes-langchain/package.json index f0e68a34cf2..b1965f923c1 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.7.0", + "version": "2.8.0", "description": "", "main": "index.js", "exports": { @@ -17,7 +17,9 @@ }, "typesVersions": { "*": { - "mcp/core": ["./dist/nodes/mcp/McpTrigger/index.d.ts"] + "mcp/core": [ + "./dist/nodes/mcp/McpTrigger/index.d.ts" + ] } }, "scripts": { diff --git a/packages/@n8n/permissions/package.json b/packages/@n8n/permissions/package.json index 4ff3bc9ab1b..31936061067 100644 --- a/packages/@n8n/permissions/package.json +++ b/packages/@n8n/permissions/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/permissions", - "version": "0.48.0", + "version": "0.49.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/syslog-client/package.json b/packages/@n8n/syslog-client/package.json index 67f8e04c924..aee306625b0 100644 --- a/packages/@n8n/syslog-client/package.json +++ b/packages/@n8n/syslog-client/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/syslog-client", - "version": "1.1.0", + "version": "1.2.0", "scripts": { "clean": "rimraf dist .turbo", "dev": "pnpm watch", diff --git a/packages/@n8n/task-runner/package.json b/packages/@n8n/task-runner/package.json index b902d17b596..5c6ed1e47aa 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.7.0", + "version": "2.8.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 a9a3513bdc5..4067cb72004 100644 --- a/packages/@n8n/utils/package.json +++ b/packages/@n8n/utils/package.json @@ -1,7 +1,7 @@ { "name": "@n8n/utils", "type": "module", - "version": "1.23.0", + "version": "1.24.0", "files": [ "dist" ], diff --git a/packages/cli/package.json b/packages/cli/package.json index 02378ecdd11..67642fa8ddd 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "n8n", - "version": "2.7.0", + "version": "2.8.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 95f2f7fde59..2ddea6f9832 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "n8n-core", - "version": "2.7.0", + "version": "2.8.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 442d6cb4636..02e14572697 100644 --- a/packages/frontend/@n8n/chat/package.json +++ b/packages/frontend/@n8n/chat/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/chat", - "version": "1.7.0", + "version": "1.8.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/design-system/package.json b/packages/frontend/@n8n/design-system/package.json index 05e8d2c2300..5189cd12867 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.7.0", + "version": "2.8.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 1f97940edf1..77a6d377922 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.7.0", + "version": "2.8.0", "files": [ "dist" ], diff --git a/packages/frontend/@n8n/rest-api-client/package.json b/packages/frontend/@n8n/rest-api-client/package.json index 120fbd58a33..7fad847ec06 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.7.0", + "version": "2.8.0", "files": [ "dist" ], diff --git a/packages/frontend/@n8n/stores/package.json b/packages/frontend/@n8n/stores/package.json index 9981c7f5cd1..d4a524f4066 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.7.0", + "version": "2.8.0", "files": [ "dist" ], diff --git a/packages/frontend/editor-ui/package.json b/packages/frontend/editor-ui/package.json index cc857f03d7a..f13e0b34087 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.7.0", + "version": "2.8.0", "description": "Workflow Editor UI for n8n", "main": "index.js", "type": "module", diff --git a/packages/node-dev/package.json b/packages/node-dev/package.json index 5436e6604b7..2281988f096 100644 --- a/packages/node-dev/package.json +++ b/packages/node-dev/package.json @@ -1,6 +1,6 @@ { "name": "n8n-node-dev", - "version": "2.7.0", + "version": "2.8.0", "description": "CLI to simplify n8n credentials/node development", "main": "dist/src/index", "types": "dist/src/index.d.ts", diff --git a/packages/nodes-base/package.json b/packages/nodes-base/package.json index 2d3d8f0e829..ef5af37aae7 100644 --- a/packages/nodes-base/package.json +++ b/packages/nodes-base/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-base", - "version": "2.7.0", + "version": "2.8.0", "description": "Base nodes of n8n", "main": "index.js", "scripts": { diff --git a/packages/workflow/package.json b/packages/workflow/package.json index b08f8369d18..6806daca8c2 100644 --- a/packages/workflow/package.json +++ b/packages/workflow/package.json @@ -1,6 +1,6 @@ { "name": "n8n-workflow", - "version": "2.7.0", + "version": "2.8.0", "description": "Workflow base code of n8n", "types": "dist/esm/index.d.ts", "module": "dist/esm/index.js",