Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120313 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 90683 invoked from network); 16 May 2023 13:46:16 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 May 2023 13:46:16 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E91E71804F7 for ; Tue, 16 May 2023 06:46:15 -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.2 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.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 ; Tue, 16 May 2023 06:46:15 -0700 (PDT) Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3077d134028so8636018f8f.3 for ; Tue, 16 May 2023 06:46:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684244774; x=1686836774; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=82olfYeOeeT9D7h2HgL5EKEBn5ZT8An+qHVLkC+G+Mo=; b=FwtvY2iq7aRyMf7prXE3CtxB2LfBeTwVIWMi6BeolqmXUZHPMz4rKeZFc7+eITCEBk T7v6mbUudNvjJ59plaIVU3/TYs3PDUn2fLxYSz5WRYg1ZywYl8kLSMCn0xr97S2PP5Td jj6lG4alu7xvstopUkgZzr37gOXfClhL6Wvt6uB+kecM56cwMunHxgbMqZEjbaNzWej8 LdShgRE8YYFCEQxvyJEFIdeVVD3qka3UUgbd+aU1HKUY3xymkm3ZnQ0F7xc2P4/62eaK crgqaTlXXFla/fhCSfEft8B/y4/tjTRZxHFzL5Zi0/HIwps9mqoqaWx/Kb20aZzTpxet EqMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684244774; x=1686836774; h=to: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=82olfYeOeeT9D7h2HgL5EKEBn5ZT8An+qHVLkC+G+Mo=; b=PFRFw2n4+XI8tPKoPsGsmdG65imGkr0rFdM/xYLStFn9Zz0yKI7GkSqrV9y0gbbXS1 ppb/9J2Q5yRWIdSiw+6EqmPVU8Oo3u54ZlP0YAS0HNOzRnvzpsK9n8B8XZLlEMJllDST MO9AlclSZKVlBsdNxkUm+GvFuzHggBZZxfjPHWcXt1oz0Hjhs1xQ+nodktlsBKK92KWC y3MYZDKNcxDEObXA9uX3IoSDq4TtPu17/AVLtyH18Gkv5+nxdfKNOlSjPAmd1h6Q739T dxXvQ+2iFjJOOQOxGvsWa5hilXxKxsstrgJG/6utEe/je+kVzG2AONTc3k2Ag1o169b8 nmYQ== X-Gm-Message-State: AC+VfDyv4V54zBVkGaNC5gRHf1qvaGAxjLQjZEjhM8SaO4NE12nQGcLP quX2DOjIjEwxyPwBqEE6xTKt/aTPEkW/GYnmWS9p9D7l X-Google-Smtp-Source: ACHHUZ5qGzIyKGuRIvchn2AbFy0FHN4lSGarsCt/xMBgFwpvU1acsX1WpBJjHR5OWvyS006ArZGzUXEkp7Gu9vSueSw= X-Received: by 2002:adf:f8d2:0:b0:306:321c:995b with SMTP id f18-20020adff8d2000000b00306321c995bmr28346802wrq.41.1684244773988; Tue, 16 May 2023 06:46:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 16 May 2023 14:46:02 +0100 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary="00000000000077eeb105fbcfcbc3" Subject: Re: [PHP-DEV] Planning ahead, will 8.5 exist and major version decisions (was: Deprecate functions with overloaded signatures) From: rowan.collins@gmail.com (Rowan Tommins) --00000000000077eeb105fbcfcbc3 Content-Type: text/plain; charset="UTF-8" On Tue, 16 May 2023 at 13:39, Dan Ackroyd wrote: > > * Are there any things being worked on that would deserve or require a > major version bump in PHP? > I think there are two conflicting ideas of what a major version should be: a) A major version is an ad hoc event that happens when something "significant" is being changed. Any other breaking changes can piggy-back on that major change. b) A major version is part of the general life cycle of the project. It is a periodic chance to make breaking changes that were held back from annual releases. Under (a) deprecations have no predictable duration; they will become breaking changes whenever the opportunity arises because of a completely disconnected decision. On the other hand, a major change can be started at any time, with the release timeline adjusted to fit its progress. In (b) there is a fairly clear expectation of how far away a breaking change is once a deprecation is agreed; contributors can use this to decide if that timescale is adequate, and users can use it to plan how to handle the change. On the other hand, a major change faces an increased risk of missing the major release window, and either being rushed or being held back for several years. I'm not convinced major changes that would run into problems with (b) are all that common; many major features are delivered within the annual release cycle, and many breaking changes in x.0 versions don't require a long lead time. A compromise might be to have a planned cycle, but with some leeway for major projects, e.g. "a major release will happen no more often than every 4 years, and no less often than every 6"; or, to put it a different way, "there will always be an x.3 release, and never an x.6". Regards, -- Rowan Tommins [IMSoP] --00000000000077eeb105fbcfcbc3--