You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: replace Codeanalyzer constructor parameters with AnalysisOptions dataclass
BREAKING CHANGE: Codeanalyzer constructor now takes a single AnalysisOptions
parameter instead of 9 individual parameters, improving API design and
maintainability.
- Add new codeanalyzer.options module with AnalysisOptions dataclass
- Refactor Codeanalyzer.__init__ to accept AnalysisOptions parameter
- Update CLI to create AnalysisOptions instance from command arguments
- Improve type safety and configuration management
- Enhance code organization and maintainability
- Update version to 0.1.12 in pyproject.toml
- Add comprehensive changelog documentation
- Remove obsolete test_numpy_constraints.py file
Closes#12
Copy file name to clipboardExpand all lines: CHANGELOG.md
+25-1Lines changed: 25 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -5,14 +5,38 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.1.12] - 2025-07-21
9
+
10
+
### Changed
11
+
-**BREAKING CHANGE**: Refactored `Codeanalyzer` constructor to use `AnalysisOptions` dataclass [in response to #19](https://github.com/codellm-devkit/codeanalyzer-python/issues/19)
12
+
- Replaced multiple individual parameters with single `AnalysisOptions` object for cleaner API
13
+
- Improved type safety and configuration management through centralized options structure
14
+
- Enhanced maintainability and extensibility for future configuration additions
15
+
- Updated CLI integration to create and pass `AnalysisOptions` instance
16
+
- Maintained backward compatibility in terms of functionality while improving code architecture
17
+
18
+
### Added
19
+
- New `AnalysisOptions` dataclass in `codeanalyzer.options` module [in response to #19](https://github.com/codellm-devkit/codeanalyzer-python/issues/19)
20
+
- Centralized configuration structure with all analysis parameters
21
+
- Type-safe configuration with proper defaults and validation
22
+
- Support for `OutputFormat` enum integration
23
+
- Clean separation between CLI and library configuration handling
24
+
25
+
### Technical Details
26
+
- Added new `codeanalyzer.options` package with `AnalysisOptions` dataclass
27
+
- Updated `Codeanalyzer.__init__()` to accept single `options` parameter instead of 9 individual parameters
28
+
- Modified CLI handler in `__main__.py` to create `AnalysisOptions` instance from command line arguments
29
+
- Improved code organization and maintainability for configuration management
30
+
- Enhanced API design following best practices for parameter object patterns
31
+
8
32
## [0.1.11] - 2025-07-21
9
33
10
34
### Fixed
11
35
-**CRITICAL**: Fixed NumPy build failure on Python 3.12+ (addresses [#19](https://github.com/codellm-devkit/codeanalyzer-python/issues/19))
12
36
- Updated NumPy dependency constraints to handle Python 3.12+ compatibility
13
37
- Split NumPy version constraints into three tiers:
14
38
-`numpy>=1.21.0,<1.24.0` for Python < 3.11
15
-
-`numpy>=1.24.0,<2.0.0` for Python 3.11.x
39
+
-`numpy>=1.24.0,<2.0.0` for Python 3.11.x
16
40
-`numpy>=1.26.0,<2.0.0` for Python 3.12+ (requires NumPy 1.26+ which supports Python 3.12)
17
41
- Resolves `ModuleNotFoundError: No module named 'distutils'` errors on Python 3.12+
18
42
- Ensures compatibility with Python 3.12 which removed `distutils` from the standard library
0 commit comments