<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.php.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.php.net/feed.php">
        <title>PHP Wiki</title>
        <description></description>
        <link>https://wiki.php.net/</link>
        <image rdf:resource="https://wiki.php.net/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-04-23T13:46:41+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.php.net/rfc/peclversioning/solution2?rev=1743685723&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.php.net/rfc/peclversioning/solution1?rev=1743685723&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.php.net/_media/wiki/dokuwiki.svg">
        <title>PHP Wiki</title>
        <link>https://wiki.php.net/</link>
        <url>https://wiki.php.net/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.php.net/rfc/peclversioning/solution2?rev=1743685723&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-03T13:08:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>solution2</title>
        <link>https://wiki.php.net/rfc/peclversioning/solution2?rev=1743685723&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;2008/04/02 16:00&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 50:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 50:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * A version string **must** include a major, a minor and a patch level number (x.y.z) Please note that all are version numbers are mandatory.&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * A version string **must** include a major, a minor and a patch level number (x.y.z) Please note that all are version numbers are mandatory.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * A package version has a &amp;quot;state&amp;quot; (as indicated in the package.xml file), which describes the maturity. The state may be one of &amp;quot;alpha&amp;quot;, &amp;quot;beta&amp;quot;, &amp;quot;RC&amp;quot; or &amp;quot;stable&amp;quot; (listed in the order of code maturity). Please note that the state &amp;quot;RC&amp;quot; is achieved by using the state &amp;quot;beta&amp;quot; and appending the version number with &amp;quot;RC&amp;quot; followed by an integer&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * A package version has a &amp;quot;state&amp;quot; (as indicated in the package.xml file), which describes the maturity. The state may be one of &amp;quot;alpha&amp;quot;, &amp;quot;beta&amp;quot;, &amp;quot;RC&amp;quot; or &amp;quot;stable&amp;quot; (listed in the order of code maturity). Please note that the state &amp;quot;RC&amp;quot; is achieved by using the state &amp;quot;beta&amp;quot; and appending the version number with &amp;quot;RC&amp;quot; followed by an integer&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;#160; &amp;#160; * The state should always be added as a suffix unless the state is &amp;quot;stable&amp;quot; &amp;#039;a&amp;#039;, &amp;#039;b&amp;#039; or &amp;#039;RC&amp;#039; (respectively for alpha, beta and release candidate) followed by a numeric value. E.g. &amp;#039;1.2.1b3&amp;#039;, &amp;#039;1.0.0RC2&amp;#039;, &amp;#039;1.1.0a1&amp;#039;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;#160; &amp;#160; * The state should always be added as a suffix unless the state is &amp;quot;stable&amp;quot;&lt;strong class=&quot;diff-mark&quot;&gt;.&amp;#160; Valid suffixes are&amp;#160;&lt;/strong&gt;&amp;#039;a&amp;#039;, &amp;#039;b&amp;#039; or &amp;#039;RC&amp;#039; (respectively for alpha, beta and release candidate) followed by a numeric value. E.g. &amp;#039;1.2.1b3&amp;#039;, &amp;#039;1.0.0RC2&amp;#039;, &amp;#039;1.1.0a1&amp;#039;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; * //Note that the PEAR installer cannot recognize hyphens in a package version string//&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; * //Note that the PEAR installer cannot recognize hyphens in a package version string//&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * In package.xml, the &amp;#039;status&amp;#039; field for a release may be any of &amp;quot;alpha&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;stable&amp;quot;. These states should be reflected in the version number: a &amp;quot;stable&amp;quot; release should be at least 1.0.0, for example. A Release Candidate is signified by RCx in the version number and a &amp;quot;beta&amp;quot; status in package.xml.&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * In package.xml, the &amp;#039;status&amp;#039; field for a release may be any of &amp;quot;alpha&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;stable&amp;quot;. These states should be reflected in the version number: a &amp;quot;stable&amp;quot; release should be at least 1.0.0, for example. A Release Candidate is signified by RCx in the version number and a &amp;quot;beta&amp;quot; status in package.xml.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
    <item rdf:about="https://wiki.php.net/rfc/peclversioning/solution1?rev=1743685723&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-03T13:08:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>solution1</title>
        <link>https://wiki.php.net/rfc/peclversioning/solution1?rev=1743685723&amp;do=diff</link>
        <description>&lt;table&gt;&lt;tr&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;2008/04/04 09:55&lt;/th&gt;&lt;th colspan=&quot;2&quot; width=&quot;50%&quot;&gt;current&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 3:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; * **Status:** Work in progress&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; * **Status:** Work in progress&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;===&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;The Problem&amp;#160;&lt;/strong&gt;=== &lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;===&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;History&amp;#160;&lt;/strong&gt;=== &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;Currently,&amp;#160;&lt;/strong&gt;PECL versioning&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;is&amp;#160;&lt;/strong&gt;fairly anarchic. From a user perspective, it&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#039;s&amp;#160;&lt;/strong&gt;impossible to determine the status of an extension, or whether an update&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;will&amp;#160;&lt;/strong&gt;break binary compatibility with previous versions - or work with a given PHP release - without falling back on trial-and-error. From a developer perspective, it&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#039;s&amp;#160;&lt;/strong&gt;impossible to know exactly which code base a given bug was reported against. Windows PECL binaries should have reliable version information in the DLL resources (physically visible in the file properties), and PECL packages across all platforms should have this information available at runtime through phpinfo(), phpversion(&amp;#039;extname&amp;#039;) etc. Some of the processes in php.net that currently use hard-coded extension lists could also benefit from standardized versioning within the source files.&lt;strong class=&quot;diff-mark&quot;&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;PECL versioning&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;has historically been&amp;#160;&lt;/strong&gt;fairly anarchic. From a user perspective,&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;this made&amp;#160;&lt;/strong&gt;it impossible to determine the status of an extension, or whether an update&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;would&amp;#160;&lt;/strong&gt;break binary compatibility with previous versions - or work with a given PHP release - without falling back on trial-and-error. From a developer perspective, it&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;was&amp;#160;&lt;/strong&gt;impossible to know exactly which code base a given bug was reported against. Windows PECL binaries should have reliable version information in the DLL resources (physically visible in the file properties), and PECL packages across all platforms should have this information available at runtime through phpinfo(), phpversion(&amp;#039;extname&amp;#039;) etc. Some of the processes in php.net that currently use hard-coded extension lists could also benefit from standardized versioning within the source files.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;Resolving these issues will help bring PECL to a higher level of quality and reliability. &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;=== Some Facts and Figures === &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;There are currently 214 modules in PECL. Of these: &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 1 is written in PHP &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 3 are SAPIs &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 2 are no longer hosted in PECL (and should be deleted) &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 1 doesn&amp;#039;t declare a zend_module_entry &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 1 doesn&amp;#039;t have versioning capability (pre-PHP 4.1?) &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 1 was a CVS error (and should be deleted) &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 1 is the timezone library for ext/date, and probably has non-standard versioning requirements &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;Of the remaining 204: &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt; &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 13 already use PHP_EXTNAME_VERSION declared in php_extname.h, but don&amp;#039;t use -dev &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 25 already declare and use a versioning macro in php_extname.h, but the name could be anything &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 27 already declare and use a versioning macro somewhere in the source &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 3 do the whole thing in reverse and use the release version from package.xml &lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt;&amp;#160; * 136 either hard-code the version, use $Id alone, use $Revision alone or ignore the whole thing&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Update ===&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Update ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;As of&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;31st March&amp;#160;&lt;/strong&gt;2008,&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;the figures given above are incorrect: 145&amp;#160;&lt;/strong&gt;PECL packages&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;now&amp;#160;&lt;/strong&gt;use the PHP_EXTNAME_VERSION macro appropriately&lt;strong class=&quot;diff-mark&quot;&gt;,&amp;#160;&lt;/strong&gt;and&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;a mere handful now&amp;#160;&lt;/strong&gt;declare&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;it&amp;#160;&lt;/strong&gt;in&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;a&amp;#160;&lt;/strong&gt;file&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;other than&amp;#160;&lt;/strong&gt;php_extname.h. The&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;current focus&amp;#160;&lt;/strong&gt;is&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;on&amp;#160;&lt;/strong&gt;PECL packages that are also core extensions in one or more versions of PHP.&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;As of&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;April&amp;#160;&lt;/strong&gt;2008,&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;all&amp;#160;&lt;/strong&gt;PECL packages&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;should&amp;#160;&lt;/strong&gt;use the PHP_EXTNAME_VERSION macro appropriately and declare&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;the macro&amp;#160;&lt;/strong&gt;in&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;the&amp;#160;&lt;/strong&gt;file&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;//&lt;/strong&gt;php_extname.h&lt;strong class=&quot;diff-mark&quot;&gt;//, and all but a handful have been altered to do so&lt;/strong&gt;. The&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;one area that&amp;#160;&lt;/strong&gt;is&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;still open for discussion concerns&amp;#160;&lt;/strong&gt;PECL packages that are also core extensions in one or more versions of PHP.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Requirements ===&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Requirements ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 54:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 33:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * A version string **must** include a major, a minor and a patch level number (x.x.x)&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * A version string **must** include a major, a minor and a patch level number (x.x.x)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;&amp;#160; &amp;#160; * The status of the package may be described using &amp;#039;a&amp;#039;, &amp;#039;b&amp;#039; or &amp;#039;RC&amp;#039; followed by a numeric value, e.g. &amp;#039;1.2.1b3&amp;#039;, &amp;#039;1.0.&lt;strong class=&quot;diff-mark&quot;&gt;0RC2&lt;/strong&gt;&amp;#039;, &amp;#039;1.1.0a1&amp;#039;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&amp;#160; &amp;#160; * The status of the package may be described using &amp;#039;a&amp;#039;, &amp;#039;b&amp;#039; or &amp;#039;RC&amp;#039; followed by a numeric value, e.g. &amp;#039;1.2.1b3&amp;#039;, &amp;#039;1.0.&lt;strong class=&quot;diff-mark&quot;&gt;0rc2&lt;/strong&gt;&amp;#039;, &amp;#039;1.1.0a1&amp;#039;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * In package.xml, the &amp;#039;status&amp;#039; field for a release may be any of &amp;quot;dev&amp;quot;, &amp;quot;alpha&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;stable&amp;quot;. These states should be reflected in the version number: a &amp;quot;stable&amp;quot; release should be at least 1.0.0, for example. A Release Candidate is signified by RCx in the version number and a &amp;quot;beta&amp;quot; status in package.xml.&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&amp;#160; &amp;#160; * In package.xml, the &amp;#039;status&amp;#039; field for a release may be any of &amp;quot;dev&amp;quot;, &amp;quot;alpha&amp;quot;, &amp;quot;beta&amp;quot; or &amp;quot;stable&amp;quot;. These states should be reflected in the version number: a &amp;quot;stable&amp;quot; release should be at least 1.0.0, for example. A Release Candidate is signified by RCx in the version number and a &amp;quot;beta&amp;quot; status in package.xml.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 60:&lt;/td&gt;
