Release 1.24.2 - Performance, Stress Testing, and Telemetry Accuracy
May 2026
Upgrading from 1.24.1
This section covers everything you need to know to upgrade from 1.24.1 to 1.24.2.
Breaking Changes
There are no breaking changes in this release.
New Environment Variables
| Variable | Default | Description |
|---|---|---|
NGINX_RELOAD_DEBOUNCE_SECONDS
| 5.0
| Debounce interval for nginx config regeneration ticks |
Helm Chart Values Changes
| Value Path | Default | Description |
|---|---|---|
global.cloud.awsRegion
| ""
| AWS region for telemetry cloud detection (set when deploying on AWS regardless of auth provider) |
.env.example Default Changes
The default embeddings provider in .env.example changed from litellm (Bedrock) to sentence-transformers (local, no API key required). Existing deployments with explicit EMBEDDINGS_PROVIDER in their .env are unaffected.
Upgrade Instructions
Docker Compose
cd mcp-gateway-registry
git pull origin main
git checkout 1.24.2
# Review .env.example for the updated embeddings default
# Then rebuild and restart:
./build_and_run.shKubernetes / Helm (EKS)
cd mcp-gateway-registry
git pull origin main
git checkout 1.24.2
# REQUIRED: Rebuild dependencies (chart templates changed)
cd charts/mcp-gateway-registry-stack
helm dependency build
helm dependency update
# Update values.yaml if needed (see global.cloud.awsRegion), then upgrade:
helm upgrade mcp-gateway . -f your-values.yamlTerraform / ECS
cd mcp-gateway-registry
git pull origin main
git checkout 1.24.2
cd terraform/aws-ecs
terraform plan
terraform applyDockerHub Images
Pre-built images are available:
docker pull mcpgateway/registry:1.24.2
docker pull mcpgateway/auth-server:1.24.2
docker pull mcpgateway/currenttime-server:1.24.2
docker pull mcpgateway/realserverfaketools-server:1.24.2
docker pull mcpgateway/fininfo-server:1.24.2
docker pull mcpgateway/mcpgw-server:1.24.2
docker pull mcpgateway/metrics-service:1.24.2Major Features
Stress Test Suite and Performance Benchmarks
A production-ready stress testing framework for measuring registration throughput, API latency, and semantic search concurrency scaling. Includes three phases: bulk entity registration (1000 servers/agents/skills), serial API latency measurement, and concurrent search scaling at parallelism levels 1, 10, and 100. Results are published as benchmark reports with deployment configuration snapshots.
Key findings: 4 ECS tasks handle 100 concurrent searches with sub-20s p99; 2 tasks handle 10 concurrent users under 2s p50.
Nginx Reload Safety
Rate-limited nginx reload signals (3-second minimum interval) prevent cascading SIGHUP from spawning multiple master processes during bulk operations. Debounced scheduler (5s tick) coalesces rapid config changes. Health checks staggered in batches of 10 with 0.5-second pauses to eliminate CPU spikes with 1000+ enabled servers.
Startup Performance (DocumentDB)
Skip search index re-embedding on startup for DocumentDB backends. Embeddings persist in the collection and survive restarts. Reduces boot time from 5-15 minutes to seconds regardless of corpus size.
OpenTelemetry Auto-Instrumentation
Added OpenTelemetry libraries and auto-instrumentation to both the registry and auth-server services, plus dedicated instrumentation for the mcpgw MCP server.
Dashboard Pagination
Renders only 50 servers/agents/skills per page instead of all items at once. Prevents browser resource exhaustion when 1000+ cards each fire rating and security-scan HTTP requests on mount.
What's New
Performance and Reliability
- Debounced nginx reload scheduler with hash-based change detection (#1088)
- Rate-limit guard on reload_nginx() (3s minimum interval) (#1088)
- Health checks staggered in batches of 10 (#1088)
- Skip startup re-indexing for DocumentDB backends (#1088)
- 900s health check grace period for ECS (large catalogs) (#1088)
- CloudFront origin read timeout increased from 30s to 60s (#1088)
- Autoscaling variables exposed in terraform.tfvars (#1088)
Telemetry Accuracy
- Collector schema now accepts mongodb, mongodb-atlas, and podman values (#1106)
- Helm: inject NODE_NAME via downward API for k8s cloud detection (#1106)
- Helm: add global.cloud.awsRegion for AWS detection regardless of auth provider (#1106)
- Detect Podman containers via /run/.containerenv (#1106)
- Fix skill count in telemetry (was capped at 100 due to list_all() default limit) (#1088)
MCP Proxy Routing
- Add trailing slash to mcp-proxy proxy_pass target (#1088)
- Quote X-Upstream-Url header to prevent nginx parse errors with special chars (#1088)
- Forward Mcp-Session-Id response header through mcp-proxy for session continuity (#1088)
- Append MCP sub-path from request URI to upstream URL (#1088)
- Prevent double sub-path append when proxy_pass_url already contains /mcp (#1088)
Frontend
- Dashboard pagination (50 items per page) with centered controls (#1105)
- Connect button generates correct URLs based on proxy_pass_url path (#1088)
- Generate user token (not resource token) for ai-registry-tools Connect button (#1088)
- Add Connect button to VirtualServerCard (#1088)
- Bump API list endpoint limits from 500 to 2000 (#1088)
- Add limit=2000 to useSkills fetch (#1088)
- Add limit=2000 to mcpgw list API calls (#1088)
Authentication
- Try self-signed token validation before provider-specific (Entra, Okta) (#1088)
- Security group rule: allow auth server to reach mcpgw on port 8003 (#1088)
Infrastructure
- ECS: decouple mcpgw replica count from autoscaling (must stay at 1 for session affinity) (#1088)
- Registry Helm chart default replicas changed from 1 to 2 (#1088)
- Make registry appuser home directory writable (#1077)
Documentation
- Benchmark reports and scaling guide at docs/benchmarks/ (#1088)
- Architecture diagrams reference document (#1088)
- Nginx routing safety requirement added to new-feature-design skill (#1088)
- Refresh roadmap section for current milestones (#1074)
Bug Fixes
- fix(telemetry): resolve unknown cloud/compute/storage detection gaps (#1106)
- fix(test): reset nginx_service.reload_lock per-test to fix xdist flake (#1073)
- fix(agentcore): runtime registration, Entra scope, .env autoload (#1076)
- fix: update environment variable evaluation for safety (#1075)
- fix(nginx): serialize config regeneration + atomic writes (#1088)
Closed Issues
| Issue | Title | Closed By |
|---|---|---|
| #1098 | Add OpenTelemetry auto-instrumentation for registry and auth-server | PR #1099 |
| #1095 | Startup re-indexes all entities, causing 5-15 minute boot time | PR #1088 |
| #1094 | Frontend dashboard truncates at 500 entities per type | PR #1105 |
| #1093 | fix(telemetry): resolve unknown cloud/compute/storage detection gaps | PR #1106 |
| #1091 | Stress test improvements: skip-generate, enable-on-register, cleanup fixes | PR #1088 |
| #1090 | Rate-limit nginx reload signals to prevent cascading SIGHUP | PR #1088 |
| #1089 | Stagger periodic health checks in batches to prevent CPU spikes | PR #1088 |
| #1087 | Debounced nginx reload to prevent worker pile-up under bulk registration | PR #1088 |
| #1072 | Flake: test_concurrent_reloads_are_serialized fails under pytest-xdist | PR #1073 |
| #997 | Stress test: measure registry performance at 100/500/1000 entities | PR #1088 |
Pull Requests Included
| PR | Title |
|---|---|
| #1107 | feat: add OpenTelemetry instrumentation to mcpgw |
| #1106 | fix(telemetry): resolve unknown cloud/compute/storage detection gaps |
| #1105 | feat(frontend): add pagination to Dashboard (50 items per page) |
| #1104 | chore(deps): bump idna from 3.13 to 3.15 in /agents/a2a |
| #1099 | add opentelemetry libraries to auth-server and registry |
| #1088 | feat(nginx,stress): debounced nginx reload scheduler + stress test improvements |
| #1086 | chore(deps): bump ws from 8.18.3 to 8.20.1 in /cli |
| #1085 | chore(deps): bump idna from 3.13 to 3.15 in /servers/example-server |
| #1084 | chore(deps): bump idna from 3.13 to 3.15 in /servers/realserverfaketools |
| #1083 | chore(deps): bump idna from 3.13 to 3.15 in /metrics-service |
| #1082 | chore(deps): bump idna from 3.13 to 3.15 in /servers/mcpgw |
| #1081 | chore(deps): bump idna from 3.13 to 3.15 in /servers/fininfo |
| #1078 | chore(deps): bump idna from 3.13 to 3.15 in /servers/currenttime |
| #1077 | make registry appuser home directory writable |
| #1076 | fix(agentcore): runtime registration, Entra scope, .env autoload, doc fixes |
| #1075 | fix: update environment variable evaluation for safety |
| #1074 | docs(readme): refresh roadmap section for current milestone landscape |
| #1073 | fix(test): reset nginx_service.reload_lock per-test to fix xdist flake |
Security Dependency Updates
| Package | Previous | Updated | Scope |
|---|---|---|---|
| idna | 3.13 | 3.15 | servers/currenttime, fininfo, mcpgw, realserverfaketools, example-server, metrics-service, agents/a2a |
| ws | 8.18.3 | 8.20.1 | cli |
Contributors
Thank you to all contributors for this release:
- Amit Arora (@aarora79)
- Kangheng Liu (@kanghengliu)
- omrishiv (@omrishiv)
- Nathan Fernandes Pedroza (@nathanzilgo)
Support
Full Changelog: 1.24.1...1.24.2
What's Changed
- fix(test): reset nginx_service.reload_lock per-test to fix xdist flake by @aarora79 in #1073
- docs(readme): refresh roadmap section for current milestone landscape by @aarora79 in #1074
- fix(agentcore): runtime registration, Entra scope, .env autoload, doc fixes by @aarora79 in #1076
- fix: update environment variable evaluation for safety by @nathanzilgo in #1075
- fix: make registry appuser home directory writable by @omrishiv in #1077
- feat(nginx,stress): debounced nginx reload scheduler + stress test improvements by @aarora79 in #1088
- add opentelemetry libraries to auth-server and registry by @omrishiv in #1099
- chore(deps): bump idna from 3.13 to 3.15 in /servers/currenttime by @dependabot[bot] in #1078
- chore(deps): bump idna from 3.13 to 3.15 in /servers/fininfo by @dependabot[bot] in #1081
- chore(deps): bump idna from 3.13 to 3.15 in /servers/mcpgw by @dependabot[bot] in #1082
- chore(deps): bump idna from 3.13 to 3.15 in /metrics-service by @dependabot[bot] in #1083
- chore(deps): bump idna from 3.13 to 3.15 in /servers/realserverfaketools by @dependabot[bot] in #1084
- chore(deps): bump idna from 3.13 to 3.15 in /servers/example-server by @dependabot[bot] in #1085
- chore(deps): bump ws from 8.18.3 to 8.20.1 in /cli by @dependabot[bot] in #1086
- chore(deps): bump idna from 3.13 to 3.15 in /agents/a2a by @dependabot[bot] in #1104
- feat(frontend): add pagination to Dashboard (50 items per page) by @aarora79 in #1105
- fix(telemetry): resolve unknown cloud/compute/storage detection gaps by @aarora79 in #1106
- add opentelemetry instrumentation to mcpgw by @omrishiv in #1107
New Contributors
- @nathanzilgo made their first contribution in #1075
Full Changelog: 1.24.1...1.24.2