# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- (for new features)
### Changed
- (for changes in existing functionality)
### Deprecated
- (for soon-to-be removed features)
### Removed
- (for now removed features)
### Fixed
- (for any bug fixes)
### Security
- (in case of vulnerabilities)
## [1.25.5] - 2024-09-30
### Changed
- declare Graph::Writer::Dot 2.09 requirement on Dist::Zilla dist.ini file
### Security
- replace `system("command $arg")` by `system("command", $arg)` to avoids invoking potentially dangerous shell commands
## [1.25.4] - 2022-08-21
### Fixed
- fix Analizo::Metric::AfferentConnections POD syntax error
- add new recommended test dependency Test::Pod
## [1.25.3] - 2022-08-20
### Added
- add document on how to run Analizo with Docker
### Changed
- create variable $TEMP before run Doxyparse
- change copyright holder name to use fullname
- enrich samples copyright and licensing notices
- rename master branch to main
- add `tar` flag to avoid changing files ownership when run as root
### Fixed
- fix install documentation
- fix reference paper for ACC metric
- remove duplicity of authors names in .mailmap file
- fix misspelling and spelling test
- rm shebang from bash-completion
## [1.25.2] - 2022-07-22
### Changed
- change debian stretch to buster on dockerfile
### Removed
- get rid of travis-ci (preparing to migrate to gitlab)
### Fixed
- make sure Graph::TransitiveClosure::Matrix is loaded
## [1.25.1] - 2021-01-05
### Fixed
- error cpantester "can't locate local::lib"
- ignore prototype functions to fix NOM metric
## [1.25.0] - 2021-01-04
### Changed
- Depends on doxyparse 1.9.0 (provided by Alien::Doxyparse 0.17)
- Depends on DBI 1.635+
### Removed
- Drop YAML dependency, using YAML::XS instead
### Fixed
- Add samples to improve testcases for errors on YAML syntax
- Add freebsd support
* using shebang `/usr/bin/env perl` instead of `/usr/bin/perl`
* fixed args for manpage command line tool on freebsd
* documented steps on how to run testcases on freebsd
## [1.24.0] - 2020-04-15
### Changed
- Use local::lib on t/festures.t
- Depends on doxyparse 1.8.18 (provided by Alien::Doxyparse 0.16)
- Update copyright year 2014-2019
- Improve ACCM metric documentation
- Update bash completion script
- Use Digest::SHA instead of `sha1sum`
### Removed
- Removed Debian package source files
### Fixed
- Fix warnings about uninitialized value on tests
- Removed failing Parallelel unit testcase
- Fixed some spelling errors
- Fixed documentation about `--modules` param on `analizo graph`
- Fixed parsing method signature on newer doxyparse YAML output
- Fixed warning about Cucumber TestBuilder deprecation
- Declared requirement for Test::BDD::Cucumber::Harness::TAP
## [1.23.0] - 2019-08-10
### Added
- Added new tool files-graph to output graph among files in DOT format
- Add Ubuntu 16 install instructions on documentation
### Changed
- Depends on doxyparse 1.8.15 provided by Alien::Doxyparse 0.13
- Stores cache on distinct dirs for each Analizo version
- Improve ACC metric description on documentation
### Fixed
- Added test for void arguments on C code
- Fix tests to run on right place `t/samples/sample_basic/c/`
- Added missing prereq Graph::Writer::Dot as suggested by CPANTS
- Added atomated tests for httpd-2.4.38 errors
- Added samples for bug parsing kdelibs project
### Removed
- Removed the evolution-matrix visualization tool
- Removed the dsm visualization tool
## [1.22.0] - 2018-09-25
### Removed
- Removed global metric `total_eloc`
- Removed dependency for `sloccount` external tool
### Changed
- Development setup installs Doxyparse from latest source master branch
- Improved the performance for ACC metric calculation
### Fixed
- Update to the newer Doxyparse 1.8.14-7 (fix invalid YAML with "\" char)
- Invalid references to function
- Limit Doxyparse YAML output identifiers to 1024 chars
## [1.21.0] - 2018-04-30
### Added
- Added documentation about the meaning of 0 (zero) value for metrics
- Added documentation for C# language support
- Added tests for Java Enumerations and Java Generics with Wildcards<?>
- Added tests for Doxyparse bug parsing mlpack source-code
### Changed
- authors listed on 'Signed-off-by' added to AUTHORS file
- Improving performance by using module `YAML::XS` instead of `YAML`
- Improving performance avoid calculating `Graph` every time
### Deprecated
- Global metric `total_eloc` (Total Effective Lines of Code) is going to be removed next release
### Removed
- Removed dependency for module `Moo`
- Removed dependency for pragma `base`
### Fixed
- Fix documentation for LCOM4 metric
- Fix missing dependency for `Class::Inspector`
- Removing cache after every test execution
## [1.20.8] - 2018-03-23
### Added
- Auto generate META.json using dzil plugin MetaJSON
### Fixed
- Changed markdown syntax to fix pandoc html transforming
- Tests depends on File::Slurp
- Env::Path is required at runtime
### Removed
- Removed dependency for Method::Signatures
## [1.20.7] - 2018-02-07
### Changed
- Change development script to install CPAN modules without sudo.
### Fixed
- Fix tests to run under Perl located in different paths.
### Removed
- Removed external dependency for `man`.
## [1.20.6] - 2018-02-06
### Changed
- Added doxyparse as Debian dependency (hardcoded).
- Added sloccount as Debian dependency (hardcoded).
### Deprecated
- Analizo visualization tools `dsm` and `evolution-matrix` are going to be removed from Analizo, the tools will be refactored or just removed.
### Removed
- Removed external dependency for `sqlite3`.
- Removed external dependency for `man`.
## [1.20.5] - 2018-02-03
### Changed
- Depends on doxyparse 1.8.14-4 provided by Alien::Doxyparse 0.06.
### Fixed
- Fix dependencies to run test suite on cpantesters.
- Fix travis-ci build.
## [1.20.4] - 2018-02-02
### Fixed
- Fix YAML duplicate key.
- Fix bin PATH for doxyparse and sloccount external tools.
- Fix missing dependencie for App::Cmd.
## [1.20.3] - 2018-01-26
### Changed
- Test suite refactored (package namespace t::Analizo renamed to Test::Analizo).
## [1.20.2] - 2018-01-06
### Added
- New dependencies: Alien::Doxyparse Alien::SLOCCount.
### Fixed
- Avoid warnings about YAML duplicate map key "inherits".
## [1.20.1] - 2018-01-02
### Added
- Changelog based on "Keep a Changelog" project.
### Changed
- Copyright holder name and email.
- Development documentation updated.
### Fixed
- Dist::Zilla::Deb `debuild` task to build Debian package.
- Declaring missing Debian dependencies.
## [1.20.0] - 2017-12-29
### Added
- Source code metrics documentation.
- Dockerfile added.
- Support for C# (CSharp).
- More automated tests.
### Changed
- Doxyparse Extractor uses YAML output.
- Depends on Doxyparse 1.8.14+.
- Build process migrated from Rake to Dist::Zilla.
- Migrate from ZeroMQ to ZMQ::FFI.
### Removed
- CLANG Extractor removed.
- Security metrics provided by CLANG Extractor removed.
- Analizo site source code moved to new repository.
- Ruby dependency removed.
### Fixed
- Fixed Docker setup to run tests on Travis.
- Script development-setup.sh fixed.
- Running of a single acceptance Cucumber test fixed.
[Unreleased]: https://github.com/analizo/analizo/compare/1.25.5...HEAD
[1.25.5]: https://github.com/analizo/analizo/compare/1.25.4...1.25.5
[1.25.4]: https://github.com/analizo/analizo/compare/1.25.3...1.25.4
[1.25.3]: https://github.com/analizo/analizo/compare/1.25.2...1.25.3
[1.25.2]: https://github.com/analizo/analizo/compare/1.25.1...1.25.2
[1.25.1]: https://github.com/analizo/analizo/compare/1.25.0...1.25.1
[1.25.0]: https://github.com/analizo/analizo/compare/1.24.0...1.25.0
[1.24.0]: https://github.com/analizo/analizo/compare/1.23.0...1.24.0
[1.23.0]: https://github.com/analizo/analizo/compare/1.22.0...1.23.0
[1.22.0]: https://github.com/analizo/analizo/compare/1.21.0...1.22.0
[1.21.0]: https://github.com/analizo/analizo/compare/1.20.8...1.21.0
[1.20.8]: https://github.com/analizo/analizo/compare/1.20.7...1.20.8
[1.20.7]: https://github.com/analizo/analizo/compare/1.20.6...1.20.7
[1.20.6]: https://github.com/analizo/analizo/compare/1.20.5...1.20.6
[1.20.5]: https://github.com/analizo/analizo/compare/1.20.4...1.20.5
[1.20.4]: https://github.com/analizo/analizo/compare/1.20.3...1.20.4
[1.20.3]: https://github.com/analizo/analizo/compare/1.20.2...1.20.3
[1.20.2]: https://github.com/analizo/analizo/compare/1.20.1...1.20.2
[1.20.1]: https://github.com/analizo/analizo/compare/1.20.0...1.20.1
[1.20.0]: https://github.com/analizo/analizo/compare/1.19.1...1.20.0