&lt;td class=&quot;diff-blockheader&quot; colspan=&quot;2&quot;&gt;Line 39:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Core Modules in PECL ===&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;=== Core Modules in PECL ===&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;-&lt;/td&gt;&lt;td class=&quot;diff-deletedline&quot;&gt;Johannes Schlueter -&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;as&amp;#160;&lt;/strong&gt;Release Master of the PHP 5.3 series - made it known early in the proceedings that he&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;has&amp;#160;&lt;/strong&gt;concerns over -dev, alpha or beta tags appearing in PHP core module versions. There&amp;#039;s no process in place to export PECL releases into the PHP core; many of the modules in PECL are symlinked into the PHP core, affecting both snapshots and releases. This has benefits for the PECL modules concerned, in that they get far more testing than they otherwise might during the PHP development cycle, but the point remains that they are linked directly rather than filtered through an independent PECL release process.&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;&lt;strong class=&quot;diff-mark&quot;&gt; &lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;+&lt;/td&gt;&lt;td class=&quot;diff-addedline&quot;&gt;Johannes Schlueter -&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;currently&amp;#160;&lt;/strong&gt;Release Master of the PHP 5.3 series - made it known early in the proceedings that he&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;had&amp;#160;&lt;/strong&gt;concerns over -dev, alpha or beta tags appearing in PHP core module versions&amp;#160;&lt;strong class=&quot;diff-mark&quot;&gt;during a PHP release&lt;/strong&gt;. There&amp;#039;s no process in place to export PECL releases into the PHP core; many of the modules in PECL are symlinked into the PHP core, affecting both snapshots and releases. This has benefits for the PECL modules concerned, in that they get far more testing than they otherwise might during the PHP development cycle, but the point remains that they are linked directly rather than filtered through an independent PECL release process.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The idea of using the tag &amp;#039;-core&amp;#039; rather than &amp;#039;-dev&amp;#039; to reflect the status of those dual-nature extensions came up. The PECL versioning could then remain x.x.x (no tag) during PECL releases, with the version number itself used to reflect alpha/beta development status. Christopher Jones of Oracle voiced his concern regarding core PECL modules in separate development branches, which happens with core symlinking (and can of course occur manually too). &amp;quot;Should the version in CVS HEAD be tagged -core6?&amp;quot; Pierre Joye recommended that module versions with a conflicting API simply reflect this in the version number, e.g. 1.0.3-core for PHP 5.* and 2.0.3-core for PHP 6. The PECL releases would be 1.0.3 and 2.0.3 respectively, and the version bumped to 1.0.4-core/2.0.4-core following release.&lt;/td&gt;&lt;td class=&quot;diff-lineheader&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&quot;diff-context&quot;&gt;The idea of using the tag &amp;#039;-core&amp;#039; rather than &amp;#039;-dev&amp;#039; to reflect the status of those dual-nature extensions came up. The PECL versioning could then remain x.x.x (no tag) during PECL releases, with the version number itself used to reflect alpha/beta development status. Christopher Jones of Oracle voiced his concern regarding core PECL modules in separate development branches, which happens with core symlinking (and can of course occur manually too). &amp;quot;Should the version in CVS HEAD be tagged -core6?&amp;quot; Pierre Joye recommended that module versions with a conflicting API simply reflect this in the version number, e.g. 1.0.3-core for PHP 5.* and 2.0.3-core for PHP 6. The PECL releases would be 1.0.3 and 2.0.3 respectively, and the version bumped to 1.0.4-core/2.0.4-core following release.&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
    </item>
</rdf:RDF>
