Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119847 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 96399 invoked from network); 10 Apr 2023 08:30:30 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Apr 2023 08:30:30 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 60A121804D5 for ; Mon, 10 Apr 2023 01:30:28 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,MISSING_HEADERS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 10 Apr 2023 01:30:27 -0700 (PDT) Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-1842cddca49so5341918fac.1 for ; Mon, 10 Apr 2023 01:30:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1681115427; x=1683707427; h=cc:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=fiR9AE0xjYISaobaSc8P0/KsXjHIS0yo6I7v9kfk8WM=; b=QquxjS60b3aSgjfzkegsh5MPQ1B9X/WgqxzSgnCr8iZeNGbws5/9CWBYqI7r3ONvoy /+9pz4dMZPetHOekNJNWgEUYKiazZOUgV/ISwe1zdBoJ67XvfPPDne+xK3Gt656atdE9 KXeEPc2vonQciGtZb3R0Bg4DNswiAL5WA4oywywdMzWTnAoO1v6KBGSiSC33Hu1DogfH uBcAsGVgogWG+zoc9Ppp4ZUpbKPVbeEhI0WYQoPY6kYY/uUil6JDfFooO/ecJ/sM02Fz Siwa8XjlYefwc8YhABlDzZhh/ZZQOukjWB3Z2EFm2uQZc+X+nvniakNBJIUnKqwq9w9I RJ4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681115427; x=1683707427; h=cc:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fiR9AE0xjYISaobaSc8P0/KsXjHIS0yo6I7v9kfk8WM=; b=CeFxD9vo0oi+aFvM3BYNAj2BIy0x7AkMe5nYPs3H58mKPzUQ1n67l8Nf9XRf12PJXR yQGek14D7rx+URyQOsspfOyr+d/ClPc/lSamv3dlzpxDhvo4NsF3LQ7xUI7Ct0ZZpwc/ 3KMe+pEngKgM7XRy7+9ReiA73l9emImKK/OSxwOnS6y3zZrDdeE+Zraxjx37sK1IORyt HJfsxR3aA1V5muzoaYtoAFhYeZKZiR5o3UnDGJzVKIXXQnIWvSiJ1kbcTgMM5jwQzynU j6Jmdj2KSTRY9ApqwobtUdIHctCOmPnGz2EpxwtEyKti06fhafwrL4dHtiL1jfRe65o0 AiBg== X-Gm-Message-State: AAQBX9dy2/6HVa8/nvrVUqjoRof60G74N6ApMDnrufpz9/Xm5cXNnYwF g6/fz7B+20clDs0QRxvMTskse3XeSRDNo7+r2xIvdhVqIzE= X-Google-Smtp-Source: AKy350b4cg4SvPrbnboZRZ5UG6si4yH2nnFowHACFRQKG3EaoeLNC4qVAkzoRNGuDgQfntHz6aFBei0GgkCmmyAeOh8= X-Received: by 2002:a05:6870:6587:b0:17f:1723:fc82 with SMTP id fp7-20020a056870658700b0017f1723fc82mr4893483oab.9.1681115426701; Mon, 10 Apr 2023 01:30:26 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 10 Apr 2023 10:30:15 +0200 Message-ID: Cc: PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] Future stability of PHP? From: landers.robert@gmail.com (Robert Landers) Here are my 2 cents: The "dangerous" part of PHP upgrades is when you have more than one server and since you can't migrate a distributed system atomically, it often means that for a period of time, your code needs to support multiple versions (and you probably *always* have to do this for libraries). Personally, I've been bitten by small, undocumented, BC breaks that get marked 'wontfix' once reported, because fixing it after a release is considered a BC break. All I can do is facepalm while I update the code to handle different versions of PHP. I freakin love PHP, so I'm not going anywhere, but it would be amazing if core devs contributed to Rector (or something like it) that allowed you to run a simple tool to upgrade your code from "8.2 compatible" code to "8.2 + 8.3 compatible code" and then to "8.3-only compatible" code. The community does its best, but the core devs working on it know about the undocumented bits and probably the most efficient implementation. For all I know, you all are already doing this, and if so, you should tell the world. Cheers, Rob