No description
  • PHP 99.1%
  • Shell 0.9%
Find a file
copilot-swe-agent[bot] eedce8fb32 Use Punycode filenames for non-ASCII TLD suffix data files
Some systems and tools (e.g., certain archive extractors, Windows
environments, or CI pipelines) do not properly handle non-ASCII
characters in file paths. The public suffix data files for
internationalized TLDs (such as ישראל, СРБ, 香港, and ไทย) were stored
using their native Unicode names, which caused installation failures
on those systems.

This commit converts those filenames to their Punycode equivalents
(e.g., XN--4DBRK0CE.php instead of ישראל.php) using `idn_to_ascii()`.
Both the data generation command (`UpdateDomainSuffixesCommand`) and the
runtime validator (`PublicDomainSuffix`) are updated to use the same
Punycode-based file lookup, ensuring consistency. A polyfill dependency
(`symfony/polyfill-intl-idn`) is added so that `idn_to_ascii()` is
available even when the `intl` PHP extension is not installed.

Assisted-by: Claude Code (Claude Opus 4.6)
Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
2026-02-09 17:34:56 +01:00
.github Update composer lifecycle 2026-02-06 19:20:10 +00:00
bin Enhance LintSpdxCommand with contributor tracking and header normalization 2026-02-03 15:23:20 +01:00
data Use Punycode filenames for non-ASCII TLD suffix data files 2026-02-09 17:34:56 +01:00
docs Add wildcard support to ResultQuery::findByPath() 2026-02-08 22:43:06 +01:00
LICENSES Introduce REUSE compliance 2026-01-21 06:28:11 +00:00
src Use Punycode filenames for non-ASCII TLD suffix data files 2026-02-09 17:34:56 +01:00
src-dev Use Punycode filenames for non-ASCII TLD suffix data files 2026-02-09 17:34:56 +01:00
tests Add wildcard support to ResultQuery::findByPath() 2026-02-08 22:43:06 +01:00
.gitattributes Export aliases.php in package 2026-02-09 15:34:55 +01:00
.gitignore Update composer lifecycle 2026-02-06 19:20:10 +00:00
.readthedocs.yaml Improve syntax highlighting in MkDocs pages 2026-01-05 17:54:43 +01:00
aliases.php Upgrade respect/string-formatter to 1.6.0 and remove redundant alias 2026-02-09 13:38:40 +01:00
codecov.yml Use Pest instead of PHPT files 2024-12-16 17:07:47 +01:00
composer.json Use Punycode filenames for non-ASCII TLD suffix data files 2026-02-09 17:34:56 +01:00
composer.lock Use Punycode filenames for non-ASCII TLD suffix data files 2026-02-09 17:34:56 +01:00
CONTRIBUTING.md Improve Documentation 2026-02-01 22:46:48 +00:00
LICENSE Introduce REUSE compliance 2026-01-21 06:28:11 +00:00
mkdocs.yml Use awesome-pages to customize the menus 2026-01-26 12:26:06 +01:00
phpbench.json.dist Remove mathematical, niche and deprecated validators 2026-01-30 16:08:27 +00:00
phpcs.xml.dist Remove mathematical, niche and deprecated validators 2026-01-30 16:08:27 +00:00
phpstan.neon.dist Create ShortCircuit validator and ShortCircuitable interface 2026-02-05 17:32:42 +01:00
phpunit.xml.dist Remove mathematical, niche and deprecated validators 2026-01-30 16:08:27 +00:00
README.md Update README.md and README.md-linked headline docs 2026-02-01 22:46:02 +00:00
REUSE.toml Update composer lifecycle 2026-02-06 19:20:10 +00:00

Respect\Validation

Build Status Code Coverage Latest Stable Version Total Downloads License

The most awesome validation engine ever created for PHP.

  • Complex validation made simple: v::numericVal()->positive()->between(1, 255)->isValid($input).
  • Advanced exception handling.
  • More than 150 (fully tested) validators.

Learn More: