Skip to content

Releases: Halleck45/ast-metrics

v0.17.0

26 Apr 07:46
17f1478
Compare
Choose a tag to compare

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

gnome-shell-screenshot-ci072g

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

19 Apr 08:05
67fb9e5
Compare
Choose a tag to compare
  • 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

08 Apr 04:57
44c1037
Compare
Choose a tag to compare
  • 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

Screenshot 2024-04-07 08 01 47

Overview of the new "package relations" diagram

Screenshot 2024-04-07 07 49 01

v0.14.0

03 Apr 19:57
6abe945
Compare
Choose a tag to compare
  • 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"

Screenshot 2024-04-03 21 31 42

v0.0.13-alpha

02 Apr 19:53
Compare
Choose a tag to compare
  • 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

29 Mar 21:12
873c58a
Compare
Choose a tag to compare
  • 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

27 Mar 16:08
1a30588
Compare
Choose a tag to compare

BugFixes

  • Improved handling of PHP namespaces to correctly interpret anonymous namespaces as global.

v0.0.11-alpha

26 Mar 17:49
22f6035
Compare
Choose a tag to compare

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

26 Mar 09:12
3d62c3e
Compare
Choose a tag to compare

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 utilizing ctrl+c and esc only.

v0.0.9-alpha

23 Mar 16:01
c81d892
Compare
Choose a tag to compare
  • 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.
Screen.recording.2024-03-23.16.50.40.webm