Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:94051 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 69370 invoked from network); 16 Jun 2016 18:12:01 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Jun 2016 18:12:01 -0000 Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.53 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.220.53 mail-pa0-f53.google.com Received: from [209.85.220.53] ([209.85.220.53:33687] helo=mail-pa0-f53.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4B/E5-25388-1FBE2675 for ; Thu, 16 Jun 2016 14:12:01 -0400 Received: by mail-pa0-f53.google.com with SMTP id b13so20314390pat.0 for ; Thu, 16 Jun 2016 11:12:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=uvsIe0cx1aSBWfRdiBP58aumD+AMBX4XN70p+BAxEkY=; b=t3Ep/Ht8kqpn/UGmDm4ot+KMKKXwABNzWcZcAitDkZV5ROsNiuh0aVsdi4BJ0zbmM9 TOIIMn4MbHZ8FNcBB/xgDwsNhLiMlvs4Wzgxfw4MECsUR939XbMx/XDC8Y75rVoA9rVV MDI1b0L91oNxcnEl9gSMdPYdtccUS85d/EZsZY/vy7VLmrhbJ6Xc/0+WGHfy7pCWKUnL 21G1lMoXfSPrfYELmpO18vwpN4t26fFQwhE5gCS2/brbzPEdsCB6Xo8fA7OLo4LtBMDI qKBuj/yCCCdYGfDpqeCoTe7MqpqLJEbpQsxIiDxiswf3QW2B4VyE+WCOSmaG3phTPLiK esgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=uvsIe0cx1aSBWfRdiBP58aumD+AMBX4XN70p+BAxEkY=; b=XDi5yl4oqFeL9i1yw6oDBub+tr7OmR/C6s2DV13skqLA+VtU/yb5hccmVepHfG0Al7 rShwJAsNiND3mwi1vg1sKAmMyseo5GftMMMwscpKprsgSmpp/T8dZ4WciyRP40F4qEVI HiMYfDUxd1Rm1B42QO0ghfVA5QBNouTKZwF5uBRlS/g6mChPiHfLEtyvbE/9jeyqQmYa mBe5nKn6C42ajyuowCR65bBrxLhkSBwmx6PnnlMcYWCWEIULUldu1tMz0OpxeLfVuB0A R1NI7ZdyNpFTJMwuP1nNPWQlwVaR0M1QNo0pHYx6em1qwtBNIFo8up5vOaNRLTpKOd3u +g4Q== X-Gm-Message-State: ALyK8tJowewUWcGcxujALV01STyNXuNjDRbZLiU9r3Sr2pRNn4swqQ4MmKcv2cXxStyDSvfs2h3uWfglS9pVOg== X-Received: by 10.66.25.133 with SMTP id c5mr6694296pag.103.1466100717836; Thu, 16 Jun 2016 11:11:57 -0700 (PDT) MIME-Version: 1.0 Sender: morrison.levi@gmail.com Received: by 10.66.236.137 with HTTP; Thu, 16 Jun 2016 11:11:56 -0700 (PDT) In-Reply-To: References: <6c03dafd-093a-0087-6312-96fede93c5f0@gmail.com> <1c437efe-7f1d-629f-cfbc-41cbcda38d89@fleshgrinder.com> Date: Thu, 16 Jun 2016 12:11:56 -0600 X-Google-Sender-Auth: ni48ZRPdaVik6R5IqaNbtS14IPQ Message-ID: To: Rowan Collins Cc: PHP internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] Is the "No BC Breaks in Minor Releases" policy enforceable? From: levim@php.net (Levi Morrison) On Thu, Jun 16, 2016 at 10:30 AM, Rowan Collins wrote: > On 16/06/2016 17:24, Levi Morrison wrote: >>> >>> I also have to say that to the very short timeline to finalize 7.0 >>> should not be paid by breaking BCs in 7.x. We can have a short >>> timeline for 8.0 as well. If we need more drastic BC breaks earlier >>> than expected. If JIT is a goal for 8.0, then let do the BC breaks in >>> 8.0 and prepare our users using 7.x. >> >> >> I agree with sentiment. However I do not mind certain BC breaks being >> made in 7.1. For 7.2 and beyond I think we should be significantly >> more strict on BC breakages. > > > Why? What's special about 7.1? If it was a case of finishing off changes > that "should have been part of 7.0", I can see some kind of logic, but the > ones we're actually discussing seem to be more about "preparing for 8.0". I didn't necessarily mean the currently proposed; I mean more generally. For instance Nullable Types and the associated ReflectionType changes both have small BC breaks that I don't mind. In the case of the former there is a long-standing bug that did have BC break impact that was fixed. This passed 44 to 1. Stas was the no-vote and he can clarify his stance but I do not believe he voted no because of the BC break. In the case of ReflectionType it's cleaning up an API that was only introduced in 7.0 to be better integrated with nullable types before too many people are relying on it. I think both of these BC breaks are reasonable for a minor that is immediately following a major.