Skip to content

Commit 163a96f

Browse files
authored
0 6 0 version bump (#813)
* Bump version Signed-off-by: Mihai Criveti <[email protected]> * Lint Signed-off-by: Mihai Criveti <[email protected]> * OAuth docs Signed-off-by: Mihai Criveti <[email protected]> * release notes Signed-off-by: Mihai Criveti <[email protected]> --------- Signed-off-by: Mihai Criveti <[email protected]>
1 parent 48dba63 commit 163a96f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+636
-316
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.5.0
2+
current_version = 0.6.0
33
commit = False
44
tag = False
55
sign-tags = True

.github/tools/cleanup-ghcr-versions.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ fi
9292
##############################################################################
9393
ORG="ibm"
9494
PKG="mcp-context-forge"
95-
KEEP_TAGS=( "0.1.0" "v0.1.0" "0.1.1" "v0.1.1" "0.2.0" "v0.2.0" "0.3.0" "v0.3.0" "0.4.0" "v0.4.0" "0.5.0" "v0.5.0" "latest" )
95+
KEEP_TAGS=( "0.1.0" "v0.1.0" "0.1.1" "v0.1.1" "0.2.0" "v0.2.0" "0.3.0" "v0.3.0" "0.4.0" "v0.4.0" "0.5.0" "v0.5.0" "0.6.0" "v0.6.0" "latest" )
9696
PER_PAGE=100
9797

9898
DRY_RUN=${DRY_RUN:-true} # default safe

.github/workflows/docker-release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
#
55
# This workflow re-tags a Docker image (built by a previous workflow)
66
# when a GitHub Release is published, giving it a semantic version tag
7-
# like `v0.5.0`. It assumes the CI build has already pushed an image
7+
# like `v0.6.0`. It assumes the CI build has already pushed an image
88
# tagged with the commit SHA, and that all checks on that commit passed.
99
#
1010
# ➤ Trigger: Release published (e.g. from GitHub UI or `gh release` CLI)
1111
# ➤ Assumes: Existing image tagged with the commit SHA is available
12-
# ➤ Result: Image re-tagged as `ghcr.io/OWNER/REPO:v0.5.0`
12+
# ➤ Result: Image re-tagged as `ghcr.io/OWNER/REPO:v0.6.0`
1313
#
1414
# ======================================================================
1515

@@ -25,7 +25,7 @@ on:
2525
workflow_dispatch:
2626
inputs:
2727
tag:
28-
description: 'Release tag (e.g., v0.5.0)'
28+
description: 'Release tag (e.g., v0.6.0)'
2929
required: true
3030
type: string
3131

.github/workflows/release-chart.yml.inactive

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Release Helm Chart
33
on:
44
release:
5-
types: [published] # tag repo, ex: v0.5.0 to trigger
5+
types: [published] # tag repo, ex: v0.6.0 to trigger
66
permissions:
77
contents: read
88
packages: write

CHANGELOG.md

Lines changed: 173 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,182 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
66

77
---
88

9-
## [Unreleased]
9+
## [0.6.0] - 2025-08-22 - Security, Scale & Smart Automation
10+
11+
### Overview
12+
13+
This major release focuses on **Security, Scale & Smart Automation** with **118 commits** and **50+ issues resolved**, bringing significant improvements across multiple domains:
14+
15+
- **🔌 Plugin Framework** - Comprehensive plugin system with pre/post hooks for extensible gateway capabilities
16+
- **🤖 A2A (Agent-to-Agent) Support** - Full integration for external AI agents (OpenAI, Anthropic, custom agents)
17+
- **📊 OpenTelemetry Observability** - Vendor-agnostic observability with Phoenix integration and comprehensive metrics
18+
- **🔄 Bulk Import System** - Enterprise-grade bulk tool import with 200-tool capacity and rate limiting
19+
- **🔐 Enhanced Security** - OAuth 2.0 support, improved headers, well-known URI handlers, and security validation
20+
- **⚡ Performance & Scale** - Streamable HTTP improvements, better caching, connection optimizations
21+
- **🛠️ Developer Experience** - Enhanced UI/UX, better error handling, tool annotations, mutation testing
1022

1123
### Added
1224

13-
#### **Admin UI Log Viewer** (#138)
14-
* **Real-time log monitoring** - Built-in log viewer in Admin UI with live streaming via Server-Sent Events
15-
* **Advanced filtering** - Filter by log level, entity type, time range, and full-text search
16-
* **Export capabilities** - Export filtered logs to JSON or CSV format
17-
* **In-memory buffer** - Configurable circular buffer (default 1MB) with automatic size-based eviction
18-
* **Color-coded severity** - Visual indicators for debug, info, warning, error, and critical levels
19-
* **API endpoints** - REST API for programmatic access to logs, streaming, and export
20-
* **Request tracing** - Track logs by request ID for debugging distributed operations
25+
#### **🔌 Plugin Framework & Extensibility** (#319, #313)
26+
* **Comprehensive Plugin System** - Full plugin framework with manifest-based configuration
27+
* **Pre/Post Request Hooks** - Plugin hooks for request/response interception and modification
28+
* **Tool Invocation Hooks** (#682) - `tool_pre_invoke` and `tool_post_invoke` plugin hooks
29+
* **Plugin CLI Tools** (#720) - Command-line interface for authoring and packaging plugins
30+
* **Phoenix Observability Plugin** (#727) - Built-in Phoenix integration for observability
31+
* **External Plugin Support** (#773) - Support for loading external plugins with configuration management
32+
33+
#### **🤖 A2A (Agent-to-Agent) Integration** (#298, #792)
34+
* **Multi-Agent Support** - Integration for OpenAI, Anthropic, and custom AI agents
35+
* **Agent as Tools** - A2A agents automatically exposed as tools within virtual servers
36+
* **Protocol Versioning** - A2A protocol version support for compatibility
37+
* **Authentication Support** - Flexible auth types (API key, OAuth, bearer tokens) for agents
38+
* **Metrics & Monitoring** - Comprehensive metrics collection for agent interactions
39+
* **Admin UI Integration** - Dedicated A2A management tab in admin interface
40+
41+
#### **📊 OpenTelemetry Observability** (#735)
42+
* **Vendor-Agnostic Observability** - Full OpenTelemetry instrumentation across the gateway
43+
* **Phoenix Integration** (#727) - Built-in Phoenix observability plugin for ML monitoring
44+
* **Distributed Tracing** - Request tracing across federated gateways and MCP servers
45+
* **Metrics Export** - Comprehensive metrics export to OTLP-compatible backends
46+
* **Performance Monitoring** - Detailed performance metrics for tools, resources, and agents
47+
48+
#### **🔄 Bulk Operations & Scale**
49+
* **Bulk Tool Import** (#737, #798) - Enterprise-grade bulk import with 200-tool capacity
50+
* **Rate Limiting** - Built-in rate limiting for bulk operations (10 requests/minute)
51+
* **Batch Processing** - Efficient batch processing with progress tracking
52+
* **Import Validation** - Comprehensive validation during bulk import operations
53+
* **Export Capabilities** (#186, #185) - Granular configuration export/import via UI & API
54+
55+
#### **🔐 Security Enhancements**
56+
* **OAuth 2.0 Support** (#799) - OAuth authentication support in gateway edit functionality
57+
* **Well-Known URI Handler** (#540) - Configurable handlers for security.txt, robots.txt
58+
* **Enhanced Security Headers** (#533, #344) - Additional configurable security headers for Admin UI
59+
* **Header Passthrough Security** (#685) - Improved security for HTTP header passthrough
60+
* **Bearer Token Removal Option** (#705) - Option to completely disable bearer token authentication
61+
62+
#### **💾 Admin UI Log Viewer** (#138, #364)
63+
* **Real-time Log Monitoring** - Built-in log viewer with live streaming via Server-Sent Events
64+
* **Advanced Filtering** - Filter by log level, entity type, time range, and full-text search
65+
* **Export Capabilities** - Export filtered logs to JSON or CSV format
66+
* **In-memory Buffer** - Configurable circular buffer (1MB default) with size-based eviction
67+
* **Color-coded Severity** - Visual indicators for debug, info, warning, error, critical levels
68+
* **Request Tracing** - Track logs by request ID for debugging distributed operations
69+
70+
#### **🏷️ Tagging & Metadata System** (#586)
71+
* **Comprehensive Tag Support** - Tags for tools, resources, prompts, gateways, and A2A agents
72+
* **Tag-based Filtering** - Filter and search by tags across all entities
73+
* **Tag Validation** - Input validation and editing support for tags
74+
* **Metadata Tracking** (#137) - Creator and timestamp metadata for servers, tools, resources
75+
76+
#### **🔄 MCP Protocol Enhancements**
77+
* **MCP Elicitation Support** (#708) - Implementation of MCP elicitation protocol (v2025-06-18)
78+
* **Streamable HTTP Virtual Server Support** (#320) - Full virtual server support for Streamable HTTP
79+
* **SSE Keepalive Configuration** (#690) - Configurable keepalive events for SSE transport
80+
* **Enhanced Tool Annotations** (#774) - Fixed and improved tool annotation system
81+
82+
#### **🚀 Performance & Infrastructure**
83+
* **Mutation Testing** (#280, #256) - Comprehensive mutation testing with mutmut for test quality
84+
* **Async Performance Testing** (#254) - Async code testing and performance profiling
85+
* **Database Caching Improvements** (#794) - Enhanced caching with database as cache type
86+
* **Connection Optimizations** (#787) - Improved connection handling and authentication decoding
87+
88+
### Fixed
89+
90+
#### **🐛 Critical Bug Fixes**
91+
* **Virtual Server Functionality** (#704) - Fixed virtual servers not working as advertised in v0.5.0
92+
* **Tool Invocation Errors** (#753, #696) - Fixed tool invocation returning 'Invalid method' errors
93+
* **Streamable HTTP Issues** (#728, #560) - Fixed translation feature connection and tool listing issues
94+
* **Database Migration** (#661, #478, #479) - Fixed database migration issues during doctest execution
95+
* **Resource & Prompt Loading** (#716, #393) - Fixed resources and prompts not displaying in Admin Dashboard
96+
97+
#### **🔧 Tool & Gateway Management**
98+
* **Tool Edit Screen Issues** (#715, #786) - Fixed field mismatch and MCP tool validation errors
99+
* **Duplicate Gateway Registration** (#649) - Fixed bypassing of uniqueness check for equivalent URLs
100+
* **Gateway Registration Failures** (#646) - Fixed MCP Server/Federated Gateway registration issues
101+
* **Tool Description Display** (#557) - Fixed cleanup of tool descriptions (newline removal, text truncation)
102+
103+
#### **🚦 Connection & Transport Issues**
104+
* **DNS Resolution Issues** (#744) - Fixed gateway failures with CDNs/load balancers
105+
* **Docker Container Issues** (#560) - Fixed tool listing when running inside Docker
106+
* **Connection Authentication** - Fixed auth header issues and connection reliability
107+
* **Session Management** (#518) - Fixed Redis runtime errors with multiple sessions
108+
109+
#### **🖥️ UI/UX Improvements**
110+
* **Tool Annotations Display** (#774) - Fixed annotations not working with improved specificity
111+
* **Escape Key Handler** (#802) - Added event handler for escape key functionality
112+
* **Content Validation** (#436) - Fixed content length verification when headers absent
113+
* **Resource MIME Types** (#520) - Fixed resource mime-type always storing as text/plain
114+
115+
### Changed
116+
117+
#### **🔄 Architecture & Protocol Updates**
118+
* **Wrapper Functionality** (#779, #780) - Major redesign of wrapper functionality for performance
119+
* **Integration Type Migration** (#452) - Removed "Integration Type: MCP", now supports only REST
120+
* **Transport Protocol Updates** - Enhanced Streamable HTTP support with virtual servers
121+
* **Plugin Configuration** - New plugin configuration system with enabled/disabled flags (#679)
122+
123+
#### **📊 Metrics & Monitoring Enhancements** (#368)
124+
* **Enhanced Metrics Tab UI** - Virtual servers and top 5 performance tables
125+
* **Comprehensive Metrics Collection** - Improved metrics for A2A agents, plugins, and tools
126+
* **Performance Monitoring** - Better performance tracking across all system components
127+
128+
#### **🔧 Developer Experience Improvements**
129+
* **Enhanced Error Messages** (#666, #672) - Improved error handling throughout main.py and frontend
130+
* **Better Validation** (#694) - Enhanced validation for gateway creation and all endpoints
131+
* **Documentation Updates** - Improved plugin development workflow and architecture documentation
132+
133+
#### **⚙️ Configuration & Environment**
134+
* **Plugin Configuration** - New `plugins/config.yaml` system with enable/disable flags
135+
* **A2A Configuration** - Comprehensive A2A configuration options with feature flags
136+
* **Security Configuration** - Enhanced security configuration validation and startup checks
137+
138+
### Security
139+
140+
* **OAuth 2.0 Integration** - Secure OAuth authentication flow support
141+
* **Enhanced Header Security** - Improved HTTP header passthrough with security validation
142+
* **Well-Known URI Security** - Secure implementation of security.txt and robots.txt handlers
143+
* **Plugin Security Model** - Secure plugin loading with manifest validation
144+
* **A2A Security** - Encrypted credential storage for A2A agent authentication
145+
146+
### Infrastructure & DevOps
147+
148+
* **Comprehensive Testing** - Mutation testing, fuzz testing, async performance testing
149+
* **Enhanced CI/CD** - Improved build processes with better error handling
150+
* **Plugin Development Tools** - CLI tools for plugin authoring and packaging
151+
* **Observability Integration** - Full OpenTelemetry and Phoenix integration
152+
153+
### Performance
154+
155+
* **Bulk Import Optimization** - Efficient batch processing for large-scale tool imports
156+
* **Database Caching** - Enhanced caching strategies with database-backed cache
157+
* **Connection Pool Management** - Optimized connection handling for better performance
158+
* **Async Processing** - Improved async handling throughout the system
159+
160+
---
161+
162+
### 🌟 Release Contributors
163+
164+
This release represents a major milestone in MCP Gateway's evolution toward enterprise-grade security, scale, and intelligent automation. With contributions from developers worldwide, 0.6.0 delivers groundbreaking features including a comprehensive plugin framework, A2A agent integration, and advanced observability.
165+
166+
#### 🏆 Top Contributors in 0.6.0
167+
- **Mihai Criveti** (@crivetimihai) - Release coordination, A2A architecture, plugin framework, OpenTelemetry integration, and comprehensive testing infrastructure
168+
- **Manav Gupta** (@manavg) - Transport-translation enhancements, MCP eval server, reverse proxy implementation, and protocol optimizations
169+
- **Madhav Kandukuri** (@madhav165) - Tool service refactoring, database optimizations, UI improvements, and performance enhancements
170+
- **Keval Mahajan** (@kevalmahajan) - Plugin architecture, A2A catalog implementation, authentication improvements, and security enhancements
171+
172+
#### 🎉 New Contributors
173+
Welcome to our first-time contributors who joined us in 0.6.0:
174+
175+
- **Multiple Contributors** - Multiple contributors helped with OAuth implementation, bulk import features, UI enhancements, and bug fixes across the codebase
176+
- **Community Contributors** - Various developers contributed to plugin development, testing improvements, and documentation updates
177+
178+
#### 💪 Returning Contributors
179+
Thank you to our dedicated contributors who continue to strengthen MCP Gateway:
180+
181+
- **Core Team Members** - Continued contributions to architecture, testing, documentation, and feature development
182+
- **Community Members** - Ongoing support with bug reports, feature requests, and code improvements
183+
184+
This release showcases the power of open-source collaboration, bringing together expertise in AI/ML, distributed systems, security, and developer experience to create a truly enterprise-ready MCP gateway solution.
21185

22186
---
23187

Containerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM registry.access.redhat.com/ubi9-minimal:9.6-1754000177
22
LABEL maintainer="Mihai Criveti" \
33
name="mcp/mcpgateway" \
4-
version="0.5.0" \
4+
version="0.6.0" \
55
description="MCP Gateway: An enterprise-ready Model Context Protocol Gateway"
66

77
ARG PYTHON_VERSION=3.11

Containerfile.lite

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ LABEL maintainer="Mihai Criveti" \
217217
org.opencontainers.image.title="mcp/mcpgateway" \
218218
org.opencontainers.image.description="MCP Gateway: An enterprise-ready Model Context Protocol Gateway" \
219219
org.opencontainers.image.licenses="Apache-2.0" \
220-
org.opencontainers.image.version="0.5.0"
220+
org.opencontainers.image.version="0.6.0"
221221

222222
# ----------------------------------------------------------------------------
223223
# Copy the entire prepared root filesystem from the builder stage

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2666,7 +2666,7 @@ MINIKUBE_ADDONS ?= ingress ingress-dns metrics-server dashboard registry regist
26662666
# OCI image tag to preload into the cluster.
26672667
# - By default we point to the *local* image built via `make docker-prod`, e.g.
26682668
# mcpgateway/mcpgateway:latest. Override with IMAGE=<repo:tag> to use a
2669-
# remote registry (e.g. ghcr.io/ibm/mcp-context-forge:v0.5.0).
2669+
# remote registry (e.g. ghcr.io/ibm/mcp-context-forge:v0.6.0).
26702670
TAG ?= latest # override with TAG=<ver>
26712671
IMAGE ?= $(IMG):$(TAG) # or IMAGE=ghcr.io/ibm/mcp-context-forge:$(TAG)
26722672

@@ -3301,7 +3301,7 @@ devpi-unconfigure-pip:
33013301

33023302
# ─────────────────────────────────────────────────────────────────────────────
33033303
# 📦 Version helper (defaults to the version in pyproject.toml)
3304-
# override on the CLI: make VER=0.5.0 devpi-delete
3304+
# override on the CLI: make VER=0.6.0 devpi-delete
33053305
# ─────────────────────────────────────────────────────────────────────────────
33063306
VER ?= $(shell python3 -c "import tomllib, pathlib; \
33073307
print(tomllib.loads(pathlib.Path('pyproject.toml').read_text())['project']['version'])" \

0 commit comments

Comments
 (0)