Major Architecture Refactor: Static APIs → CapabilityScope#5
Merged
Conversation
…ced CapabilityScope
…factor with CapabilityScope, breaking changes, and migration guide.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Major Architecture Refactor: Static APIs → CapabilityScope
🎯 Overview
This PR introduces CapabilityScope - a major architectural improvement that eliminates static dependencies and provides proper lifetime management for capability compositions.
Type: 🚨 Breaking Change
Version: v0.11.0
Migration: Required - See migration guide below
🔄 What Changed
Before (Static API)
After (Scoped API)
📦 Package Structure Changes
Cocoar.Capabilities.Core(21KB)Cocoar.Capabilities(16KB)⚡ Performance Improvements
🚨 Breaking Changes
APIs Removed
Cocoar.Capabilities.Core.Composer(static class)Cocoar.Capabilities.ComposerExtensionsCocoar.Capabilities.CompositionRegistryCocoar.Capabilities.CorenamespaceAPIs Added
CapabilityScope- Main scoped containerCapabilityScopeOptions- Configuration optionsComposerRegistryApi,CompositionRegistryApi)🔧 Migration Guide
1. Update Package References
2. Update Using Statements
3. Wrap Static Calls in Scope
4. Dependency Injection Patterns
✅ What's Preserved
ICapability<T>classes🧪 Testing
📊 Impact Analysis
File Changes
Risk Assessment
📚 Documentation Updates
README.md- Updated for new architecturedocs/getting-started.md- All examples updateddocs/api-reference.md- Complete rewritedocs/static-api-migration-strategy.md- New migration guidedocs/RELEASE-NOTES-v0.11.0.md- Detailed release notesCHANGELOG.md- Version 0.11.0 entry🔍 Review Checklist
Code Quality
Documentation
Compatibility
🚀 Deployment Plan
🎯 Why This Change?
Problems Solved
Benefits Gained
📞 Questions?
For migration assistance or questions about this change, please:
docs/static-api-migration-strategy.mddocs/RELEASE-NOTES-v0.11.0.mdThis change provides a more robust foundation for capability-based development while maintaining the core benefits that make this library valuable.