2.4.0 (2026-01-12)
Bug Fixes
- ai-builder: Call onGenerationSuccess callback in multi-agent workflow (#24086) (24af748)
- ai-builder: Reducing confusion in spec evals from double negative don't criteria (#24099) (c8391ac)
- Box Node: Fix webhook deletion bug that could delete wrong webhooks (#18155) (f7e2029)
- Bump validator dependency (#24026) (454c856)
- Bump versions for qs/langchain (#23939) (bb3d2b6)
- core: Add license check to DELETE variables endpoint (#24028) (647a684)
- core: Add license check to LDAP configuration endpoints (#24105) (588fa50)
- core: Automatically re-publish workflow with new version on pull (#23859) (14a4b74)
- core: Avoid copying execution data table on AddWorkflowVersionIdToExecutionData migration (#23901) (b4eeba8)
- core: Bug with incorrect DI in some cases - picked up by enabling linting rule (#23855) (79f529c)
- core: ChatHub: respond error details from execution (#23732) (5234921)
- core: Check if user data changed before calling save on ldap sync (#23796) (7610a50)
- core: Coerce BinaryDataConfig dbMaxFileSizeSchema to a number (#23927) (565a428)
- core: Connect to external secrets provider before testing (#24135) (c399e8e)
- core: Ensure all streaming chunks are processed before deleting ChatHub workflow (#24040) (8fa5aa0)
- core: Fix for jumpy UI when using drag/drop to fields in NDV (#23516) (4f606d7)
- core: Fix redirection of user missing MFA to personal settings (#23881) (072a1dd)
- core: Inserts into execution metadata table fail due to fk (#23759) (77cbe50)
- core: Resolve file path correctly when serving node icons from N8N_CUSTOM_EXTENSIONS (#23029) (7aa5307)
- core: Revert auto publish on pull (#24101) (5013a46)
- core: Sanitize filenames for file operations (#23988) (e0baf48)
- core: Stronger allowed path enforcement for read/write Node (#23542) (1a33fa3)
- Correctly parse curl command with encoding (#23853) (dc847e7)
- Data Table Node: Fix issue with insert and update operation (#23936) (569695d)
- editor: Fix input type switch when pasting expression (#23535) (aed05b4)
- editor: Fix typo in source control push modal message (#23971) (09ed1f6)
- editor: Hide 'Create Folder' button if not applicable (#23981) (8824bea)
- editor: Keep structured output parser error icon in correct position when running (#23930) (f98b7be)
- editor: Make AI assistant tool steps visible during streaming (#23898) (64498cd)
- editor: Make code block's copy button in ChatHub follow scroll (#24154) (6fcf2b7)
- editor: Update free AI credits model list to include gpt-5-mini (#24041) (8ca4f27)
- Escape special characters in queries (#23133) (f73fae6)
- lmChatOpenAi Node: Add validation for models requiring Responses API (#24033) (60a18a4)
- McpClientTool Node: Sanitize MCP tool arguments based on schema (#23167) (639c09f)
- Resolve expressions in custom form HTML fields for HITL nodes (#23922) (62f3019)
- Simple Memory Node: Don't allow adding simple memory node if instance in queue or multi-main mode (#24083) (e70a3f3)
- Update mime-types to fixed version (#23858) (29515c8)
Features
- Accept invitation to use new JWT for tamper proof invites (#24025) (e0f9381)
- Add feature flag for tamper proof invite links (#23920) (64c27e5)
- Add feature for clearing credentials on resolver update (#24169) (5cc55af)
- Add git commit info to workfolder push (#23903) (fa41b40)
- Add new acceptance API, make UI use correct API for tokens (#24084) (8d1e1eb)
- Add new api for generating invite links (#23929) (7b74533)
- ai-builder: Add best practices for notification technique (#24030) (b391ee1)
- ai-builder: Add best practices for triage technique (#24080) (733adb6)
- ai-builder: Add default values guide for LLM and embedding model configuration (#24098) (53cfa35)
- ai-builder: Data persistence technique best practice document (#23852) (c465a49)
- ai-builder: Prefer core nodes over code node (#23937) (4e6063c)
- Allow to set ChatHub workflow agent icon in NDV (#23562) (495841f)
- API: Update docs to mention publish action (#24003) (46c91df)
- Autosave workflows (#23036) (37aa56e)
- core: Add execution source to workflow-executed event (#24058) (ae1fb77)
- core: Add log streaming events for executions (#23372) (2f29603)
- core: Add log streaming events for external secrets provider (#23990) (d58d367)
- core: Add TLS support to Syslog client (#23304) (279d6fd)
- core: First shot in resolving the credential resolver config expressions (#23110) (def0a09)
- core: UI changes to support TLS over TCP (#23938) (42adee8)
- editor: Improve model selection dropdown in ChatHub (#23612) (9a0e154)
- editor: Overhaul (nested) collection UI (#20951) (a992a45)
- editor: Show building and done status in page title for AI builder (#23987) (4879db8)
- editor: Support hours and days in prune time within workflow history (#24108) (129be3c)
- Git Node: Add reflog action (#21105) (1c413ff)
- Mailjet Node: Add Custom Campaign and Deduplicate Campaign Additional Fields (#11715) (5076909)
- Use new generated links within the UI and emails if feature is enabled (#23962) (4793610)