Releases: thecodingmachine/safe
Releases · thecodingmachine/safe
v3.3.0
What's Changed
- Fix
mktime()
on PHP 8.2 and 8.3 by @cedric-anne in #670 - Ignore
long2ip()
that is actually safe by @cedric-anne in #671 - Fix
array_combine()
on PHP 8.1 by @cedric-anne in #672 - Fix
array_flip()
on PHP 8.1 by @cedric-anne in #673 - Fix
array_replace()
/array_replace_recursive()
on PHP 8.1 by @cedric-anne in #674 - Fix
gmp_random_seed()
on PHP 8.1 by @cedric-anne in #677 - Fix
hash_hkdf()
on PHP 8.1 by @cedric-anne in #678 - Fix
sleep()
on PHP 8.1 by @cedric-anne in #679 - Fix
imagecolorsforindex()
on PHP 8.1 by @cedric-anne in #680 - Fix
mysqli_get_client_stats()
on PHP 8.1 by @cedric-anne in #681 - Fix
stream_socket_get_name()
on PHP 8.1 by @cedric-anne in #683 - Fix
apache_request_headers()
/apache_response_headers()
on PHP < 8.4 by @cedric-anne in #684 - Fix
shuffle()
on PHP < 8.4 by @cedric-anne in #685 - Fix
curl_share_errno()
on PHP < 8.4 by @cedric-anne in #686 - Fix
date_parse()
on PHP < 8.4 by @cedric-anne in #688 - Fix
date_sun_info()
on PHP < 8.4 by @cedric-anne in #689 - Fix
openssl_random_pseudo_bytes()
on PHP 8.1 by @cedric-anne in #682 - Fix
date_create()
on PHP < 8.4 by @cedric-anne in #687
Full Changelog: v3.2.0...v3.3.0
v3.2.0
What's Changed
- fix typehint for ini_set, see #133 by @shish in #661
- detect openssl_pkey_get_details in earlier php versions, see #662 by @shish in #663
- Hide the already safe
pack()
function by @cedric-anne in #664 - Fix the generation of
gmmktime()
/mktime()
on PHP 8.4+ by @cedric-anne in #667 - Ignore the already safe
array_walk_recursive()
function by @cedric-anne in #666 - Ignore the already safe
getallheaders()
function by @cedric-anne in #668 - Ignore the already safe
imagesx()
/imagesy()
functions by @cedric-anne in #669 - Ignore the already safe
date()
function by @cedric-anne in #665
New Contributors
- @cedric-anne made their first contribution in #664
Full Changelog: v3.1.1...v3.2.0
v3.1.1
What's Changed
- Automatically regenerate the files by @github-actions in #652
- Automatically regenerate the files by @github-actions in #655
- Automatically regenerate the files by @github-actions in #656
openssl_random_pseudo_bytes
always returns string (closes #654) by @mvhirsch in #658
New Contributors
Full Changelog: v3.1.0...v3.1.1
v3.1.0
What's Changed
- Automatically regenerate the files by @github-actions in #639
- Automatically regenerate the files by @github-actions in #641
- Add falsy regexes, primarily for session functions by @timsmid in #642
- Mark sodium verify functions as hidden by @timsmid in #643
- Automatically regenerate the files by @github-actions in #644
- [generator] use libxml internal errors by @shish in #648
- [array_combine] override phpstan's incorrect function map, fixes #646 by @shish in #647
- [json_decode] update function signature to match PHP 8.X, fixes #645 by @shish in #649
- Automatically regenerate the files by @github-actions in #650
- Automatically regenerate the files by @github-actions in #651
New Contributors
Full Changelog: v3.0.2...v3.0.3
v3.0.2
v3.0.1
What's Changed (Externally visible)
- Generate full functions even for pass-through wrappers, fixes #621 by @shish in #622
- Add a hidden functions list, fixes #618 by @shish in #631
- More thorough nullability detection by @shish in #626
- Make all return types alphabetical by @shish in #624
What's Changed (Internals)
- Fix typos by @szepeviktor in #616
- Update .gitattributes by @mfn in #620
- [generator] better error handling by @shish in #623
- [generator] remove unused function by @shish in #625
- [generator] remove some redundant edge-cases by @shish in #628
- Hide a couple of parameters from stack traces by @shish in #629
- [generator] defer nullable/falsable handling by @shish in #630
- Remove another redundant "bugfix" (and in doing so, fix
pg_copy_from
) by @shish in #632 - More consistent formatting for generated files by @shish in #633
New Contributors
Full Changelog: v3.0.0...v3.0.1
v3.0.0
What's Changed (tl;dr)
- Compatibility with PHP 8.4 - no more syntax deprecation warnings
- Dropped support for EOL'ed PHP versions - PHP 8.1 is the new minimum
- Separate wrappers generated for each PHP version, to make sure that the wrappers match the standard library whether you're using 8.1 or 8.4
- Lots more unsafe functions are detected (including those which return
-1
on error) - Type hints should be more expansive and more accurate
- Internals cleaned up and documentation added, to make the project easier to contribute to
What's Changed (Full)
- Change misspelled occured to occurred by @spawnia in #416
- Remove dev-master aliases by @shish in #463
- Add dependabot config by @shish in #459
- Add devcontainer config by @shish in #458
- Update CI/CD workflows by @shish in #460
- Bring lib/ up to php8.4 standards by @shish in #466
- Bring deprecated override files up to php8.4 syntax by @shish in #464
- Add auto-regenerate CI workflow by @shish in #461
- Use less-old phpstan by @shish in #462
- Skip
json_last_error
check whenJSON_THROW_ON_ERROR
flag is set injson_decode
by @marmichalski in #451 - CI: disable fail-fast so we see all results by @staabm in #469
- Require PHP 8.1 by @simPod in #433
- Remove Travis CI badge from README by @staabm in #472
- fix named arg w json_decode to be consistent with php by @staabm in #473
- Drop double \ from parameter types by @WyriHaximus in #445
- Add custom base64_decode fcn mapping by @simPod in #431
- Fix typo in "signatures" by @simPod in #429
- Update testDetectFalsyFunction by @simPod in #432
- Update symfony dependencies by @staabm in #475
- remove no-longer-needed workaround by @shish in #477
- Force generator to use PHP 8.1.x by @staabm in #476
- Fix regex matching for removed functions by @shish in #483
- Fix file scanning by @shish in #485
- Constructor property promotions by @shish in #482
- enable strict_types in generator by @shish in #481
- Fix unit tests by @shish in #488
- Detect nullable-default parameters and generate appropriate outputs by @shish in #486
- Handle more PHPStan type edge-cases by @shish in #487
- make build.sh more accurately match what the github workflow does by @shish in #491
- Added lint in github actions by @staabm in #493
- PHPStan: enable bleeding edge by @staabm in #494
- Misc smaller changes by @shish in #492
- Regenerate files based on latest code changes by @shish in #489
- Convert "true" typehint to "bool" by @shish in #497
- Create FUNDING.yml by @staabm in #496
- detect inet_pton by @shish in #498
- Automatically regenerate the files by @github-actions in #478
- Generate code which better matches our formatting standards by @shish in #501
- support union type from php documentation by @smoench in #506
- Automatically regenerate the files by @github-actions in #505
- Automatically regenerate the files by @github-actions in #507
- Automatically regenerate the files by @github-actions in #509
- fix unit tests by @shish in #513
- remove $ so cut-and-paste works by @tacman in #514
- [generator] make import tests into a unit test by @shish in #517
- [docker] mark doc directories as safe for git to use by @shish in #516
- [docker] exit early if build fails by @shish in #515
- [generator] make import tests into a unit test by @shish in #512
- [docker] mark doc directories as safe for git to use by @shish in #511
- fix openssl_encrypt special case signature by @shish in #518
- Remove APC bits by @shish in #519
- Automatically regenerate the files by @github-actions in #520
- Re-sync generator/config/specialCasesFunctions.php by @shish in #521
- [ci] split "Regenerate files" and "check for differences" into two steps by @shish in #524
- [ci] also split steps for auto-regen workflow by @shish in #525
- [ci] fetch full history for php docs by @shish in #526
- [auto-regenerate] fetch full history for docs by @shish in #527
- Automatically regenerate the files by @github-actions in #532
- Remove libxml_get_last_error because false is not an error in this case, fixes #438 by @shish in #528
- Ignore functions which were removed pre-8.1 by @shish in #529
- [cli] use ProgressBar rather than log spam by @shish in #530
- ignore phpstan when phpstan claims that something is a resource, fixes #448, fixes #479, fixes #411 by @shish in #533
- Remove support for deprecated functions (which will be re-added later) by @shish in #536
- remove unused file from generator by @shish in #535
- Add an architecture overview section to the contributor guide by @shish in #534
- superficial bits in preparation for #503 by @shish in #540
- Move tests for generated files into generated file test folder by @shish in #538
- [ci] make rector tests less redundant by @shish in #542
- Document which versions of PHP are supported by @shish in #539
- [dev] function-info command by @shish in #531
- [generator] reduce hard-coding of directory paths by @shish in #543
- bump php version used in docker by @shish in #544
- more removal of hard-coded paths by @shish in #545
- Organise generator into namespaces by @shish in #541
- Generate files for multiple versions by @shish in #503
- Run phpstan on unit test directory by @shish in #548
- [dev] also mark /app as safe during .devcontainer/build.sh by @shish in #549
- [generator] fix typo by @shish in #550
- [generator] strip another category of falsey text by @shish in #551
- [generator] a little superficial consistency by @shish in #552
- [generator] ignore benevolence properly by @shish in #553
- Fix return types being incorrectly marked as resources, fixes #546 by @shish in #547
- [generator] Remove redundant phpstan overrides by @shish in #554
- remove superfluous null from preg_match_all, fixes #389 by @shish in #556
- mark shell_exec as falsy, not nullsy, fixes #281 by @shish in #557
- more docs by @shish in #558
- fix signature for socket_addrinfo_bind by @shish in #559
- more manual hints by @shish in #560
- Mark gener...
v2.5.0
What's Changed
- Automatically regenerate the files by @github-actions in #397
- Fix DateTimeImmutable::createFromInterface error by @yann-eugone in #402
- specify Safe\createFromMutable return changing type for php8.2 by @MarvinCourcier in #406
- FIX: Fix openssl_pkey_get_* functions by @martinssipenko in #409
New Contributors
- @yann-eugone made their first contribution in #402
- @MarvinCourcier made their first contribution in #406
- @martinssipenko made their first contribution in #409
Full Changelog: v2.4.0...v2.5.0
v2.4.0
v2.3.1
What's Changed
- Automatically regenerate the files by @github-actions in #391
- Automatically regenerate the files by @github-actions in #393
- Fix undefined sleep() function due to autoloading issue by @colinodell in #390
New Contributors
- @colinodell made their first contribution in #390
Full Changelog: v2.3.0...v2.3.1