Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:55745 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19569 invoked from network); 8 Oct 2011 06:28:02 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Oct 2011 06:28:02 -0000 Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.210.44 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.210.44 mail-pz0-f44.google.com Received: from [209.85.210.44] ([209.85.210.44:46521] helo=mail-pz0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5F/40-13652-17DEF8E4 for ; Sat, 08 Oct 2011 02:28:01 -0400 Received: by pzk32 with SMTP id 32so22455414pzk.3 for ; Fri, 07 Oct 2011 23:27:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=UJE/bTwqFSfa4RpmrvjLdoxWRJCq4zV+r0uhXVTtnbo=; b=OKLcjkavAVfGqICGTa07WiBNSQSjj27XyglGvRR6BKz45yiPg1ArubLjaKTrWn58QG fXfn68C6FkBa2PxtiJXYeYEAzYNqb4yFingYoR/beOELHHJE29tnEAJ4W0YD1VkqacTR V/LBsHDmJcS3sVV/WHpjBbiY9h/mhc+Vpdx1o= MIME-Version: 1.0 Received: by 10.68.14.6 with SMTP id l6mr19250700pbc.84.1318055276698; Fri, 07 Oct 2011 23:27:56 -0700 (PDT) Received: by 10.142.241.5 with HTTP; Fri, 7 Oct 2011 23:27:56 -0700 (PDT) In-Reply-To: References: Date: Sat, 8 Oct 2011 08:27:56 +0200 Message-ID: To: Ferenc Kovacs Cc: PHP Internals Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] little tweeking on the release process RFC From: pierre.php@gmail.com (Pierre Joye) On Fri, Oct 7, 2011 at 10:28 PM, Ferenc Kovacs wrote: > "No feature addition after final x.y.0 release (or x.0.0). Self > contained features or new SAPIs could be carefully considered on a > case by case basis." > I would re-phrase the No feature addition to changing existing > behavior, as it now seems a little bit contradictional. I don't see how it is contradictory. SAPIs are self contained and can't harm another SAPI, that's why we added this clause. > "Backward compatibility must be respected with the same major > releases, for example from 5.2 to 5.6. Binary compatibility can be > broken between two features releases, f.e. between 5.3 and 5.4:" > it is explained below this line, but maybe it would worth explicitly > stating which BC are we referring to, as BC could also mean ABI/Binary > compatibility which would again contradict the second sentence. While talking about ABI, it is about internals only, there is no ABI for userland codes. > for micro version, I would extend the bugfix part, for example the > is_a fix can be called a bugfix, It was a bug fix which was causing a BC break and should not have been applied in the 1st place. > "Backward compatibility must be kept (internals and userland)" and > "ABI/API compatibility must be kept (internals)" seems overlapping > again. > > I think we should formalize the different kind of BCs, the following > were mentioned in the RFC: > - moving extensions from core to pecl (maybe also define adding new > extensions, or moving from pecl to core) That should no't happen in patch releases anymore. > - internal src compatibility > - internal ABI compatibility > - internal API compatibility > - userland API compatibility We added src compatibility for clarity on request. ABI is about internals only, API is about userland and internals. > maybe it would be also a good thing to mention that the preferred way > to break userland API compatibility is to first mark the > feature/behavior as deprecated (documentation and/or E_DEPRECATED) and > only remove it after that (which could only happen with a minor or > major version by the RFC) plus the possible migration path should be > also documented if possible. Not if possible, a must. That's the goal of the migration guide and its version in the PHP manual. The doc team has done a great job so far, let keep it updated, that's the way to go. Cheers, -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org