Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:51174 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19627 invoked from network); 31 Dec 2010 21:18:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Dec 2010 21:18:40 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 67.192.241.193 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 67.192.241.193 smtp193.dfw.emailsrvr.com Linux 2.6 Received: from [67.192.241.193] ([67.192.241.193:37734] helo=smtp193.dfw.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 37/41-10838-EA84E1D4 for ; Fri, 31 Dec 2010 16:18:40 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp19.relay.dfw1a.emailsrvr.com (SMTP Server) with ESMTP id 452CA3C8155; Fri, 31 Dec 2010 16:18:36 -0500 (EST) X-Virus-Scanned: OK Received: by smtp19.relay.dfw1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id C2AFF3C812C; Fri, 31 Dec 2010 16:18:35 -0500 (EST) Message-ID: <4D1E48AB.6070601@sugarcrm.com> Date: Fri, 31 Dec 2010 13:18:35 -0800 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: "weigelt@metux.de" CC: "internals@lists.php.net" References: <1290504719.2294.251.camel@guybrush> <20101231035937.GA18520@nibiru.local> <4D1D695C.9040400@sugarcrm.com> <20101231114927.GC18520@nibiru.local> In-Reply-To: <20101231114927.GC18520@nibiru.local> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Release Process From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > IIRC many deprecation warnings, which totally broke the output. Err, you actually output the warnings in your output? In production?! Please tell me you turned it off now, at least - it would make deprecation warning doubly beneficial. I'd even consider inserting couple of random ones just to make people turn off display_errors in production. > I, personally, have no time to test prereleases of dozens of > packages (php is just one of dozens I'm using, not in the list Of course, nobody personally has any time. But PHP is a volunteer project, so if nobody has the time, nobody should complain about "php developers not caring". PHP developers are caring, but it's not humanly possible for them to foresee everything, that's why testing exists. > IMHO there's a fundamental flaw in the development process: > existing semantics in a stable line should _never_ change. Deprecating a function is a very minor change and doesn't change the semantics. It's a warning that semantics is going to be changed - and if it took a major version to deprecate every single thing, we'd be now somewhere at PHP 318.0. I don't think that's what you mean by stability. Anyway, last such change I can recall was in 5.3.0. > Things like certain superglobals or calltime-reference passing > should neither disappear or suddenly produce warnings within > the stable line. The whole idea of depcreation warnings which What you call "stable line" anyway? E_DEPRECATED was added in 5.3.0, and most deprecations were introduced or converted from warnings then. The only change I see related to deprecation post 5.3.0 is this: . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED. Which changes already existing warning to lower level. call_time_reference was deprecated since forever, and so was register_globals. It's not a new thing even with 5.3 - which is a major version, certainly not in a subminor version. > I really can understand the idea of these warnings, as well as > removing things like superglobals, from development perspective. > But they better belong into an additional instrumentation system > which does not affect the behaviour of the running applications > (eg. send these warnings to syslog instead of stdout, unless > _explicitly_ asked to do otherwise). PHP goes at *extraordinary* length to keep BC - including keeping with some stuff that everybody hates and wishes it was different, but because of BC is not being changed. 5.3.0 did some minor changes - that's what the x.0 versions are for. If you discover some BC breaks in non x.0 version - you should complain, as they are not allowed except if they fix a major bug or there's another very very good reason. However so far I don't see much basis to complain about 5.3. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227