Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:97078 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 1031 invoked from network); 19 Nov 2016 21:56:30 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Nov 2016 21:56:30 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.44 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.44 mail-wm0-f44.google.com Received: from [74.125.82.44] ([74.125.82.44:36609] helo=mail-wm0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 74/00-00153-E8AC0385 for ; Sat, 19 Nov 2016 16:56:30 -0500 Received: by mail-wm0-f44.google.com with SMTP id g23so89377948wme.1 for ; Sat, 19 Nov 2016 13:56:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:references:from:to:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=pcSroH+IyuHeLvlx6SBV5G55gHZaCqwT8IktTCIhD9I=; b=ZX503P+6eL5+MieAbI2fZmp9AyMJuszQoxw+6lKGvajnklTtfyTuK5MG032YVKxXv+ WQDLTK49xZsu45dOKnECMAU91M9m0mzV2C+6JqMvxy4IZl0ltWEEl1TOY/Mgg7KBz9Lx In103IhC1nbvvZbH0xfViHgIVQQ7AlN6Ba50qEVOrQI0W5wakZ3CAMYNmWxXns/OxB6d xqkqqU94lKsttaFUZ1iTF0RwAWbu9n7GFls8gQRXGDvrkDb8x5waC/C5yOnbmho44w0o OseZ5V//MaL4m+ME/8MfBUyq316awEvRKswcXqBjvTxpqexi/9pVgTqFLuexlOV1Yfvy jsRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:references:from:to:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=pcSroH+IyuHeLvlx6SBV5G55gHZaCqwT8IktTCIhD9I=; b=G8LyAAi840sAODMIw+ohoBTgpAGDhBwLfzHgBkizycYFezDjbEsyEYGgKu6iMjp1ox coa5lwKUp2sC9cF2ftBL1SXJNEGyHoyygRanuRkIU275cmtZiahSMzv3tpoyC/tvAp+s eBXS1QL/m0k4qJw0VyM091w7ybQ9CfsNK/hL8AsQ1sh5Ixc6cVZUsdZQLf/KnmcbqNca OG6kIrw9m8BiXKv/XaG5cLUL4Bqd0Zh71tLXVuStUFN9qE6owB816oPgzTeAuveX42kO igGTIu0/oQlXDVgmGTi+5tBYWNBRmFXJKOLByaTWlaoRTbDV4UwT+ll9m9syzGFvWw/q 7hIw== X-Gm-Message-State: AKaTC024MkSgeXv5CPFUt79RpfgxvKXfIgAyf/qI0oXFyrx7N81TzwdV2B3EeJsIeufKOg== X-Received: by 10.28.137.193 with SMTP id l184mr5335422wmd.88.1479592586245; Sat, 19 Nov 2016 13:56:26 -0800 (PST) Received: from [192.168.1.5] ([2.27.88.157]) by smtp.googlemail.com with ESMTPSA id g184sm10757974wme.23.2016.11.19.13.56.25 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 19 Nov 2016 13:56:25 -0800 (PST) References: <94840a5a-39e2-5255-e9c5-c011f00d392b@gmail.com> <7604bd74-bfd7-fe3b-a9b2-4717187b6c52@gmx.de> To: Internals Message-ID: <3dc880ba-3a40-1927-62f6-32a2e2b2143f@gmail.com> Date: Sat, 19 Nov 2016 21:56:24 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Deprecations for PHP 7.2 From: rowan.collins@gmail.com (Rowan Collins) On 19/11/2016 18:35, Kalle Sommer Nielsen wrote: > Having a fixed, forced major version does not sound that great if we > do not have something awesome that could only ever exist in a new > major version Again, you're looking at version numbers as primarily a branding thing ("something awesome") rather than a technical thing ("something that breaks compatibility"). I think this is the biggest thing that the formal SemVer standard forces a developer to accept: you don't get to choose when something "deserves" a major version number, you MUST increment it when you break compatibility. As the FAQ on semver.org says, if you reach 42.0.0 very rapidly under SemVer, that's because your API isn't stable; pretending some of those versions are minor releases is just masking the problem. If we adopted SemVer (which I'm not particularly proposing, just offering as comparison) there is absolutely zero chance that 4 years would pass without us having a single change which warranted a major version bump. As soon as you have one feature marked deprecated, then the release where that is removed is a major release, regardless of what else it has. That's why I mentioned divorcing the Engine and Language versions: if we don't want to brand something as "PHP 8" unless it's got shinies, then you could brand it as "PHP 7.3 powered by Zend Engine 4.0" instead. I'm not sure that split does quite work, but it would at least make explicit the difference between brand version and compatibility version. Regards, -- Rowan Collins [IMSoP]