@@ -4,7 +4,45 @@ All notable changes to this project will be documented in this file.
4
4
The format is based on [ Keep a Changelog] ( http://keepachangelog.com/en/1.0.0/ )
5
5
and this project adheres to [ Semantic Versioning] ( http://semver.org/spec/v2.0.0.html ) .
6
6
7
- ## [ 2.8.2] - 2023-02-??
7
+ ## [ 3.0.0-rc1] - 2023-04-11
8
+
9
+ This new major version is containing lots of internal re-architecture processes in the source code, and upgrades the
10
+ internal quality of PhpMetrics to a new level. Nevertheless, it contains also some BC Breaks and some metrics are
11
+ remove. Please take a look at the detailed changelog below if you experiment any trouble.
12
+
13
+ ### BC Break
14
+ - PhpMetrics 3.0 is requiring PHP 8.1 minimum. To parse projects that are not yet in PHP 8.1, please use a docker
15
+ installation based on a PHP 8.1 Docker Image
16
+ - Git and JUnit plugins are no longer allowed in the configuration file
17
+
18
+ ### Removed
19
+ - Installation and usage from Debian package. Please use the phar, composer, or docker instead
20
+ - ** Metric removed** : Git related metrics
21
+ - ** Metric removed** : PHPUnit related metrics
22
+ - ** Metric removed** : PageRank metric
23
+ - ** Metric removed** : On System Complexity, totalStructuralComplexity, totalDataComplexity and totalSystemComplexity.
24
+ - ** Metric removed** : On class-method enumeration, nbGetters and nbSetters are removed as no particular metric needs them.
25
+
26
+ ### New features
27
+ - __ Internal__ : Install a real dedicated QA system to secure PhpMetrics as mch as possible
28
+ - __ Internal__ : QA System is composed of PHP_CodeSniffer, PHPUnit, PHP Infection, PHPStan, Psalm and Qodana
29
+ - __ Internal__ : Make possible to create releases with suffixed names
30
+ - Minor UX/UI improvements on the HTML report.
31
+
32
+ ### Fixed
33
+ - __ Internal__ : QA completely upgraded. PHPCS, PHPStan, Psalm and Qodana are no longer having errors except on baseline.
34
+ Coverage is very close to 100%. All unit tests are passing. Mutation Score >94%. Some improvements are yet to come
35
+ - ** Metric calculations** : Fix LCoM calculation that was not able to understand promoted properties in constructor.
36
+ - ** Metric calculations** : Ignore PHP Attributes in the detection of getters and setters. This fixes LCoM calculation.
37
+ - ** Metric calculations** : Improve calculation on Afferent Coupling and Efferent Coupling (+ related metrics) thanks to
38
+ enlarged context of external classes usages detection.
39
+ - ** Metric calculations** : Take NullSafeMethodCall (` $x?->y() ` ) into account for WeightMethodCount and Cyclomatic Complexity calculation.
40
+ - ** Metric calculations** : Take NullSafePropertyFetch (` $x?->y ` ) into account for WeightMethodCount and Cyclomatic Complexity calculation.
41
+ - ** Metric calculations** : Take newly introduced ` match ` structure into account for WeightMethodCount and Cyclomatic Complexity calculation.
42
+ - ** Metric calculations** : Improve KanDefect metrics as ` match ` are now took into account as number of selects, along with switches.
43
+ - ** Metric calculations** : On System Complexity, relative complexities are now calculated including NullSafeMethodCall (` $x?->y() ` ).
44
+
45
+ ## [ 2.8.2] - 2023-03-08
8
46
9
47
### Fixed
10
48
- Fixed errors in HTML template. (thanks @Hikingyo and @gemal )
0 commit comments