OpenMay 3, 2026
No due date
•Last updated - 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 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)
- 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
- 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
60% complete
List view
0 issues of 21 selected
- Status: Closed (completed).#1553 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1394#1394 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1559#1559 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1560#1560 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1564#1564 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1565#1565 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1567#1567 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1568#1568 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1569#1569 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1570#1570 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1571#1571 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1572#1572 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1573#1573 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1574#1574 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1575#1575 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1576#1576 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1577#1577 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1578#1578 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1579#1579 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1580#1580 In MyIntervals/PHP-CSS-Parser;
- Status: Merged (completed).MyIntervals/PHP-CSS-Parsernumber 1581#1581 In MyIntervals/PHP-CSS-Parser;