@@ -5,6 +5,76 @@ All notable changes to antipasta will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 1.1.0] - 2025-01-27
9+
10+ ### Added
11+ - ** CLI Threshold Override Features**
12+ - Dynamic threshold overrides via command-line arguments
13+ - Three-letter prefix support for metric names (e.g., "cyc" for cyclomatic_complexity)
14+ - Validation for CLI override values and operators
15+ - Enhanced configuration override system (` config_override.py ` )
16+
17+ - ** Comprehensive Test Coverage**
18+ - Tests for refactored stats modules
19+ - Config override validation tests
20+ - Metrics utility tests
21+ - Test coverage for all new submodules
22+
23+ ### Changed
24+ - ** Major Codebase Refactoring** - antipasta now meets its own complexity constraints
25+ - ** Modularization of Large Files**
26+ - ` cli/stats.py ` (906 lines) → organized submodules under ` cli/stats/ ` :
27+ - ` aggregation/ ` - Directory and module aggregation logic
28+ - ` collection/ ` - Metrics collection and analysis
29+ - ` output/ ` - Display formatting and output handling
30+ - ` utils.py ` - Shared utilities
31+ - ` command.py ` - Main command orchestration
32+ - ` cli/config_generate.py ` (421 lines) → ` cli/config/config_generate/ ` submodules:
33+ - ` main.py ` - Command entry point
34+ - ` interactive_prompts.py ` - User interaction logic
35+ - ` language_config.py ` - Language-specific configuration
36+ - ` project_config.py ` - Project configuration handling
37+ - ` file_operations.py ` - File I/O operations
38+ - ` validation.py ` - Config validation logic
39+ - ` cli/config_view.py ` (242 lines) → ` cli/config/config_view/ ` submodules:
40+ - ` main.py ` - Command entry point
41+ - ` display_formats.py ` - Format handling (JSON, YAML)
42+ - ` table_display.py ` - Table formatting logic
43+ - ` cli/metrics.py ` (210 lines) → ` cli/metrics/ ` submodules:
44+ - ` metrics.py ` - Main command logic
45+ - ` metrics_utils_*.py ` - Specialized utility modules
46+
47+ - ** Complexity Reduction Techniques**
48+ - Applied Compose Method pattern throughout to reduce cyclomatic complexity
49+ - Extracted complex conditionals into named functions
50+ - Replaced nested structures with dictionary dispatch patterns
51+ - Improved maintainability indices across all modules (target: 50+)
52+ - Reduced maximum function complexity to meet thresholds
53+
54+ - ** Architecture Improvements**
55+ - Better separation of concerns throughout the codebase
56+ - Enhanced modularity and reusability
57+ - Clear module boundaries and responsibilities
58+ - Consistent patterns across similar modules
59+
60+ ### Fixed
61+ - Type hint issues throughout the codebase
62+ - Test failures after refactoring
63+ - Import path issues after module reorganization
64+
65+ ### Technical Improvements
66+ - ** Code Quality Metrics**
67+ - All source code now passes antipasta's own complexity checks
68+ - Largest files reduced from 900+ lines to under 310 lines
69+ - Cyclomatic complexity kept within configured thresholds
70+ - Maintainability index improved across all modules
71+
72+ - ** Developer Experience**
73+ - More intuitive module organization
74+ - Enhanced code readability and maintainability
75+ - Better testability through modular design
76+ - Clearer separation between business logic and presentation
77+
878## [ 1.0.0] - 2025-01-21
979
1080### Added
0 commit comments