π‘οΈ MCP Gateway v0.4.0 - 2025-07-22 - Security, Resilience, Test Coverage and Bugfixing
π‘οΈ MCP Gateway v0.4.0 β 2025-07-22
This milestone release achieves 100% compliance across all multiple linters, 82% unit test coverage, 60% doctest coverage and new UI test automation while delivering resilience features, comprehensive testing infrastructure, and critical bug fixes. With over 52 issues resolved, v0.4.0 represents our commitment to enterprise-grade security and code quality.
π Security & Quality Achievements
This release sets new standards for code quality and security:
- 100% Linter Compliance β Zero issues across Bandit, HTMLHint, Stylelint, ESLint, Retire.js, and nodejsscan
 - 100% Docstring Coverage β Every function and class fully documented
 - 10/10 Pylint Score β Code quality rating maintained
 - 60% Doctest Coverage β Enhanced documentation with executable examples
 - 82% Pytest Coverage β Enhanced pytest suite, with additional e2e tests and input validation
 - New test-ui - playwright based UI test automation (e.g. 
make dev & bg; make test-ui-headless) - Smart Retry Mechanisms β Resilient connections with exponential backoff
 
Important: Admin UI remains development-only. Never expose it in production. Build your own production UI with appropriate security controls. Refer to the Securing MCP Gateway documentation.
Beta Software Notice: MCP Gateway is in early beta. Expect breaking changes between minor versions, and incomplete functionality. Use only with trusted upstream MCP servers. This is an OPEN SOURCE PROJECT with community-driven support and no official support from IBM. Please refer to SECURITY.md and our Roadmap for more info and upcoming features.
β¨ Highlights
- π Zero Security Issues β All security scanners pass (#421, #415, #552)
 - π Smart Retry Mechanism β HTTPX client with exponential backoff for resilient connections (#456)
 - π§ͺ Security Test Suite β Comprehensive input validation testing framework (#552)
 - π§ Test Connectivity Tool β Debug MCP server connections with detailed diagnostics (#181)
 - πΎ Persistent Filter State β UI filters and preferences now persist across sessions (#177)
 - π 60% Doctest Coverage β Executable documentation examples (#249)
 - π³ Docker HEALTHCHECK β Production-ready container health monitoring (#362)
 - π E2E Acceptance Tests β Complete end-to-end validation documentation (#399)
 
π¨ Important Security Updates
- Secure Defaults Continue β Admin UI and API disabled by default
 - Enhanced Error Handling β Replaced assert statements with proper exceptions (#412)
 - Fixed Critical Bugs β Resolved STREAMABLEHTTP transport issues (#213) and auth failures (#232)
 - Improved Input Validation β Extended validation to RPC endpoints (#361)
 
π Added
Resilience & Reliability
- 
HTTPX Smart Retry Client (#456):
- Exponential backoff with jitter
 - Configurable retry attempts and intervals
 - Automatic recovery from transient failures
 - Environment variables: 
HTTP_MAX_RETRIES,HTTP_RETRY_BACKOFF_FACTOR 
 - 
Docker Health Monitoring (#362):
- HEALTHCHECK directive in Containerfile
 - Proper health endpoints for Kubernetes/Docker
 - Automatic container restart on failures
 
 
Developer Experience
- Test MCP Server Connectivity (#181) β Comprehensive debugging tool in Admin UI
 - Persistent UI State (#177) β Filter selections persist across browser sessions
 - Contextual Help Tooltips (#233) β Hover help throughout the interface
 - mcp-cli Documentation (#46) β Complete guide for CLI integration
 - JSON-RPC Examples (#19) β Detailed curl commands for API testing
 
Security & Testing
- Input Validation Test Suite (#552) β Comprehensive security-focused tests
 - Additional Security Scanners (#415, #499) β Added nodejsscan for JavaScript
 - E2E Test Documentation (#399) β Complete acceptance testing guide
 - 60% Doctest Coverage (#249) β Executable documentation examples
 
Code Quality
- 100% Docstring Coverage (#467) β Every function documented
 - 10/10 Pylint Score (#210) β Perfect code quality rating
 - Zero Web Lint Issues (#338) β Clean JavaScript and HTML
 - Dead Code Detection (#305) β Vulture and unimport integration
 
π Fixed
Critical Issues
- STREAMABLEHTTP Transport (#213) β Fixed transport initialization failures
 - Authentication Failures (#232) β Resolved "Auth to None" errors
 - Gateway Authentication (#471, #472) β Fixed auth credentials not being populated
 - XSS Vulnerabilities (#361) β Added validation to RPC endpoints
 - Invalid Transport Types (#359) β Gateway now properly validates transports
 
UI/UX Fixes
- Dark Theme (#366) β Fixed visibility and contrast issues
 - Server Connectivity Test (#367) β Repaired broken test functionality
 - Duplicate Server Names (#476) β UI now shows proper error messages
 - Edit Forms (#354) β Fixed fields not populating when editing
 - Annotations (#356) β Made annotations properly editable
 - Resource Data (#352) β Fixed incorrect data mapping
 - Text Editor Spacing (#355) β Removed excessive empty space
 - Console Warnings (#374) β Eliminated metrics-loading errors
 
API & Backend
- Federation HTTPS (#424) β Now respects X-Forwarded-Proto headers
 - Version Endpoint (#369, #382) β Returns proper semantic version
 - Test Server URL (#396) β Fixed incorrect URL construction
 - Gateway Separator (#387) β Respects GATEWAY_TOOL_NAME_SEPARATOR
 - UI-Disabled Mode (#378) β Tests handle disabled UI properly
 
Infrastructure
- Makefile Improvements (#371, #433) β Better Docker/Podman detection
 - GHCR Push (#384) β Fixed incorrect pushes on PRs
 - OpenAPI Title (#522) β Fixed formatting in specification
 - Test Isolation (#495) β Tests no longer affect production database
 - Configuration Cleanup (#419) β Removed unused lock_file_path
 
π Changed
- 
Security by Default:
- Admin UI disabled: 
MCPGATEWAY_UI_ENABLED=false - Admin API disabled: 
MCPGATEWAY_ADMIN_API_ENABLED=false - Enable only for trusted development environments
 
 - Admin UI disabled: 
 - 
Code Quality Milestones:
- 100% Docstring Coverage β Use 
make interrogateto verify - 10/10 Pylint Score β Use 
make pylintto check - Zero Security Issues β Use 
make banditto scan - Clean Web Code β Use 
make lint-webto verify 
 - 100% Docstring Coverage β Use 
 - 
Enhanced Error Handling:
- Replaced all assert statements with proper exceptions
 - Better error messages for user guidance
 - Improved logging for debugging
 
 
π Security Notes
New Security Tools
Run the security lint suite locally:
make security-all     # Run all security scanners
make bandit           # Python security analysis
make nodejsscan       # JavaScript security analysis  
make grype            # Container vulnerability scan
make trivy            # Comprehensive security scan
make lint-web         # Web code quality check
make sonar-up-docker pysonar-scanner # Run sonarqube locally and submit codeπ¦ Upgrade Instructions
- 
Update your package:
pip install --upgrade mcp-contextforge-gateway==0.4.0
 - 
Review new retry settings in
.env:# Copy latest example with retry config cp .env.example .env 
Docker / Compose / Kubernetes deployments also support alembic migrations on startup.
π Release Contributors
Thanks to our amazing contributors who made this security-focused release possible!
π Top Contributors in 0.4.0
- Mihai Criveti (@crivetimihai) - Release coordinator, security improvements, code quality, review, and extensive testing infrastructure
 - Madhav Kandukuri (@madhav165) - Major input validation framework, security fixes, and test coverage improvements
 - Keval Mahajan (@kevalmahajan) - HTTPX retry mechanism implementation and UI improvements
 - Manav Gupta (@manavgup) - Comprehensive doctest coverage and Playwright test suite
 
π New Contributors
Welcome to our first-time contributors who joined us in 0.4.0:
- Satya (@TS0713) - Fixed duplicate server name handling and invalid transport type validation
 - Guoqiang Ding (@dgq8211) - Improved tool description display with proper line wrapping
 - Rakhi Dutta (@rakdutta) - Enhanced error messages for better user experience
 - Nayana R Gowda - Fixed CodeMirror layout spacing issues
 - Mohan Lakshmaiah - Contributed UI/UX improvements and test case updates
 - Shoumi Mukherjee - Fixed resource data handling in the UI
 - Reeve Barreto (@reevebarreto) - Implemented the Test MCP Server Connectivity feature
 - ChrisPC-39/Sebastian - Achieved 10/10 Pylint score and added security scanners
 - Jason Frey (@fryguy9) - Improved GitHub Actions with official IBM Cloud CLI action
 
πͺ Returning Contributors
Thank you to our dedicated contributors who continue to strengthen MCP Gateway:
- Thong Bui - REST API enhancements including PATCH support and path parameters
 - Abdul Samad - Dark mode improvements and UI polish
 
This release represents a true community effort with contributions from developers around the world. Your dedication to security, code quality, and user experience has made MCP Gateway more robust than ever!
π Resources
- π Docs: https://ibm.github.io/mcp-context-forge/
 - π³ Container: 
ghcr.io/ibm/mcp-context-forge:v0.4.0 - π PyPI: mcp-contextforge-gateway
 - π Full changelog: Compare v0.3.1β¦v0.4.0