<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Version numbers should be boring</title>
	<atom:link href="http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/</link>
	<description>Whatever comes to mind</description>
	<lastBuildDate>Mon, 23 Jan 2012 03:43:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: dagolden</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-6593</link>
		<dc:creator>dagolden</dc:creator>
		<pubDate>Fri, 01 Apr 2011 00:15:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-6593</guid>
		<description>That&#039;s an interesting discovery.  Much of this article doesn&#039;t apply to XS modules, as the version comparison between XS and the .pm file happen through different mechanisms than normal version comparison.</description>
		<content:encoded><![CDATA[<p>That's an interesting discovery.  Much of this article doesn't apply to XS modules, as the version comparison between XS and the .pm file happen through different mechanisms than normal version comparison.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: samlin</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-6592</link>
		<dc:creator>samlin</dc:creator>
		<pubDate>Thu, 31 Mar 2011 23:16:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-6592</guid>
		<description>I see many XS modules failing on 5.6.2 when they use your recommended  approach. Because the eval results in stringified version of the number in scientific notation, which does not match the decimal format:
&lt;code&gt;
$ perl5.6.2 -e &#039;our $VERSION=&quot;0.01&quot;; print eval $VERSION&#039;
1.e-02
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>I see many XS modules failing on 5.6.2 when they use your recommended  approach. Because the eval results in stringified version of the number in scientific notation, which does not match the decimal format:<br />
<code><br />
$ perl5.6.2 -e 'our $VERSION="0.01"; print eval $VERSION'<br />
1.e-02<br />
</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joey</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-3538</link>
		<dc:creator>Joey</dc:creator>
		<pubDate>Wed, 21 Apr 2010 03:30:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-3538</guid>
		<description>With all due respect, I&#039;m not going to pollute my code with &#039;$VERSION = eval $VERSION&#039;, no matter what other nonsense that leaves it open to. Because I would have to accompany that with a comment that said &quot;go read this enormous article, and then you may understand why this eval is here&quot;, and I just can&#039;t inflict that on someone who has to maintain my code.

So, at the moment, you&#039;ve convinced me that I should avoid versioning my perl modules. Looking forward to something better..</description>
		<content:encoded><![CDATA[<p>With all due respect, I'm not going to pollute my code with '$VERSION = eval $VERSION', no matter what other nonsense that leaves it open to. Because I would have to accompany that with a comment that said "go read this enormous article, and then you may understand why this eval is here", and I just can't inflict that on someone who has to maintain my code.</p>
<p>So, at the moment, you've convinced me that I should avoid versioning my perl modules. Looking forward to something better..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darren Duncan</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-2746</link>
		<dc:creator>Darren Duncan</dc:creator>
		<pubDate>Wed, 28 Oct 2009 07:07:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-2746</guid>
		<description>For the last few years, the practice I have followed for the modules I write is to use X.Y.Z version numbers conceptually and in my documentation and as my distro version, and I use the corresponding X.00Y00Z versions in the actual code of my modules for declaration and use.  I increment X for a total rewrite (generally I&#039;ve never incremented X yet), I increment Y for each update that is either of substantial content (which might just be to documentation) or that introduces an API change, either backwards-compatible or not (so far at least 80% of updates are this kind), and I increment Z for just bug fixes or minor updates that don&#039;t change the API.  My very first release of any module that isn&#039;t production ready from the start has version 0.0.0 because it is the first release of a major series, that is a X.0.0, and X is 0; I then typically go to 0.1.0 or 0.0.1 etc for the next release.</description>
		<content:encoded><![CDATA[<p>For the last few years, the practice I have followed for the modules I write is to use X.Y.Z version numbers conceptually and in my documentation and as my distro version, and I use the corresponding X.00Y00Z versions in the actual code of my modules for declaration and use.  I increment X for a total rewrite (generally I've never incremented X yet), I increment Y for each update that is either of substantial content (which might just be to documentation) or that introduces an API change, either backwards-compatible or not (so far at least 80% of updates are this kind), and I increment Z for just bug fixes or minor updates that don't change the API.  My very first release of any module that isn't production ready from the start has version 0.0.0 because it is the first release of a major series, that is a X.0.0, and X is 0; I then typically go to 0.1.0 or 0.0.1 etc for the next release.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Cantrell</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-781</link>
		<dc:creator>David Cantrell</dc:creator>
		<pubDate>Thu, 13 Aug 2009 14:18:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-781</guid>
		<description>This++

I&#039;m sorely tempted to make the problem go away and just have my release process just set $VERSION=N.YYYYMMDDHHMMSS where I may or may not remember to update N for major changes.  Indeed, two of my modules (Number::Phone::UK::{Data&#124;Exchanges}) already do that.

That has the advantage over your method of not requiring a manual sequence number, and also not overflowing a 32 bit signed int.</description>
		<content:encoded><![CDATA[<p>This++</p>
<p>I'm sorely tempted to make the problem go away and just have my release process just set $VERSION=N.YYYYMMDDHHMMSS where I may or may not remember to update N for major changes.  Indeed, two of my modules (Number::Phone::UK::{Data|Exchanges}) already do that.</p>
<p>That has the advantage over your method of not requiring a manual sequence number, and also not overflowing a 32 bit signed int.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: demerphq</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-777</link>
		<dc:creator>demerphq</dc:creator>
		<pubDate>Thu, 13 Aug 2009 12:20:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-777</guid>
		<description>Ben: I dont think that is completely true. I have worked a number of times on projects where VERSION!=XS_VERSION. I dont recall the details, but it is possible to setup makemaker so that you can have two numbers be different.</description>
		<content:encoded><![CDATA[<p>Ben: I dont think that is completely true. I have worked a number of times on projects where VERSION!=XS_VERSION. I dont recall the details, but it is possible to setup makemaker so that you can have two numbers be different.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dagolden</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-776</link>
		<dc:creator>dagolden</dc:creator>
		<pubDate>Thu, 13 Aug 2009 10:10:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-776</guid>
		<description>In my own code, I include the eval() line even if I don&#039;t technically need it (e.g. for &#039;0.46) so that if I ever decided I needed &#039;0.46_01&#039;, I don&#039;t need to remember to add eval().  My recommendation is intended to be something that you can add once to your code, then stop thinking about ever again except to bump up the number.</description>
		<content:encoded><![CDATA[<p>In my own code, I include the eval() line even if I don't technically need it (e.g. for '0.46) so that if I ever decided I needed '0.46_01', I don't need to remember to add eval().  My recommendation is intended to be something that you can add once to your code, then stop thinking about ever again except to bump up the number.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sawyer</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-775</link>
		<dc:creator>Sawyer</dc:creator>
		<pubDate>Thu, 13 Aug 2009 09:12:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-775</guid>
		<description>Alright, so that&#039;s for those type of string. I get that.

If you use &#039;0.46&#039; or that sort of schematic, do you still require the eval(), or would you keep it just for good practice?</description>
		<content:encoded><![CDATA[<p>Alright, so that's for those type of string. I get that.</p>
<p>If you use '0.46' or that sort of schematic, do you still require the eval(), or would you keep it just for good practice?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Abigail</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-712</link>
		<dc:creator>Abigail</dc:creator>
		<pubDate>Wed, 12 Aug 2009 08:47:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-712</guid>
		<description>My biggest peeve with version numbers is that their ordening is non-intuitive to me. I&#039;ve always seen version numbers as integers separated by dots - and that&#039;s how many tools and other people see them as well. For me, &#039;9&#039; is followed by &#039;10&#039;. But in Perls toolchain, version &quot;x.10&quot; is considered to be older than version &quot;x.9&quot;.  That, and all the stuff mentioned in your article had me recently decide to switch to DNS style version numbers: YYYYMMDDXX, where YYYYMMDD is the date I make the release, and XX a sequence number to be reset to &quot;01&quot; each day (for those cases I spot a typo immediately after putting in on PAUSE).

This loses the convention of signalling the impact of the change by updating a part of the version number that isn&#039;t after the last dot, but that was a convention that everyone uses differently anyway. With YYYYMMDDXX numbers, there are no dots, no unexpected translations (AFAIK), and every tool and human orders them the same.</description>
		<content:encoded><![CDATA[<p>My biggest peeve with version numbers is that their ordening is non-intuitive to me. I've always seen version numbers as integers separated by dots - and that's how many tools and other people see them as well. For me, '9' is followed by '10'. But in Perls toolchain, version "x.10" is considered to be older than version "x.9".  That, and all the stuff mentioned in your article had me recently decide to switch to DNS style version numbers: YYYYMMDDXX, where YYYYMMDD is the date I make the release, and XX a sequence number to be reset to "01" each day (for those cases I spot a typo immediately after putting in on PAUSE).</p>
<p>This loses the convention of signalling the impact of the change by updating a part of the version number that isn't after the last dot, but that was a convention that everyone uses differently anyway. With YYYYMMDDXX numbers, there are no dots, no unexpected translations (AFAIK), and every tool and human orders them the same.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Piers Harding (piers) 's status on Tuesday, 11-Aug-09 14:11:39 UTC - Identi.ca</title>
		<link>http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/comment-page-1/#comment-676</link>
		<dc:creator>Piers Harding (piers) 's status on Tuesday, 11-Aug-09 14:11:39 UTC - Identi.ca</dc:creator>
		<pubDate>Tue, 11 Aug 2009 14:11:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.dagolden.com/?p=369#comment-676</guid>
		<description>[...]  http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/  [...]</description>
		<content:encoded><![CDATA[<p>[...]  <a href="http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/" rel="nofollow">http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/</a>  [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

