Skip to content

Commit 4d635e8

Browse files
author
Really Him
committed
release: changelog and version bump
1 parent fbbd1ad commit 4d635e8

File tree

3 files changed

+72
-2
lines changed

3 files changed

+72
-2
lines changed

CHANGELOG.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,76 @@ All notable changes to antipasta will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and 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

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "antipasta"
7-
version = "1.0.1"
7+
version = "1.1.0"
88
description = "A code quality monitoring and enforcement tool that analyzes a variety of code complexity metrics"
99
readme = "README.md"
1010
requires-python = ">=3.11"

src/antipasta/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
"""Version information for antipasta."""
22

3-
__version__ = "1.0.1"
3+
__version__ = "1.1.0"
44
__version_info__ = tuple(int(i) for i in __version__.split("."))

0 commit comments

Comments
 (0)