Releases: Halleck45/ast-metrics
Releases · Halleck45/ast-metrics
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.
v0.0.10-alpha
New Features
- Introduced search functionality across CLI components, allowing for filtering and sorting by search results.
- Added a new ScreenRisks feature to display top refactoring candidates based on risk metrics.
Enhancements
- Updated navigation controls, removing
q
as a trigger for returning to the home screen, now utilizingctrl+c
andesc
only.
v0.0.9-alpha
- New Features
- Introduced watch mode to rerun analysis automatically when files change.
- Added functionality to skip processing files with no commits in analysis.
- Implemented screen refresh logic to update data in real-time during file changes.
- Bug Fixes
- Corrected column width in file table display for better readability.
- Refactor
- Enhanced command-line interface components with new methods for dynamic updates.
- Updated configuration to support watch mode.
- Chores
- Integrated new external packages for file watching and screen management.