Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 920701 - dev-lang/php-8.2.15 stabilization
Summary: dev-lang/php-8.2.15 stabilization
Status: IN_PROGRESS
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Stabilization (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords: CC-ARCHES
: 925003 (view as bug list)
Depends on: 927461
Blocks: 918893
  Show dependency tree
 
Reported: 2023-12-25 20:32 UTC by Florian Schmaus
Modified: 2024-04-15 10:33 UTC (History)
13 users (show)

See Also:
Package list:
dev-lang/php-8.2.15 virtual/httpd-php-8.2 amd64 arm arm64 ppc ppc64 sparc x86
Runtime testing required: ---
nattka: sanity-check+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Schmaus gentoo-dev 2023-12-25 20:32:58 UTC
PHP 8.1 will only receive security updates starting 2024 and was only actively supported until 2023-11-25 [1]. We should stabilize PHP 8.2 soon.

1: https://www.php.net/supported-versions.php
Comment 1 Florian Schmaus gentoo-dev 2024-01-06 21:15:51 UTC
Removing the dependency on bug #918893 since it appears that PHP 8.2 can be stabilized without first unmasking the PHP_TARGETS. Please re-add the dependency if this is wrong.
Comment 2 Michael Orlitzky gentoo-dev 2024-01-07 00:01:00 UTC
(In reply to Florian Schmaus from comment #1)
> Removing the dependency on bug #918893 since it appears that PHP 8.2 can be
> stabilized without first unmasking the PHP_TARGETS. Please re-add the
> dependency if this is wrong.

I really don't know, it would need a CI run. If anyone else wants to give it a try, feel free, and just commit it if it works.
Comment 3 Michael Orlitzky gentoo-dev 2024-01-07 16:25:27 UTC
I think I remembered the issue.

Stable users have it good. In the past, we've always synchronized the stable versions of dev-lang/php and the stable/default PHP_TARGETS. That meant that stable users could (relatively easily compared to ~arch) just emerge php, and emerge the extensions that they want to use, and it would all just be guaranteed to work.

If we break that tradition *now*, then anyone who relied on it in the past without thinking too hard will upgrade to php-8.2, and the upgrade will quietly disable their extensions. (If everything Just Worked in the past, you probably won't have specific-enough entries in make.conf and @world). That issue furthermore has an annoying tendency to surface after the next reboot or apache restart, far in the future.

Given the current labor shortage I won't say that we have to continue that trend, but IIRC that's the reasoning.
Comment 4 Forza 2024-01-14 12:20:26 UTC
Hi, 

I am running Nextcloud and Mediawiki on an php 8.1 instance and have just upgraded to php 8.2. The only php extension that didn't upgrade is dev-php/pecl-gnupg due to missing use flag.

Some basic checking reveals no errors un either application and no errors in the php-fpm log.


I'm not saying we should unmask php_targets_php8-2 right away, but maybe we can ask volontears to test? Maybe ask in #gentoo or post a news entry on the gentoo.org to get more attention? 



The following php ebuilds are installed on this system:

# eix dev-php/* -I#
dev-php/ca-bundle
dev-php/composer
dev-php/fedora-autoloader
dev-php/igbinary
dev-php/json-schema
dev-php/jsonlint
dev-php/metadata-minifier
dev-php/pecl-apcu
dev-php/pecl-imagick
dev-php/pecl-redis
dev-php/phar-utils
dev-php/psr-log
dev-php/reactphp-promise
dev-php/semver
dev-php/spdx-licenses
dev-php/symfony-config
dev-php/symfony-console
dev-php/symfony-dependency-injection
dev-php/symfony-event-dispatcher
dev-php/symfony-filesystem
dev-php/symfony-finder
dev-php/symfony-process
dev-php/symfony-yaml
dev-php/theseer-Autoload
dev-php/theseer-DirectoryScanner
dev-php/xdebug-handler
dev-php/zetacomponents-Base
dev-php/zetacomponents-ConsoleTools

# eix php  -I#
app-eselect/eselect-php
dev-lang/php
dev-php/reactphp-promise
virtual/httpd-php


# emerge --info
Portage 3.0.61 (python 3.11.7-final-0, default/linux/amd64/17.1/no-multilib, gcc-13, glibc-2.38-r9, 6.6.10-gentoo-e350 x86_64)
=================================================================
System uname: Linux-6.6.10-gentoo-e350-x86_64-AMD_Ryzen_5_5600G_with_Radeon_Graphics-with-glibc2.38
KiB Mem:    32224128 total,   2449020 free
KiB Swap:   25163756 total,  25163756 free
Timestamp of repository gentoo: Sun, 14 Jan 2024 09:15:01 +0000
Head commit of repository gentoo: 23e1c48830f20d36f1be9c05a5921762475c369d
Timestamp of repository dlang: Sat, 13 Jan 2024 20:35:10 +0000
Head commit of repository dlang: 04fe97ea4a7f22ee9f8dc29605bd11c951a6ecfb

Timestamp of repository flussence: Sat, 13 Jan 2024 20:35:20 +0000
Head commit of repository flussence: 908a29e5e49fee9d5a4096cb2b90ad8004f11c14

Timestamp of repository plex-overlay: Mon, 08 Jan 2024 12:20:25 +0000
Head commit of repository plex-overlay: 2390383800facb731961a3c9b24c5dbda87dd333

Timestamp of repository tamiko: Sat, 13 Jan 2024 18:05:21 +0000
Head commit of repository tamiko: c730bd012addef687ab97f7e451f67178a6ee3fe

Head commit of repository wsdd: 9f67b561aef062d6952d64a4cf224419c227b2db

sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p4) 2.41.0
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.0-r2::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r1::gentoo
dev-lang/python:           3.11.7::gentoo, 3.12.1_p1::gentoo
dev-lang/rust:             1.74.1::gentoo
dev-util/cmake:            3.27.9::gentoo
sys-apps/baselayout:       2.14-r1::gentoo
sys-apps/openrc:           0.48::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/autoconf:        2.71-r6::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.41-r3::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo
sys-devel/gcc:             13.2.1_p20230826::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             17.0.6::gentoo
sys-devel/llvm:            16.0.6::gentoo, 17.0.6::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r9::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://localhost/gentoo-portage
    priority: -1000
    volatile: True
    sync-rsync-verify-jobs: 4
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes

crossdev
    location: /var/db/repos/crossdev
    masters: gentoo
    volatile: False

dlang
    location: /var/db/repos/dlang
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/dlang.git
    masters: gentoo
    volatile: False

flussence
    location: /var/db/repos/flussence
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/flussence.git
    masters: gentoo
    volatile: False

local
    location: /var/db/repos/local
    masters: gentoo
    priority: 0
    volatile: False

plex-overlay
    location: /var/db/repos/plex-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/plex-overlay.git
    masters: gentoo
    volatile: False

tamiko
    location: /var/db/repos/tamiko
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/tamiko.git
    masters: gentoo
    volatile: False

wsdd
    location: /var/db/repos/wsdd
    sync-type: git
    sync-uri: https://github.com/christgau/wsdd-gentoo.git
    masters: gentoo
    volatile: False

Installed sets: @X, @antivirus, @apache, @benchmark, @caddy, @crypt, @dlang, @dovecot, @efi, @fileserver, @gitea, @mail, @media, @misc, @monitoring, @netdata, @network, @nextcloud, @plex, @qemu, @rocm, @services, @systools, @toolchain, @tor, @unifi, @wiki, @wordpress, @xmpp
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA ubiquiti Oracle-BCLA-JavaSE RAR AMD-GPU-PRO-EULA PUEL OPERA-2018 MakeMKV-EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/unifi"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.1/ext-active/ /etc/php/apache2-php8.2/ext-active/ /etc/php/cgi-php8.1/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cli-php8.1/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/fpm-php8.1/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/phpdbg-php8.1/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/mnt/storageTemp/portage/distfiles/"
EMERGE_DEFAULT_OPTS="--jobs 3  --load-average=14 --autounmask=n --keep-going"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -march=native -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live candy clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync metadata-transfer multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-elog split-log strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync warn-on-large-env xattr"
FFLAGS="-O2 -march=native -pipe"
GENTOO_MIRRORS="rsync://mirrors.tnonline.net/gentoo-distfiles/"
LANG="en_GB.utf8"
LDFLAGS="-Wl,--as-needed -Wl,-O1 -Wl,--sort-common"
LEX="flex"
LINGUAS="en_US en_GB sv_SE en sv"
MAKEOPTS="-j14 -l14"
PKGDIR="/var/cache/binpkgs"
PORTAGE_BUNZIP2_COMMAND="pbunzip2"
PORTAGE_BZIP2_COMMAND="pbzip2"
PORTAGE_COMPRESS="zstd"
PORTAGE_COMPRESS_FLAGS="--long --ultra -20 -T0"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/mnt/storageTemp/portage"
RUSTFLAGS="-C target-cpu=native -C opt-level=3"
SHELL="/bin/bash"
USE="acl aes amd64 avx avx2 bash-completion btrfs bzip2 caps cli crypt dri f16c fma3 fortran gdbm gmp gnutls http2 iconv ipv6 jemalloc jumbo-build ldc2-1_35 libtirpc lto lvm lz4 lzma lzo mmx mmxext ncurses nls nptl nptlonly opencl opengl openmp pam pclmul pcre pgo popcnt rdrand readline seccomp sha split-usr sse sse2 sse3 sse4_1 sse4_2 sse4a ssl ssse3 test-rust thin threads unicode vaapi vdpau vhosts vpx vulkan x264 x265 xattr zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2021" AMDGPU_TARGETS="gfx90a gfx803 gfx900 gfx906 gfx908 gfx1011 gfx1012 gfx1030 gfx1031" APACHE2_MPMS="event" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" CURL_SSL="gnutls" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="pc efi-64" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en sv" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_TARGETS="BPF AMDGPU X86 WebAssembly" LUA_SINGLE_TARGET="lua5-4" LUA_TARGETS="lua5-1 lua5-4" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="radeonsi radeon vesa amdgpu" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 5 NATTkA bot gentoo-dev 2024-01-16 08:00:14 UTC Comment hidden (obsolete)
Comment 6 NATTkA bot gentoo-dev 2024-01-25 02:20:19 UTC Comment hidden (obsolete)
Comment 7 NATTkA bot gentoo-dev 2024-01-25 02:24:21 UTC Comment hidden (obsolete)
Comment 8 Florian Schmaus gentoo-dev 2024-01-25 09:12:29 UTC
Arch teams, please stabilize PHP 8.2. See also mjo comment at https://github.com/gentoo/gentoo/pull/34967#issuecomment-1906283247
Comment 9 Florian Schmaus gentoo-dev 2024-01-29 10:33:53 UTC
arch testers: friendly ping
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-01-30 16:00:53 UTC
arm done
Comment 11 Florian Schmaus gentoo-dev 2024-02-12 08:22:09 UTC
@amd64 friendly ping, please stabilize. We really want a support stable PHP version.
Comment 12 Florian Schmaus gentoo-dev 2024-02-18 21:07:34 UTC
amd64 done
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-19 19:55:51 UTC
*** Bug 925003 has been marked as a duplicate of this bug. ***
Comment 14 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-19 19:56:14 UTC
(In reply to Florian Schmaus from comment #12)
> amd64 done

That wasn't done correctly, as virtual/httpd-php wasn't done. Please use nattka.
Comment 15 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-19 19:56:29 UTC
amd64 done
Comment 16 Florian Schmaus gentoo-dev 2024-02-20 07:21:03 UTC
Thanks for pointing this out. I was somehow assuming that the package list still only contains dev-lang/php and checked for consistency with pkgcheck.

(In reply to Sam James from comment #10)
> arm done

It seems that 'arm' is also missing from virtual/httpd-php.
Comment 17 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-20 10:53:25 UTC
(In reply to Florian Schmaus from comment #16)
> It seems that 'arm' is also missing from virtual/httpd-php.

The package list didn't contain virtual/httpd-php at that point. Let's readd arm then.
Comment 18 Larry the Git Cow gentoo-dev 2024-03-07 18:15:45 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a7d69f274e7be99c2fe12a61e6ff814f373998f

commit 5a7d69f274e7be99c2fe12a61e6ff814f373998f
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-03-07 18:15:27 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-03-07 18:15:27 +0000

    profiles/arch/amd64: un-stable-mask php_targets_8-2
    
    amd64 is already stable.
    
    Bug: https://bugs.gentoo.org/920701
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/amd64/use.stable.mask | 4 ----
 1 file changed, 4 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4005706400242ed748bb3b8bdd52912072ced93b

commit 4005706400242ed748bb3b8bdd52912072ced93b
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-03-07 18:14:52 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-03-07 18:14:52 +0000

    profiles: move php_targets_php8-2 into individual arches
    
    Easier to unmask as we go then.
    
    Bug: https://bugs.gentoo.org/920701
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/amd64/use.stable.mask         | 6 +++++-
 profiles/arch/arm/use.stable.mask           | 6 +++++-
 profiles/arch/arm64/use.stable.mask         | 6 +++++-
 profiles/arch/powerpc/ppc32/use.stable.mask | 6 +++++-
 profiles/arch/powerpc/ppc64/use.stable.mask | 6 +++++-
 profiles/arch/sparc/use.stable.mask         | 6 +++++-
 profiles/arch/x86/use.stable.mask           | 6 +++++-
 profiles/base/use.stable.mask               | 4 ----
 8 files changed, 35 insertions(+), 11 deletions(-)
Comment 19 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-07 18:19:22 UTC
arm done
Comment 20 Larry the Git Cow gentoo-dev 2024-03-07 18:19:57 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d11bec59f6a9f8283306b2d7a3c323b34bacd762

commit d11bec59f6a9f8283306b2d7a3c323b34bacd762
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-03-07 18:19:41 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-03-07 18:19:41 +0000

    profiles/arch/arm: un-stable-mask php_targets_php8-2
    
    Bug: https://bugs.gentoo.org/920701
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/arm/use.stable.mask | 4 ----
 1 file changed, 4 deletions(-)
Comment 21 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-07 18:41:19 UTC
arm64 done
Comment 22 Larry the Git Cow gentoo-dev 2024-03-07 18:41:52 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ad2035dde7f72b1e0743a80e04b7d37c4947548

commit 1ad2035dde7f72b1e0743a80e04b7d37c4947548
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-03-07 18:41:36 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-03-07 18:41:36 +0000

    profiles/arch/arm64: un-stable-mask php_targets_php8-2
    
    Bug: https://bugs.gentoo.org/920701
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/arm64/use.stable.mask | 4 ----
 1 file changed, 4 deletions(-)
Comment 23 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-07 20:23:27 UTC
x86 done
Comment 24 Larry the Git Cow gentoo-dev 2024-03-07 20:24:03 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1566def44b02aa925a58c275041e879eedb4da4

commit e1566def44b02aa925a58c275041e879eedb4da4
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-03-07 20:23:44 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-03-07 20:23:49 +0000

    profiles/arch/x86: un-stable-mask php_targets_php8-2
    
    Bug: https://bugs.gentoo.org/920701
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/arch/x86/use.stable.mask | 4 ----
 1 file changed, 4 deletions(-)
Comment 25 matoro archtester 2024-04-12 06:26:50 UTC
sparc done
Comment 26 mentalstring 2024-04-15 09:32:46 UTC
With the php_targets_php8-2 mask slowly getting dropped in all arches, and just thinking ahead, what will it take to do the same for php_targets_php8-3 and stabelize php 8.3, given that it has been out for 4 months now?

Is it testing extensions support for php 8.3 that is lacking?

Just trying to understand the process here – not pushing to get that started until we get 8.2 fully stable.
Comment 27 Michael Orlitzky gentoo-dev 2024-04-15 10:33:18 UTC
(In reply to mentalstring from comment #26)
> With the php_targets_php8-2 mask slowly getting dropped in all arches, and
> just thinking ahead, what will it take to do the same for php_targets_php8-3
> and stabelize php 8.3, given that it has been out for 4 months now?
> 
> Is it testing extensions support for php 8.3 that is lacking?

Extension support and time, mostly. It would be best if every stable extension that supports php-8.1 and 8.2 supports 8.3 before we stabilize it.

It'd also be nice if the PHP applications and libraries in the tree did not break with 8.3, but many of those are unmaintained at this point. Still, things like postfixadmin, roundcube, and davical are pretty important. I learned last week that awl/davical weren't quite ready for php-8.2. We don't have a way to say "this package supports running under <php-8.3" so users who upgrade, upgrade wholesale.

But eventually, someone just needs to do the work and create a PR to trigger a CI run.