v1.1.0
This release implements the Automata-based Logic Solver pipeline (AST -> NFA -> DFA). This enables logical operations on regex patterns beyond standard matching.
Automata Logic Solver
The engine can now mathematically compare two patterns:
- Intersection: Checks if two regexes share a common matching string (useful for routing collision detection).
- Subset: Validates if a pattern is strictly included within another.
- Counter-examples: Generates the shortest string that causes a conflict when a comparison fails.
Added bin/regex compare command.
Security & ReDoS
- Added benchmarking tools to measure ReDoS vulnerabilities.
- Added interactive
redoscommand to validate fixes.
Linting
Ported rules from eslint-plugin-regexp to PHP, focusing on legacy code cleanup:
- Detection of duplicate character class elements.
- Removal of useless quantifiers and ranges.
- Detection of empty alternatives and duplicate disjunctions.
