You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release focuses on enterprise-grade operability with **42 issues resolved**, bringing major improvements to authentication, configuration management, error handling, and developer experience. Key achievements include:
14
+
15
+
-**Enhanced JWT token security** with mandatory expiration when configured
16
+
-**Improved UI/UX** with better error messages, validation, and test tool enhancements
17
+
-**Stronger input validation** across all endpoints with XSS prevention
18
+
-**Developer productivity** improvements including file-specific linting and enhanced Makefile
19
+
-**Better observability** with masked sensitive data and improved status reporting
20
+
21
+
### Added
22
+
23
+
#### **Security & Authentication**
24
+
***JWT Token Expiration Enforcement** (#425) - Made JWT token expiration mandatory when `REQUIRE_TOKEN_EXPIRATION=true`
25
+
***Masked Authentication Values** (#601, #602) - Auth credentials now properly masked in API responses for gateways
26
+
***API Docs Basic Auth Support** (#663) - Added basic authentication support for API documentation endpoints with `DOCS_BASIC_AUTH_ENABLED` flag
27
+
***Enhanced XSS Prevention** (#576) - Added validation for RPC methods to prevent XSS attacks
28
+
***SPDX License Headers** (#315, #317, #656) - Added script to verify and fix file headers with SPDX compliance
- Updated default .env examples to enable UI (#498)
112
+
113
+
### Changed
114
+
115
+
#### **Configuration & Defaults**
116
+
***UI Enabled by Default** - Updated .env.example to set `MCPGATEWAY_UI_ENABLED=true` and `MCPGATEWAY_ADMIN_API_ENABLED=true`
117
+
***Enhanced Validation** - Stricter validation rules for gateway URLs, tool names, and input parameters
118
+
***Improved Error Handling** - More descriptive and actionable error messages across all operations
119
+
120
+
#### **Performance & Reliability**
121
+
***Connection Handling** - Better retry mechanisms and timeout configurations
122
+
***Session Management** - Improved stateful session handling for Streamable HTTP
123
+
***Resource Management** - Enhanced cleanup and resource disposal
124
+
125
+
#### **Developer Workflow**
126
+
***Simplified Scripts** - Consolidated run-gunicorn scripts into single improved version
127
+
***Better Testing** - Enhanced test coverage with additional security and validation tests
128
+
***Improved Tooling** - Comprehensive linting and security scanning integration
129
+
130
+
### Security
131
+
132
+
* Mandatory JWT token expiration when configured
133
+
* Masked sensitive authentication data in API responses
134
+
* Enhanced XSS prevention in RPC methods
135
+
* Comprehensive security scanning with Snyk, DevSkim, and nodejsscan
136
+
* SPDX-compliant file headers for license compliance
137
+
138
+
### Infrastructure
139
+
140
+
* Improved Makefile with better target organization and documentation
141
+
* Enhanced Docker compose with integrated time server
142
+
* Better CI/CD with comprehensive linting and security checks
143
+
* Simplified deployment with consolidated scripts
144
+
145
+
---
146
+
147
+
### 🌟 Release Contributors
148
+
149
+
This release represents a major step forward in enterprise readiness with contributions from developers worldwide focusing on security, usability, and operational excellence.
Copy file name to clipboardExpand all lines: README.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -120,7 +120,7 @@ ContextForge MCP Gateway is a feature-rich gateway, proxy and MCP Registry that
120
120
121
121
**ContextForge MCP Gateway** is a gateway, registry, and proxy that sits in front of any [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server or REST API-exposing a unified endpoint for all your AI clients.
122
122
123
-
**⚠️ Caution**: The current release (0.4.0) is considered alpha / early beta. It is not production-ready and should only be used for local development, testing, or experimentation. Features, APIs, and behaviors are subject to change without notice. **Do not** deploy in production environments without thorough security review, validation and additional security mechanisms. Many of the features required for secure, large-scale, or multi-tenant production deployments are still on the [project roadmap](https://ibm.github.io/mcp-context-forge/architecture/roadmap/) - which is itself evolving.
123
+
**⚠️ Caution**: The current release (0.5.0) is considered alpha / early beta. It is not production-ready and should only be used for local development, testing, or experimentation. Features, APIs, and behaviors are subject to change without notice. **Do not** deploy in production environments without thorough security review, validation and additional security mechanisms. Many of the features required for secure, large-scale, or multi-tenant production deployments are still on the [project roadmap](https://ibm.github.io/mcp-context-forge/architecture/roadmap/) - which is itself evolving.
124
124
125
125
It currently supports:
126
126
@@ -386,13 +386,13 @@ docker run -d --name mcpgateway \
386
386
-e BASIC_AUTH_PASSWORD=changeme \
387
387
-e AUTH_REQUIRED=true \
388
388
-e DATABASE_URL=sqlite:///./mcp.db \
389
-
ghcr.io/ibm/mcp-context-forge:0.4.0
389
+
ghcr.io/ibm/mcp-context-forge:0.5.0
390
390
391
391
# Tail logs (Ctrl+C to quit)
392
392
docker logs -f mcpgateway
393
393
394
394
# Generating an API key
395
-
docker run --rm -it ghcr.io/ibm/mcp-context-forge:0.4.0 \
395
+
docker run --rm -it ghcr.io/ibm/mcp-context-forge:0.5.0 \
@@ -420,7 +420,7 @@ docker run -d --name mcpgateway \
420
420
-e JWT_SECRET_KEY=my-test-key \
421
421
-e BASIC_AUTH_USER=admin \
422
422
-e BASIC_AUTH_PASSWORD=changeme \
423
-
ghcr.io/ibm/mcp-context-forge:0.4.0
423
+
ghcr.io/ibm/mcp-context-forge:0.5.0
424
424
```
425
425
426
426
SQLite now lives on the host at `./data/mcp.db`.
@@ -444,7 +444,7 @@ docker run -d --name mcpgateway \
444
444
-e PORT=4444 \
445
445
-e DATABASE_URL=sqlite:////data/mcp.db \
446
446
-v $(pwd)/data:/data \
447
-
ghcr.io/ibm/mcp-context-forge:0.4.0
447
+
ghcr.io/ibm/mcp-context-forge:0.5.0
448
448
```
449
449
450
450
Using `--network=host` allows Docker to access the local network, allowing you to add MCP servers running on your host. See [Docker Host network driver documentation](https://docs.docker.com/engine/network/drivers/host/) for more details.
@@ -460,7 +460,7 @@ podman run -d --name mcpgateway \
460
460
-p 4444:4444 \
461
461
-e HOST=0.0.0.0 \
462
462
-e DATABASE_URL=sqlite:///./mcp.db \
463
-
ghcr.io/ibm/mcp-context-forge:0.4.0
463
+
ghcr.io/ibm/mcp-context-forge:0.5.0
464
464
```
465
465
466
466
#### 2 - Persist SQLite
@@ -479,7 +479,7 @@ podman run -d --name mcpgateway \
479
479
-p 4444:4444 \
480
480
-v $(pwd)/data:/data \
481
481
-e DATABASE_URL=sqlite:////data/mcp.db \
482
-
ghcr.io/ibm/mcp-context-forge:0.4.0
482
+
ghcr.io/ibm/mcp-context-forge:0.5.0
483
483
```
484
484
485
485
#### 3 - Host networking (rootless)
@@ -497,7 +497,7 @@ podman run -d --name mcpgateway \
497
497
--network=host \
498
498
-v $(pwd)/data:/data \
499
499
-e DATABASE_URL=sqlite:////data/mcp.db \
500
-
ghcr.io/ibm/mcp-context-forge:0.4.0
500
+
ghcr.io/ibm/mcp-context-forge:0.5.0
501
501
```
502
502
503
503
---
@@ -506,7 +506,7 @@ podman run -d --name mcpgateway \
***.env files** - Put all the `-e FOO=` lines into a file and replace them with `--env-file .env`. See the provided [.env.example](.env.example) for reference.
509
-
***Pinned tags** - Use an explicit version (e.g. `v0.4.0`) instead of `latest` for reproducible builds.
509
+
***Pinned tags** - Use an explicit version (e.g. `v0.5.0`) instead of `latest` for reproducible builds.
510
510
***JWT tokens** - Generate one in the running container:
Copy file name to clipboardExpand all lines: SECURITY.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
7
7
## ⚠️ Early Beta Software Notice
8
8
9
-
**Current Version: 0.4.0 (Beta)**
9
+
**Current Version: 0.5.0 (Beta)**
10
10
11
11
MCP Gateway is currently in early beta and should be treated as such until the 1.0 release. While we implement comprehensive security measures and follow best practices, important limitations exist:
0 commit comments