Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85566 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 37317 invoked from network); 30 Mar 2015 20:36:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Mar 2015 20:36:56 -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 209.85.212.175 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 209.85.212.175 mail-wi0-f175.google.com Received: from [209.85.212.175] ([209.85.212.175:37447] helo=mail-wi0-f175.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FA/A3-17871-7E3B9155 for ; Mon, 30 Mar 2015 15:36:56 -0500 Received: by wiaa2 with SMTP id a2so131124wia.0 for ; Mon, 30 Mar 2015 13:36:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=h7AmyrsMivgpfrMzv1jdn7iSm+0/Mq44UcIFYBth5os=; b=VhOE4rHjWKlLDtzScAiFdypgS/4Ug+PdqnGYvuK/g9Vlh2XdjXu5QltyhID8tBO3wB 9GEuudsr72DYq7MFKAkzehNz7xD2eRVnqDM/khW1cM97Okr4ZOu3ryoi315whZ5ZdDZ3 0htuC3be7lqaZ3CqPPpECw1CwQEZLm63ZOFeZlP8ico7/t1cfDjEMbqvHIt3iWv8oA7S C27qLzK7yo2LyyLyVpsxeXXF6mdSDQYCLUgRveBxirtZd4h9Kaquer34RWQOVJaGcB3q N/uAEw/+ZXhIXrRjG2wXvIbwP7u09IcWgkRmsZzGKVxvGdRuthv0tsKgBrXqG06PwqYG oi5g== X-Received: by 10.194.21.193 with SMTP id x1mr66209761wje.144.1427747813542; Mon, 30 Mar 2015 13:36:53 -0700 (PDT) Received: from [192.168.0.5] (cpc68956-brig15-2-0-cust215.3-3.cable.virginm.net. [82.6.24.216]) by mx.google.com with ESMTPSA id d9sm17231685wib.20.2015.03.30.13.36.52 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Mar 2015 13:36:52 -0700 (PDT) Message-ID: <5519B3E3.1070102@gmail.com> Date: Mon, 30 Mar 2015 21:36:51 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: internals@lists.php.net References: <55193060.5000804@php.net> <55199AE8.4090100@gmail.com> In-Reply-To: <55199AE8.4090100@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] What's our official stance on small self-contained additions in a micro version From: rowan.collins@gmail.com (Rowan Collins) On 30/03/2015 19:50, Stanislav Malyshev wrote: > Hi! > >> I tend to agree that it would be easier for all parties if we stop >> adding stuff in micro versions, as it is easier to remember and > I don't think it is a good idea. Imagine you are a PHP developer working > on a project, and you noticed there's some small functionality missing > that would improve things a lot for you - like parameter to some > function or returning some value that is missing. You could easily > contribute it, but if it can't go in minor version there's no point for > you to even bother. Because even if your org is super-up-to-date, they > run 5.6, most realistically - 5.5, and if it's like the majority - it'd > be 5.4 and worse. You could hope to convince your bosses and your ops to > go to 5.6 and keep it reasonably updated within 5.6, but if the only > addition you can make is 7.1, it's the lost cause - by the time your org > could go to 7.1 your project will be long done (or at least long > designed to work without this new feature) and you may be already > working in another company. If an organisation has standardised on an old version of PHP, there's a fair chance that the builds they are using are not from php.net, but from their OS distribution. As has been mentioned here before, these generally track a particular patch release and cherry-pick fixes - Ubuntu 14.04 maintains a patched version of PHP 5.5.9 vs the official 5.5.23, for instance. Anyone working in such an environment won't receive the benefit of a new feature however far it is backported. The obvious alternative avenues are to write a forward-compatible userland version, or package an extension, both of which are likely to reach a larger audience than a tail-end release like 5.5.23. I can certainly see value in a special case for including things in both 5.6 and 7.x, both before and after 7.0 is released, but the the case for backporting anything other than a genuine bug fix to 5.5.x right now seems fairly weak, as will the case for backporting to 7.0.x after 7.1.0 is released (by which point 5.6.x will presumably be in its security-only phase). >> As everything can be considered as beeing a BC break for at least >> someone on Earth, I admit it is hard to understand the meaning of "small >> self-contained additions in a micro version" :-p > I do not think we should consider adding functions/options "BC break", > not by any sane definition of it. Of course, nothing prevents somebody > from using insane definitions, but it's of no concern to us. The problem is that there is no way to know, as a user, which function names may become reserved in the future. There is an officially reserved namespace "php\", but it remains unused. So if functions can be added at any time, the only way to guarantee your code won't break on a patch upgrade is to treat the entire global namespace as additionally reserved. I don't think it's at all "insane" to say that a patch version shouldn't usurp non-reserved names. Regards, -- Rowan Collins [IMSoP]