Skip to content

Commit 5652ace

Browse files
committed
1.9.0
1 parent 49f509e commit 5652ace

5 files changed

Lines changed: 22 additions & 6 deletions

File tree

.mcp/server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
"url": "https://github.com/ihor-sokoliuk/mcp-searxng",
88
"source": "github"
99
},
10-
"version": "1.8.0",
10+
"version": "1.9.0",
1111
"packages": [
1212
{
1313
"registryType": "npm",
1414
"identifier": "mcp-searxng",
15-
"version": "1.8.0",
15+
"version": "1.9.0",
1616
"transport": {
1717
"type": "stdio"
1818
},

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@
33
All notable changes to mcp-searxng are documented here.
44
Versions follow [Semantic Versioning](https://semver.org/).
55

6+
## [1.9.0] - 2026-07-02
7+
8+
### Added
9+
10+
- **Configurable Express `trust proxy` for HTTP mode (`MCP_HTTP_TRUST_PROXY`):** When the Streamable HTTP transport runs behind a trusted reverse proxy, set `MCP_HTTP_TRUST_PROXY` so Express resolves the real client IP from `X-Forwarded-For` before computing rate-limit keys and request logs. Accepts `true`, a trusted hop count such as `1`, or a subnet/preset such as `loopback` or `10.0.0.0/8`; unset, `false`, or `0` disables it, which stays the secure default (enabling it without a real proxy in front lets clients spoof `X-Forwarded-For`). This is distinct from the outbound `HTTP_PROXY` / `HTTPS_PROXY` settings that govern this server's own requests. (FEAT-051, [#140](https://github.com/ihor-sokoliuk/mcp-searxng/pull/140))
11+
12+
### Fixed
13+
14+
- **HTTP session recovered after a server restart:** The Streamable HTTP `sessions` map is in-memory, so a client that reused its `mcp-session-id` across a server restart got wedged — a fresh `initialize` still carried the stale header and fell through to `400 / -32000`. `initialize` is now accepted regardless of any stale session header, and unknown session IDs on non-`initialize` POSTs return `404 / -32001 "Session not found"` (matching the MCP SDK's own shape) so clients can detect a dead session and re-initialize. (BUG-010, [#139](https://github.com/ihor-sokoliuk/mcp-searxng/pull/139))
15+
16+
- **Search JSON-parse errors keep the real response preview:** A `fetch` response body is single-use, and the old path called `response.text()` in the catch after `response.json()` had already consumed it, so a JSON-parse failure always degraded to `[Could not read response text]`. The body is now read as text first and then parsed, so the error carries the actual response preview — making misconfigured or HTML-returning instances far easier to diagnose. (BUG-008, [#131](https://github.com/ihor-sokoliuk/mcp-searxng/pull/131))
17+
18+
### Security
19+
20+
- **`SEARXNG_URL` credentials redacted in errors, logs, and provenance:** Embedded userinfo (`user:pass@host`) in `SEARXNG_URL` no longer leaks into model-visible error messages, client logs, or `servedBy` provenance. A shared redaction helper is now applied at every instance-URL emission point — the aggregate failover error, the `ECONNREFUSED` nested message, request/fallback logs, error context, and `servedBy`. (BUG-007, [#136](https://github.com/ihor-sokoliuk/mcp-searxng/pull/136))
21+
622
## [1.8.0] - 2026-06-23
723

824
### Added

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mcp-searxng",
3-
"version": "1.8.0",
3+
"version": "1.9.0",
44
"mcpName": "io.github.ihor-sokoliuk/mcp-searxng",
55
"description": "MCP server for SearXNG integration",
66
"license": "MIT",

src/version.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export const packageVersion = "1.8.0";
1+
export const packageVersion = "1.9.0";

0 commit comments

Comments
 (0)