diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c58845..87560bd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -85,54 +85,73 @@ jobs: body: | ## ๐ swagger-coverage-cli v${{ env.NEW_VERSION }} - ### โจ Features + ### โจ New Features + - **๐ Multi-Protocol Support**: Native support for REST (OpenAPI/Swagger), gRPC (Protocol Buffers), and GraphQL schemas + - **๐ Mixed API Analysis**: Process multiple API specifications with different protocols in a single run + - **๐ฏ Protocol-Aware Matching**: Intelligent request matching tailored to each API protocol's characteristics + - **๐ Unified Reporting**: Generate consolidated HTML reports with protocol-specific insights and color coding + - **โก Universal CLI**: Single interface works across all supported protocols with consistent syntax + + ### ๐จ Enhanced Features - **Smart Endpoint Mapping**: Intelligent endpoint matching with status code prioritization enabled by default - **Enhanced Path Matching**: Improved handling of path parameters with different naming conventions - **Confidence Scoring**: Match quality assessment with 0.0-1.0 confidence scores - **Status Code Intelligence**: Prioritizes successful (2xx) codes over error codes for better coverage - - **Multi-API Support**: Process multiple Swagger/OpenAPI specifications in a single run - - **Unified Reporting**: Generate combined coverage reports with individual API metrics - - **Format Support**: YAML, JSON, and CSV file formats supported - - **Enhanced HTML Reports**: Clean, accessible reports with confidence indicators + - **Multi-API Support**: Process multiple API specifications in a single run + - **Enhanced HTML Reports**: Interactive reports with protocol identification and color coding + + ### ๐ฏ Protocol Support + + #### ๐ REST/OpenAPI + - OpenAPI v2/v3 specifications (YAML/JSON) + - Smart path matching with parameter variations + - Request body and query parameter validation + - Multiple status codes per operation + + #### โก gRPC + - Protocol Buffer (.proto) file parsing + - Service and method extraction + - HTTP/2 path mapping (/package.service/method) + - Content-type validation (application/grpc) - ### ๐ Smart Mapping Benefits - - **Improved Coverage Accuracy**: Smart mapping significantly improves coverage detection - - **Status Code Prioritization**: Prioritizes 2xx โ 4xx โ 5xx for better matching - - **Path Intelligence**: Handles parameter variations like `/users/{id}` vs `/users/{userId}` - - **Confidence Assessment**: Shows match quality to help identify reliable matches - - **Default Behavior**: No flags required - smart mapping works automatically + #### ๐ GraphQL + - GraphQL schema (.graphql/.gql) parsing + - Query, mutation, and subscription extraction + - Type system with arguments and unions + - Unified /graphql endpoint handling + + ### ๐ Usage Examples + ```bash + # Single protocol APIs + swagger-coverage-cli api.yaml collection.json # OpenAPI/REST + swagger-coverage-cli service.proto collection.json # gRPC + swagger-coverage-cli schema.graphql collection.json # GraphQL + + # Mixed protocol APIs (Enterprise-ready) + swagger-coverage-cli "api.yaml,service.proto,schema.graphql" collection.json + + # All existing options work across protocols + swagger-coverage-cli "api.yaml,service.proto" collection.json --verbose --strict-body + ``` ### ๐ง Compatibility - โ Maintains backwards compatibility with existing workflows - - โ Node.js 14+ required + - โ Node.js 14+ required - โ NPM package available globally - โ Smart mapping enabled by default + - โ All existing CLI options work with new protocols ### ๐ฆ Installation ```bash npm install -g swagger-coverage-cli@${{ env.NEW_VERSION }} ``` - ### ๐ฏ Usage Examples - ```bash - # Smart mapping enabled by default - swagger-coverage-cli api-spec.yaml collection.json - - # With verbose output to see smart mapping statistics - swagger-coverage-cli api-spec.yaml collection.json --verbose - - # Multiple APIs with smart mapping - swagger-coverage-cli api1.yaml,api2.yaml,api3.json collection.json - - # Works with Newman reports too - swagger-coverage-cli api-spec.yaml newman-report.json --newman - ``` - ### ๐งช Quality Assurance - - **130 Tests**: Comprehensive test suite covering all smart mapping scenarios - - **38 Smart Mapping Tests**: Dedicated tests for status code priority, path matching, confidence scoring + - **147 Tests**: Comprehensive test suite covering all protocols and scenarios + - **19 Test Suites**: Dedicated test coverage for each protocol and integration scenarios - **Edge Case Coverage**: Robust handling of malformed URLs, missing data, and complex scenarios - - **Performance Tested**: Validated with large datasets (1000+ operations) + - **Performance Tested**: Validated with large datasets and mixed protocol specifications + - **Protocol Isolation**: Each protocol's parsing and matching logic is independently tested --- @@ -165,12 +184,15 @@ jobs: echo "- **GitHub Release:** [v${{ env.NEW_VERSION }}](https://github.com/${{ github.repository }}/releases/tag/v${{ env.NEW_VERSION }})" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "### ๐ฏ Key Features" >> $GITHUB_STEP_SUMMARY + echo "- โ Multi-protocol support (REST, gRPC, GraphQL)" >> $GITHUB_STEP_SUMMARY + echo "- โ Protocol-aware matching logic" >> $GITHUB_STEP_SUMMARY + echo "- โ Mixed API analysis in single run" >> $GITHUB_STEP_SUMMARY echo "- โ Smart endpoint mapping (enabled by default)" >> $GITHUB_STEP_SUMMARY echo "- โ Status code prioritization" >> $GITHUB_STEP_SUMMARY echo "- โ Enhanced path matching" >> $GITHUB_STEP_SUMMARY echo "- โ Confidence scoring" >> $GITHUB_STEP_SUMMARY echo "- โ Multi-API support" >> $GITHUB_STEP_SUMMARY echo "- โ Newman report support" >> $GITHUB_STEP_SUMMARY - echo "- โ Enhanced HTML reports" >> $GITHUB_STEP_SUMMARY - echo "- โ YAML, JSON, CSV support" >> $GITHUB_STEP_SUMMARY + echo "- โ Enhanced HTML reports with protocol identification" >> $GITHUB_STEP_SUMMARY + echo "- โ YAML, JSON, CSV, .proto, .graphql support" >> $GITHUB_STEP_SUMMARY echo "- โ Backwards compatibility" >> $GITHUB_STEP_SUMMARY diff --git a/auto-detect-newman.html b/auto-detect-newman.html index 86b5e29..d4d7d0e 100644 --- a/auto-detect-newman.html +++ b/auto-detect-newman.html @@ -384,7 +384,7 @@
Timestamp: 9/18/2025, 12:15:43 PM
+Timestamp: 9/18/2025, 2:32:58 PM
API Spec: Test API
Postman Collection: Test Newman Collection
@@ -436,6 +436,7 @@