Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate new PHP 84 DOM features #72

Closed
5 tasks done
veewee opened this issue Feb 20, 2024 · 1 comment
Closed
5 tasks done

Investigate new PHP 84 DOM features #72

veewee opened this issue Feb 20, 2024 · 1 comment
Labels
Breaking change enhancement New feature or request

Comments

@veewee
Copy link
Owner

veewee commented Feb 20, 2024

Investigation

The General idea : create v4 of this library that requries PHP 8.4+ and make the DOM layer spec compliant + add the newly introduced features.

It won't be possible to support both v3 and v4 in your own repo's, since the type signatures will be different.
At the time of the split, both versions will be compatible with each other in functionality. v3 will not opt in to the spec, v4 will. However v4 will be the path forward: active development will happen on that branch.

Downside : this drops support for all older PHP versions which will be annoying.

Therefore : Both v3 and v4 will be LTS branches.
This will give you enough time to upgrade your own installations and usages of this package.
At the moment, there is no EOL for v3. I'll take into account the maintenance overhead until a reasable period in time.

Feature Request

Add support for new PHP 84 DOM features

Changes

✅ Spec compliance

✅ XLS + Xpath callbacks

✅ XMLReader writer streams

Build beta PHP locally

./buildconf --force
make clean
git clean -fdx Zend/zend_language_*
./configure --without-iconv --enable-mbstring --disable-opcache --with-xsl --with-zlib --with-openssl --prefix=$HOME/php/build
make -j4
make install
$HOME/php/build/bin/php -v

Adding pcov:

git clone https://github.com/krakjoe/pcov.git
cd pcov
$HOME/php/build/bin/phpize
./configure --prefix=$HOME/php/build --with-php-config=$HOME/php/build/bin/php-config --enable-pcov
make
make install
@veewee veewee mentioned this issue Feb 21, 2024
8 tasks
@veewee veewee changed the title Investigate spec compliance (PHP 84) Investigate new PHP 84 DOM features Sep 18, 2024
@veewee veewee added enhancement New feature or request Breaking change labels Sep 18, 2024
@veewee
Copy link
Owner Author

veewee commented Sep 21, 2024

@Sammyjo20

This is gonna be a quite breaking change that bumps the php dependency directly to php 8.4 for V4 of this package. The idea is to maintain 3.x for a longer time as well so you're not forced to upgrade.

How would you see adoption in xml-wrangler?

(You can already play around with it on the v4.x branch or I could tag a beta if you like )

@veewee veewee closed this as completed Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking change enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant