Releases: Halleck45/ast-metrics
Releases · Halleck45/ast-metrics
v0.18.0
Changelog
- 84cc952 Add JSON report
- 6e538bd Improve error handling in JSON report
- 128f5f3 Improve performance in cleaner
- c0b60a0 Merge pull request #1 from Halleck45/julian776/main
- a115848 Merge pull request #50 from julian776/main
- af90014 Merge pull request #59 from Halleck45/fix-empty-git
- e2cbaf4 avoid errors when there is no commit since at least one year
- 36c773e fixed issues in JSON report
v0.17.1
Changelog
- 4762ea8 #57 avoid issue when python parser is used in non interactive mode
- 12478aa Merge pull request #51 from Halleck45/dependabot/go_modules/golang.org/x/net-0.23.0
- c52570a Merge pull request #53 from greg0ire/update-links
- 2ab14b5 Merge pull request #58 from Halleck45/fix-57
- d820a0c build(deps): bump golang.org/x/net from 0.22.0 to 0.23.0
v0.17.0
This release introduces the first draft for a major feature: the ability to compare the analysis of two code branches.
Now you can use the --compare-with
option to compare with a git tag, sha1, or branch.
ast-metrics analyze --compare-with=main /path/to/your/code
New Features
- Introduced a new command-line flag
--compare-with
for comparing branches or commits. - Updated HTML reporting to include dynamic badges and progress bars based on comparison results.
v0.16.0
- New Features
- Added a screen in the UI to generate HTML report directly from the CLI application
- Added new maintainability linter
Now you can lint your code with something like:
requirements:
rules:
maintainability:
min: 85
- Bug Fixes
- Fixed issues in data handling and rendering across multiple UI components.
- Fixed issue with relative package names in Golang
- Fixed issue with relative Git paths
- Fixed issues with the config file generated by the
init
command
v0.15.0
-
New Features
- Added a new package dependency diagram for PHP and Golang
- Introduced a configuration system for setting up analysis metrics (
.ast-metrics.yaml
) - Added a
config
flag in the main application for loading configuration from a file. - Implemented a new
init
command to create a default configuration file for easy setup. - Enhanced analysis capabilities with the evaluation of code against specified requirements and detailed reporting in HTML and Markdown formats.
- Now you can share a screenshot of your HTML report
-
Improvements
- Refined logic for handling exclude patterns and report paths within the application configuration.
- Improved handling of dependencies and calculations for coupling metrics in the analysis process.
-
Bug Fixes
- Fixed formatting and alignment issues in various parts of the codebase to ensure consistency and readability.
Overview of new configuration file, with requirements
Overview of the new "package relations" diagram
v0.14.0
-
New Features
- Introduced new metrics (average afferent and efferent coupling, and instability) in analysis reports.
- Expanded the list of generated HTML files for more comprehensive reporting, including interactive radial bar charts for various metrics (e.g., maintainability, complexity, LOC, afferent/efferent coupling, and instability).
- Added interactive features to radial bar charts, such as zooming, tooltips, and a color legend.
-
Bug Fixes
- Corrected the label in the cyclomatic complexity chart
- Updated a navigation link to direct users from "Help" to "Contribute"
v0.0.13-alpha
-
New Features
- Introduced class coupling metrics to enhance code analysis, including afferent and efferent coupling calculations and instability.
-
Refactor
- Updated the report generation to display new coupling metrics and instability ratio, improving readability and understanding of code dependencies.
v0.0.12-alpha
-
New Features
- Introduced representation for external dependencies in code analysis (fan-in, fan-out - afferent/efferent coupling)
- Enhanced error detection and logging for files that could not be analyzed, with specific enhancements for PHP file analysis.
- Improved handling and display of dependencies in reports, including a new "Dependencies" column in detailed views.
-
Bug Fixes
- Fixed error handling and logging mechanisms across various components to provide clearer, more informative error messages.
- Adjusted test cases to align with updated logic and error handling improvements.
- Supports non UTF-8 classnames
-
Refactor
- Streamlined error handling by returning errors directly in some functions, reducing dependency on external logging packages.
- Updated sorting and filtering logic in HTML report generation for better report clarity and focus.
-
Tests
- Added and updated test functions to cover new error detection functionality and PHP file parsing scenarios.
v0.0.11-beta
BugFixes
- Improved handling of PHP namespaces to correctly interpret anonymous namespaces as global.
v0.0.11-alpha
New Features
- Introduced
self-update
command to automatically check for and apply updates. - Added
version
command to display the current version, operating system, and architecture. - Enhanced file complexity analysis by adding the sum of complexity metrics for functions.
- Improved risk analysis by incorporating maximum cyclomatic complexity and differentiating between procedural and OOP files.
Bug Fixes
- Adjusted filename display in the UI to truncate long names for better readability.
- Fixing formula for calculating cyclomatic complexity for non-object-oriented languages.