Skip to content

fix: Additional keys in routing nodes#28758

Merged
michael-radency merged 4 commits into
masterfrom
node-4324-fix-additional-keys-in-routing-nodes
Apr 21, 2026
Merged

fix: Additional keys in routing nodes#28758
michael-radency merged 4 commits into
masterfrom
node-4324-fix-additional-keys-in-routing-nodes

Conversation

@michael-radency
Copy link
Copy Markdown
Contributor

Summary

Fixes missing additional keys in routing nodes

Related Linear tickets, Github issues, and Community forum posts

Review / Merge checklist

  • I have seen this code, I have run this code, and I take responsibility for this code.
  • PR title and summary are descriptive. (conventions)
  • Docs updated or follow-up ticket created.
  • Tests included.
  • PR Labeled with Backport to Beta, Backport to Stable, or Backport to v1 (if the PR is an urgent fix that needs to be backported)

@michael-radency michael-radency added core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team labels Apr 21, 2026
@michael-radency michael-radency requested a review from elsmr April 21, 2026 07:11
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@michael-radency michael-radency requested a review from mfsiega April 21, 2026 07:11
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Architecture diagram
sequenceDiagram
    participant Engine as Workflow Execution Engine
    participant RN as RoutingNode (Declarative REST)
    participant Utils as Context Utils
    participant Eval as Expression Evaluator
    participant API as External Service API

    Note over Engine, API: Node Execution Flow (Declarative REST API)

    Engine->>RN: execute()
    
    RN->>Utils: NEW: getAdditionalKeys(additionalData, mode, runExecutionData)
    Note right of Utils: Retrieves $execution.id, $workflow, etc.
    Utils-->>RN: additionalKeys context

    rect rgb(240, 240, 240)
        Note over RN, Eval: Request Construction Phase
        
        opt Resolve requestDefaults
            RN->>Eval: CHANGED: resolve(template, { ...additionalKeys, $credentials, $version })
            Eval-->>RN: Resolved defaults (BaseURL, Headers)
        end

        loop For each node property (parameter)
            RN->>RN: Get parameter value
            RN->>Eval: CHANGED: resolve(routing.url, { ...additionalKeys, $value, $version })
            Eval-->>RN: Resolved Request Options
            
            opt Property is "options" type
                RN->>Eval: CHANGED: resolve(option.routing, { ...additionalKeys, $value, $version })
                Eval-->>RN: Merged Request Options
            end
        end
    end

    RN->>API: Perform HTTP Request (with resolved options)
    API-->>RN: Response Data
    RN-->>Engine: Output NodeExecutionData
Loading

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 21, 2026

Performance Comparison

Comparing currentlatest master14-day baseline

Idle baseline with Instance AI module loaded

Metric Current Latest Master Baseline (avg) vs Master vs Baseline Status
instance-ai-heap-used-baseline 186.71 MB 186.52 MB 186.43 MB (σ 0.26) +0.1% +0.1% ⚠️
instance-ai-rss-baseline 344.29 MB 389.20 MB 366.52 MB (σ 22.66) -11.5% -6.1%

Memory consumption baseline with starter plan resources

Metric Current Latest Master Baseline (avg) vs Master vs Baseline Status
memory-heap-used-baseline 114.88 MB 114.41 MB 114.45 MB (σ 0.27) +0.4% +0.4% ⚠️
memory-rss-baseline 345.33 MB 278.98 MB 289.99 MB (σ 41.20) +23.8% +19.1% ⚠️

docker-stats

Metric Current Latest Master Baseline (avg) vs Master vs Baseline Status
docker-image-size-n8n 1269.76 MB 1269.76 MB 1273.60 MB (σ 10.49) +0.0% -0.3%
docker-image-size-runners 386.00 MB 386.00 MB 392.50 MB (σ 11.06) +0.0% -1.7%
How to read this table
  • Current: This PR's value (or latest master if PR perf tests haven't run)
  • Latest Master: Most recent nightly master measurement
  • Baseline: Rolling 14-day average from master
  • vs Master: PR impact (current vs latest master)
  • vs Baseline: Drift from baseline (current vs rolling avg)
  • Status: ✅ within 1σ | ⚠️ 1-2σ | 🔴 >2σ regression

Copy link
Copy Markdown
Contributor

@mfsiega mfsiega left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but I don't have much context on the code itself. Just two small questions on testing:

@michael-radency
Copy link
Copy Markdown
Contributor Author

LGTM, but I don't have much context on the code itself. Just two small questions on testing:

* Does this test fail without the code changes?

* Have you tested it manually on the [issue that was originally reported](https://linear.app/n8n/issue/NODE-4324/huge-execution-data-returned-from-n8n-node)?

@mfsiega
yes to both, manual test returns single execution not a list, tests fail without change

image

Copy link
Copy Markdown
Contributor

@mfsiega mfsiega left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@michael-radency michael-radency added this pull request to the merge queue Apr 21, 2026
Merged via the queue into master with commit 8e49800 Apr 21, 2026
50 checks passed
@michael-radency michael-radency deleted the node-4324-fix-additional-keys-in-routing-nodes branch April 21, 2026 12:39
@n8n-assistant n8n-assistant Bot mentioned this pull request Apr 28, 2026
@n8n-assistant
Copy link
Copy Markdown
Contributor

n8n-assistant Bot commented Apr 28, 2026

Got released with n8n@2.19.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team Released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants