This repository was archived by the owner on Nov 14, 2025. It is now read-only.
v1.8.0
Minor Changes
-
#188
1f08756- Consolidate to single canonical entrypoint and registryThis refactoring consolidates multiple entry points and tool registry implementations into a single, feature-flag-controlled architecture, addressing technical debt and simplifying the codebase.
New Features
- Feature Flags System: Control experimental features via environment variables
FEATURE_TOOL_DISCOVERY: Enable automatic tool discovery from filesystemFEATURE_ENHANCED_LOGGING: Enable additional debug informationFEATURE_METRICS: Enable metrics collection (future)FEATURE_CACHE: Enable caching layer (future)
- Unified Tool Registry: All registry functionality now in single
ToolRegistryclass- Tool discovery (when feature flag enabled)
- Metadata support for categorization and filtering
- Enhanced tool information methods
- Consolidated Configuration: Centralized configuration management
config/features.ts: Feature flag managementconfig/default.ts: Default configurations- Environment-specific settings
Improvements
- Single entry point (
src/index.ts) for all server startup scenarios - Consistent module structure with clear boundaries
- Reduced code duplication and maintenance burden
- Better separation between core and experimental features
- Improved testability with feature flag control
Deprecations (Backward Compatible)
The following are deprecated but still functional with warnings:
src/index-registry.ts→ Usesrc/index.tssrc/server/index-enhanced.ts→ Features integrated into main serversrc/server/tool-registry-enhanced.ts→ Features merged intoToolRegistryvalidateEnvironment()→ UsegetConfig()fromconfig/index.jscreateAndConfigureToolRegistry()→ UseDeepSourceMCPServer.create()
Migration
- No breaking changes - existing code continues to work
- See MIGRATION.md for detailed migration instructions
- Deprecation warnings guide users to new patterns
- Feature flags default to
falsefor backward compatibility
Technical Details
- Eliminates circular dependencies
- Follows SOLID principles and DRY
- Maintains 100% backward compatibility
- Sets foundation for future extensibility
- Feature Flags System: Control experimental features via environment variables