Skip to content

9.0.0: Drop support for PHP < 7.2 and clean up things

No due date 91% complete
  • switch to a current coding standard (PER2) to make the code more readable and consistent with other projects
  • create a class diagram (in Mermaid embedded in Markdown) to help us understand the system
  • make the code coverage publicly visible, add a link or badge from the README to the code coverage reports, and have a tool report the effects of PRs on th…
  • switch to a current coding standard (PER2) to make the code more readable and consistent with other projects
  • create a class diagram (in Mermaid embedded in Markdown) to help us understand the system
  • make the code coverage publicly visible, add a link or badge from the README to the code coverage reports, and have a tool report the effects of PRs on the code coverage numbers
  • do some automated code cleanup (using Rector)
  • rename internal things (including parameter names) to ditch the Hungarian notation
  • comb through the existing tests, make them more fine-grained, clean them up and divide them into unit tests (which test only one class at a time) and functional tests (which test the whole system)
  • add proper dedicated getters and setters to OutputFormat and drop/deprecate the dynamic property accesses and magic methods
  • add more basic unit tests so we have at least the basic functionality covered
  • announce on social media that we are looking for more contributors (and possibly co-maintainers, if the collaboration is constantly good)
  • add a Composer script to re-create the class diagram
  • automate the Doxygen-generated documentation
  • go through the open PRs one by one, from old to new, decide if we want to have it at all, and re-create it with good test coverage (and then merge it)
  • go through the open tickets and categorize or close them
  • fix the bugs reported in the tickets
  • drop or enforce usage of mb_* methods
  • add logging
  • drop the switch for the lenient mode and instead use the behavior that matches what browsers do
  • use PHP 7.2 language-level code features (using Rector)
  • add native type declarations (using Rector)
  • raise the PHPStan levels one by one and fix all warnings
  • add extra-strict PHPStan rules and fix all warnings
  • set up mutation testing using Infection, go through the findings, and add test for the most important missed things
  • add a PHPStan extension for cognitive complexity and refactor the code to be easier to grok
  • make the types less ambiguous and more strict
  • find and fix the worst performance bottlenecks
  • every now and then test the latest development version with Emogrifier
  • release version 9.0.0
Add rebasing guidelines to CONTRIBUTING.md developer-specific Issues that only affect maintainers, contributors, and people submitting PRs documentation
#1215 opened Mar 25, 2025 by JakeQZ
Add native type declarations
#434 opened Feb 3, 2024 by oliverklee
Split the tests
#460 opened Feb 11, 2024 by oliverklee
Deprecate the lenient mode switch
#463 opened Feb 12, 2024 by oliverklee
Add contributing guidelines developer-specific Issues that only affect maintainers, contributors, and people submitting PRs documentation
#489 opened Feb 22, 2024 by JakeQZ
5 of 15 tasks
Test expressions involing brackets css4 Relating to features introduced in CSS4 testing PRs/issues adding additional tests only, or primarily testing-focused
#621 opened Jun 26, 2024 by JakeQZ
Recognize more size units enhancement
#647 opened Jul 10, 2024 by raxbg Loading…
Add basic tests for all classes
#757 opened Nov 3, 2024 by oliverklee 100+
Supporting CSS Color Module Level 4 and 5 css4 Relating to features introduced in CSS4 enhancement
#801 opened Jan 23, 2025 by JakeQZ
3 of 18 tasks
Mention composer ci and composer list in CONTRIBUTING.md developer-specific Issues that only affect maintainers, contributors, and people submitting PRs documentation
#815 opened Jan 26, 2025 by JakeQZ
Add class comments to all CSS element classes developer-specific Issues that only affect maintainers, contributors, and people submitting PRs documentation
#928 opened Feb 15, 2025 by oliverklee
Rename getLineNo() to getLineNumber() cleanup
#974 opened Feb 24, 2025 by oliverklee
2 of 3 tasks
Use strict comparisons
#976 opened Feb 24, 2025 by oliverklee
Value/rule parsing issues bug
#1010 opened Feb 27, 2025 by JakeQZ
Simplify RuleSet::addRule() cleanup
#1015 opened Feb 27, 2025 by oliverklee
Rename Size.size to .number
#1087 opened Mar 5, 2025 by oliverklee
Rename Size::$SIZE_UNITS cleanup
#1091 opened Mar 6, 2025 by oliverklee
Minimum version of composer-normalize requires PHP 7.4 developer-specific Issues that only affect maintainers, contributors, and people submitting PRs
#1213 opened Mar 25, 2025 by JakeQZ
Code coverage server is unreliable developer-specific Issues that only affect maintainers, contributors, and people submitting PRs github_actions Pull requests that update GitHub Actions code investigation needed Further investigation is needed to determine the nature of the problem, or if it even is an issue.
#1234 opened Apr 7, 2025 by JakeQZ