feat: v1.3.1 - Multi-transport + Production deployment

- Add HTTP transport (StreamableHTTPServerTransport)
- Add shared server module (src/server/)
- Configure production for hub.descomplicar.pt
- Add SSH tunnel script (start-tunnel.sh)
- Fix connection leak in pg-client.ts
- Fix atomicity bug in comments deletion
- Update docs with test plan for 164 tools

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-31 17:06:30 +00:00
parent 0329a1179a
commit 5f49cb63e8
15 changed files with 1381 additions and 464 deletions

View File

@@ -2,6 +2,84 @@
All notable changes to this project will be documented in this file.
## [1.3.1] - 2026-01-31
### Added
- **Production Deployment:** Configured for hub.descomplicar.pt (EasyPanel)
- SSH tunnel script `start-tunnel.sh` for secure PostgreSQL access
- Tunnel connects via `172.18.0.46:5432` (Docker bridge network)
- Local port 5433 for production, 5432 reserved for local dev
- **Credentials Backup:** `CREDENTIALS-BACKUP.md` with all connection details
- Production credentials (EasyPanel PostgreSQL)
- Local development credentials
- Old API-based MCP configuration (for rollback if needed)
### Changed
- **Claude Code Configuration:** Updated `~/.claude.json`
- Removed old `outline` MCP (API-based, 4 tools)
- Updated `outline-postgresql` to use production database
- Now connects to hub.descomplicar.pt with 164 tools
### Deployment
| Environment | Database | Port | Tunnel Required |
|-------------|----------|------|-----------------|
| Production | descomplicar | 5433 | Yes (SSH) |
| Development | outline | 5432 | No (local Docker) |
### Usage
```bash
# Start tunnel before Claude Code
./start-tunnel.sh start
# Check status
./start-tunnel.sh status
# Stop tunnel
./start-tunnel.sh stop
```
## [1.3.0] - 2026-01-31
### Added
- **Multi-Transport Support:** Added HTTP transport alongside existing stdio
- `src/index-http.ts`: New entry point for HTTP/StreamableHTTP transport
- `src/server/`: New module with shared server logic
- `create-server.ts`: Factory function for MCP server instances
- `register-handlers.ts`: Shared handler registration
- Endpoints: `/mcp` (MCP protocol), `/health` (status), `/stats` (tool counts)
- Supports both stateful (session-based) and stateless modes
- **New npm Scripts:**
- `start:http`: Run HTTP server (`node dist/index-http.js`)
- `dev:http`: Development mode for HTTP server
### Changed
- **Refactored `src/index.ts`:** Now uses shared server module for cleaner code
- **Server Version:** Updated to 1.3.0 across all transports
### Technical
- Uses `StreamableHTTPServerTransport` from MCP SDK (recommended over deprecated SSEServerTransport)
- HTTP server listens on `127.0.0.1:3200` by default (configurable via `MCP_HTTP_PORT` and `MCP_HTTP_HOST`)
- CORS enabled for local development
- Graceful shutdown on SIGINT/SIGTERM
## [1.2.5] - 2026-01-31
### Fixed
- **Connection Leak (PgClient):** Fixed connection leak in `testConnection()` method
- `pg-client.ts`: Client is now always released using `finally` block
- Previously, if `SELECT 1` query failed after connection was acquired, the connection was never released
- Prevents connection pool exhaustion during repeated connection test failures
## [1.2.4] - 2026-01-31
### Security
@@ -18,10 +96,24 @@ All notable changes to this project will be documented in this file.
### Fixed
- **Data Integrity (Comments):** Fixed critical atomicity bug in comment deletion
- `comments.ts`: DELETE operations now wrapped in transaction
- Prevents orphaned replies if parent comment deletion fails
- Uses `withTransactionNoRetry()` to ensure all-or-nothing deletion
- **Error Handling (PgClient):** Added try-catch to ROLLBACK operation
- `pg-client.ts`: ROLLBACK failures now logged instead of crashing
- Prevents unhandled errors during transaction rollback
- Original error is still thrown after logging rollback failure
- **Memory Leak (Pool Monitoring):** Added `.unref()` to `setInterval` in `PoolMonitor`
- `monitoring.ts`: Pool monitoring interval now allows process to exit gracefully
- Prevents memory leak and hanging processes on shutdown
- **Version Mismatch:** Updated hardcoded server version to match package.json
- `index.ts`: Server version now correctly reports '1.2.4'
- Ensures consistency across all version references
## [1.2.3] - 2026-01-31
### Security