Skip to content

v1.1.0

Choose a tag to compare

@yoeunes yoeunes released this 07 Jan 04:27
· 73 commits to main since this release
53d6f5b

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 redos command 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.
CleanShot 2026-01-07 at 05 26 03