|
| 1 | +--- |
| 2 | +layout: page |
| 3 | +title: v4.0 Release Notes |
| 4 | +--- |
| 5 | + |
| 6 | +**Release Date:** 02 January 2025 |
| 7 | + |
| 8 | +<div style="background-color: AntiqueWhite; font-style: italic; padding: 15px;"> |
| 9 | + <strong>Note:</strong> The primary focus of this release was to a) reach full PHP 8.x compatibility and b) reach full MySQL 8.x compatbility. All other aspects were secondary to those. |
| 10 | +</div> |
| 11 | + |
| 12 | +{% include download-github.md %} |
| 13 | + |
| 14 | +{% include reporting-problems.md %} |
| 15 | + |
| 16 | +## New Features |
| 17 | + |
| 18 | +* Added carbon to handle date/timezone processing |
| 19 | + |
| 20 | +## Fixes/Bugs Closed |
| 21 | + |
| 22 | +* Updated array references, curly braces, and method signatures for PHP 8.x compatibility |
| 23 | +* Applied database schema updates for mysql 5.6 compatibility |
| 24 | +* Updated database calls for mysql 8.x compatibility - mostly bad date formats (0000-00-00) |
| 25 | + |
| 26 | +## Misc Changes/Improvements |
| 27 | + |
| 28 | +* Removed the `/vendor` directory and let Composer handle it |
| 29 | +* Updated the phing build script to use updated versions of phploc and phpstan |
| 30 | +* Removed ADODB as our needed functionality has moved into core PHP |
| 31 | +* Updated jpgraph to a more recent version |
| 32 | +* Cleaned up the Search module to use the hook_search properly |
| 33 | +* Fixes to numerous views for tables (index), views, and similar to fix warnings |
| 34 | +* Cleaned up a ton of PHP error log warnings |
| 35 | +* Lots of other cleanups throughout, some provided by Opto in the old 3.4 branch |
| 36 | + |
| 37 | +## Open/Known Issues |
| 38 | + |
| 39 | +* Removed the File Explorer from the Files module |
| 40 | +* Removed the file versioning from the Files module |
| 41 | + |
| 42 | +{% include metrics-phing.md %} |
| 43 | + |
| 44 | +* Lines of Code: 64089 (9030 of comments, 55059 of code) |
| 45 | +* Cyclomatic Complexity: |
| 46 | + * Per Class: 18.48 (min: 1.0, max: 242.0) |
| 47 | + * Per Method: 2.46 (min: 1.0, max: 64.0) |
| 48 | + * Per Line of Code: 0.25 |
| 49 | +* Interfaces: 2 |
| 50 | +* Traits: 0 |
| 51 | +* Classes: 133 (128 Concrete, 5 Abstract) |
| 52 | + * Lines of Code/Class: 84 |
| 53 | + * Class Constants: 6 |
| 54 | + * Methods: 1619 (48 static, 1571 non-static) |
| 55 | + * Public: 1502 |
| 56 | + * Protected: 108 |
| 57 | + * Private: 9 |
| 58 | + * Lines of Code/Method: 6 |
| 59 | +* Functions: 203 |
| 60 | +* Constants: 72 |
0 commit comments