diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c533f1f13358..89b9af0eca2c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [1.98.1](https://github.com/n8n-io/n8n/compare/n8n@1.98.0...n8n@1.98.1) (2025-06-12) + + +### Bug Fixes + +* **core:** Fix http requests by using correct agent ([#16258](https://github.com/n8n-io/n8n/issues/16258)) ([4762273](https://github.com/n8n-io/n8n/commit/4762273a2679d1fa2895b331f0fa212a1c3f1770)) + + + # [1.98.0](https://github.com/n8n-io/n8n/compare/n8n@1.97.0...n8n@1.98.0) (2025-06-11) diff --git a/package.json b/package.json index f17e6b43bcee4..c12ee7fbe47e6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-monorepo", - "version": "1.98.0", + "version": "1.98.1", "private": true, "engines": { "node": ">=22.16", diff --git a/packages/@n8n/db/package.json b/packages/@n8n/db/package.json index 403880fe184af..c10047f3905d0 100644 --- a/packages/@n8n/db/package.json +++ b/packages/@n8n/db/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/db", - "version": "0.9.0", + "version": "0.9.1", "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 71014f3d7d48d..687eaecf77055 100644 --- a/packages/@n8n/task-runner/package.json +++ b/packages/@n8n/task-runner/package.json @@ -1,6 +1,6 @@ { "name": "@n8n/task-runner", - "version": "1.34.0", + "version": "1.34.1", "scripts": { "clean": "rimraf dist .turbo", "start": "node dist/start.js", diff --git a/packages/cli/package.json b/packages/cli/package.json index 19fcaf44e4c54..ef8d7a0f0d2fc 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "n8n", - "version": "1.98.0", + "version": "1.98.1", "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 63293c5e2dacf..09dc55fde2d01 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "n8n-core", - "version": "1.97.0", + "version": "1.97.1", "description": "Core functionality of n8n", "main": "dist/index", "types": "dist/index.d.ts", diff --git a/packages/core/src/execution-engine/node-execution-context/utils/__tests__/request-helper-functions.test.ts b/packages/core/src/execution-engine/node-execution-context/utils/__tests__/request-helper-functions.test.ts index 023f5702298fb..84f393d240b20 100644 --- a/packages/core/src/execution-engine/node-execution-context/utils/__tests__/request-helper-functions.test.ts +++ b/packages/core/src/execution-engine/node-execution-context/utils/__tests__/request-helper-functions.test.ts @@ -1,6 +1,7 @@ import FormData from 'form-data'; +import { Agent as HttpAgent } from 'http'; import { HttpProxyAgent } from 'http-proxy-agent'; -import { Agent } from 'https'; +import { Agent as HttpsAgent } from 'https'; import { HttpsProxyAgent } from 'https-proxy-agent'; import { mock } from 'jest-mock-extended'; import type { @@ -322,7 +323,7 @@ describe('Request Helper Functions', () => { url: 'https://example.de/foo/bar', headers: { Host: 'other.host.com' }, }); - expect((axiosOptions.httpsAgent as Agent).options.servername).toEqual('example.de'); + expect((axiosOptions.httpsAgent as HttpsAgent).options.servername).toEqual('example.de'); }); describe('should set SSL certificates', () => { @@ -337,7 +338,7 @@ describe('Request Helper Functions', () => { test('on regular requests', async () => { const axiosOptions = await parseRequestObject(requestObject); - expect((axiosOptions.httpsAgent as Agent).options).toEqual({ + expect((axiosOptions.httpsAgent as HttpsAgent).options).toEqual({ servername: 'example.de', ...agentOptions, noDelay: true, @@ -356,7 +357,7 @@ describe('Request Helper Functions', () => { }; axiosOptions.beforeRedirect!(redirectOptions, mock()); expect(redirectOptions.agent).toEqual(redirectOptions.agents.https); - expect((redirectOptions.agent as Agent).options).toEqual({ + expect((redirectOptions.agent as HttpsAgent).options).toEqual({ servername: 'example.de', ...agentOptions, noDelay: true, @@ -876,12 +877,20 @@ describe('Request Helper Functions', () => { const proxyUrlHttps = 'http://proxy-for-https.com:8080/'; const proxyUrlHttp = 'http://proxy-for-http.com:8080/'; - test('should return a regular agent when no proxy is set', async () => { + test('should return a regular HTTP agent when no proxy is set', async () => { + const { agent, protocol } = getAgentWithProxy({ + targetUrl: baseUrlHttp, + }); + expect(protocol).toEqual('http'); + expect(agent).toBeInstanceOf(HttpAgent); + }); + + test('should return a regular HTTPS agent when no proxy is set', async () => { const { agent, protocol } = getAgentWithProxy({ targetUrl: baseUrlHttps, }); expect(protocol).toEqual('https'); - expect(agent).toBeInstanceOf(Agent); + expect(agent).toBeInstanceOf(HttpsAgent); }); test('should use a proxyConfig object', async () => { @@ -943,7 +952,7 @@ describe('Request Helper Functions', () => { targetUrl: 'https://should-not-proxy.com/foo', }); expect(protocol).toEqual('https'); - expect(agent).toBeInstanceOf(Agent); + expect(agent).toBeInstanceOf(HttpsAgent); }); }); }); diff --git a/packages/core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts b/packages/core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts index ea3e4b468fa66..961efafd0ed54 100644 --- a/packages/core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts +++ b/packages/core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts @@ -19,10 +19,9 @@ import type { AxiosError, AxiosHeaders, AxiosRequestConfig, AxiosResponse } from import axios from 'axios'; import crypto, { createHmac } from 'crypto'; import FormData from 'form-data'; -import { IncomingMessage } from 'http'; +import { IncomingMessage, Agent as HttpAgent } from 'http'; import { HttpProxyAgent } from 'http-proxy-agent'; import { type AgentOptions, Agent as HttpsAgent } from 'https'; -import { Agent as HttpAgent } from 'https'; import { HttpsProxyAgent } from 'https-proxy-agent'; import get from 'lodash/get'; import isEmpty from 'lodash/isEmpty'; diff --git a/packages/node-dev/package.json b/packages/node-dev/package.json index 7ee12e0d8c060..2d0964c3c9c0d 100644 --- a/packages/node-dev/package.json +++ b/packages/node-dev/package.json @@ -1,6 +1,6 @@ { "name": "n8n-node-dev", - "version": "1.96.0", + "version": "1.96.1", "description": "CLI to simplify n8n credentials/node development", "main": "dist/src/index", "types": "dist/src/index.d.ts",