Resolve the remaining static analysis baseline entries (#614)
Recent Commits to phpdotenv:master
-
Resolve the remaining static analysis baseline entries (#614)
-
Document the real parsing, nesting, comment, escape and validation ru…
Document the real parsing, nesting, comment, escape and validation rules (#609) * Document nested variable resolution rules * Document comment and quoting behaviour * Document escape sequences in double-quoted values * Correct the loader tagline and validation examples * Document multiline values, file options and parse-versus-load
-
Stop comments from starting multiline values (#615)
Stop comments from starting multiline values (#615)
-
Add regression tests for existing behaviour (#608)
Add regression tests for existing behaviour (#608) * Fix the entry test helpers to honour the expected name * Cover interpolation following multibyte text * Cover the nested-variable anchor with a bare dollar and an escaped reference * Cover indented comments * Pin UTF-16 and UTF-32 files with a byte order mark * Strengthen the immutable load test to assert the written state
-
Improve diagnostics and messages (#607)
Improve diagnostics and messages (#607) * Cap the value context in parse error messages * Surface invalid regular expressions in allowedRegexValues * Accept encoding names case-insensitively and via aliases * Clarify the empty-file-path and repository builder messages * Escape control bytes in parse error messages * Run the test suite with the unpolyfilled mbstring functions disabled
-
Strip a leading UTF-8 byte order mark from string content (#606)
Strip a leading UTF-8 byte order mark from string content (#606)
-
Resolve nested variables without re-copying the value prefix (#605)
Resolve nested variables without re-copying the value prefix (#605)
-
Remove quadratic value parsing (#604)
Remove quadratic value parsing (#604) * Add a value factory for pre-computed characters and offsets * Accumulate parsed value chunks in linear time
-
Skip environment writes and reads for names or values containing a nu…
Skip environment writes and reads for names or values containing a null byte (#603)
-
Fix memory-safety crash on invalid UTF-8 variable names (#602)
Fix memory-safety crash on invalid UTF-8 variable names (#602) * Validate variable names with the u modifier instead of the (*UTF8) verb * Add tests pinning invalid UTF-8 name rejection * Strip the export prefix and name quotes with byte operations
-
Improve option and result type precision (#613)
Improve option and result type precision (#613)
-
Require the covariant option and result types (#612)
Require the covariant option and result types (#612)
-
PHP 8.6 support (#601)
PHP 8.6 support (#601) * Test on PHP 8.6 * Update composer.json * Upgrade phpstan
-
Improve parser and loader performance (#600)
Improve parser and loader performance (#600) * Improve loader performance * Avoid quadratic entry accumulation in the parser * Add a literal fast path to the value parser * Consume lexer tokens lazily when parsing values * Simplify splitting entries into parts * Add an ASCII fast path for name validation * Avoid closures when wrapping preg results * Tidy up doc comments
-
Fix formatting of Composer installation command (#589)
Fix formatting of Composer installation command (#589)
-
Fix parsing of export with single character variable names (#599)
Fix parsing of export with single character variable names (#599)
-
Pass explicit trim characters ahead of PHP 8.6 (#597)
Pass explicit trim characters ahead of PHP 8.6 (#597)
-
Update deprecated actions
Update deprecated actions
-
Update composer.json
Update composer.json
-
Update README.md
Update README.md
-
Test on PHP 8.5 (#591)
Test on PHP 8.5 (#591)
-
Replaced whitelists by allow lists
Replaced whitelists by allow lists
-
Work around preg internal limits
Work around preg internal limits