nette / schema

📐 Validating data structures against a given Schema.
https://doc.nette.org/schema
Other
905 stars 26 forks source link

Tag for PHP 8.4 support #68

Closed driesvints closed 1 month ago

driesvints commented 2 months ago

Can we get a tag for PHP 8.4 support? Seems it's already landed but just awaiting a release: https://github.com/nette/schema/compare/v1.3.0...master

That would help us get to PHP 8.4 support in Laravel: https://github.com/laravel/framework/pull/52633

mabar commented 2 months ago

You can't be sure that release is compatible with PHP 8.4 until stable version of PHP 8.4 is released (or is at least very close). To ensure compatibility, it is better to wait. It is not really a blocking issue because you can add switches --ignore-platform-req=php+ --stability=dev --prefer-stable to the composer install command on PHP 8.4 build and it will install unreleased version, if necessary. This approach works for everyone downstream until the whole chain of dependencies has stable releases with included support.

driesvints commented 2 months ago

Maybe it's indeed better to wait for an RC release but I suggest tagging a compatible version when that happens. If you wait until the actual release of PHP 8.4 then every upstream dependent library is blocked from releases PHP 8.4 versions as well and thus end users are blocked as well. It's best to do these releases in advance but I agree with you that during the beta period it might be a bit too soon.

mabar commented 2 months ago

If RC version works, then it may indeed be the right time to do the release. Also it is technically possible to release stable version of laravel/framework compatible with PHP 8.4 even when its dependencies don't support it in stable release just yet. Update would block the end user the same way as it happened to you and they can resolve it in the way I proposed here. Which should be understandable by anyone who wants to use PHP 8.4 before its release. If all libraries release stable version e.g. a week before PHP release then end users using stable version shouldn't notice at all, library devs don't have to wait on each other either and they can be certain no patch releases due to changes in PHP will be needed.

dg commented 2 months ago

https://doc.nette.org/en/best-practices/composer#toc-ignoring-php-version

driesvints commented 2 months ago

@dg thank you. We are aware of that and have used it in the past but as I stated above this is about full stable support for PHP 8.4 on Laravel. Without a tag on this library that isn't possible I'm afraid. Again, more than happy to let this wait until a first RC 👍

jnoordsij commented 1 month ago

Just a heads-up that the first RC for PHP 8.4 is now released; this should mean it's stable enough to tag this package as compatible if it passes all tests on this version.

dg commented 1 month ago

version 1.3.1 supports PHP 8.4