Skip to content

Commit f8b8df4

Browse files
committed
Prepare changelog fro release 3.0.0-rc1.
1 parent 70c08d3 commit f8b8df4

File tree

1 file changed

+39
-1
lines changed

1 file changed

+39
-1
lines changed

CHANGELOG.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,45 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

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
846

947
### Fixed
1048
- Fixed errors in HTML template. (thanks @Hikingyo and @gemal)

0 commit comments

Comments
 (0)