<font face="verdana,sans-serif">Just like if your C application depends on either SQLite 2 or SQLite 3, you&#39;re going to need to test it with both before a release.<br><br>Hoping that your library works against a previous major revision is just asking for trouble!</font><div>

<font face="verdana,sans-serif"><br></font></div><div><font face="verdana,sans-serif">I usually just take the easy way out and switch to ==0.7.</font></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 9, 2012 at 11:31 AM, Janek S. <span dir="ltr">&lt;<a href="mailto:fremenzone@poczta.onet.pl" target="_blank">fremenzone@poczta.onet.pl</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Clark! You&#39;re method seems good at first but I think I see a problem. So let&#39;s say you<br>
started with aeson 0.6. As new versions of aeson are released you introduce version ranges, but<br>
do you really have a method to determine that your package does indeed work with earlier<br>
versions? If you&#39;re upgrading aeson and don&#39;t have the older versions anymore you can only hope<br>
that the code changes you introduce don&#39;t break the dependency on earlier versions. Unless I am<br>
missing something?<br>
<br>
Janek<br>
<br>
Dnia piątek, 9 listopada 2012, Clark Gaebel napisał:<br>
<div class="HOEnZb"><div class="h5">&gt; What I usually do is start out with dependencies listed like:<br>
&gt;<br>
&gt; aeson ==0.6.*<br>
&gt;<br>
&gt; and then, as your dependencies evolve, you either bump the version number:<br>
&gt;<br>
&gt; aeson ==0.7.*<br>
&gt;<br>
&gt; or, if you&#39;re willing to support multiple version, switch to a range:<br>
&gt;<br>
&gt; aeson &gt;=0.6 &amp;&amp; &lt;= 0.7<br>
&gt;<br>
&gt; If someone uses a previous version of a library, and wants your library to<br>
&gt; support it too (and, preferably, it works out of the box), they&#39;ll send a<br>
&gt; pull request.<br>
&gt;<br>
&gt; That&#39;s what works for me. Maybe you could use it as a starting point to<br>
&gt; find what works for you!<br>
&gt;<br>
&gt;   - Clark<br>
&gt;<br>
&gt; On Fri, Nov 9, 2012 at 11:15 AM, Janek S. &lt;<a href="mailto:fremenzone@poczta.onet.pl">fremenzone@poczta.onet.pl</a>&gt; wrote:<br>
&gt; &gt; Recently I started developing a Haskell library and I have a question<br>
&gt; &gt; about package dependencies.<br>
&gt; &gt; Right now when I need my project to depend on some other package I only<br>
&gt; &gt; specify the package name<br>
&gt; &gt; in cabal file and don&#39;t bother with providing the package version. This<br>
&gt; &gt; works because I am the<br>
&gt; &gt; only user of my library but I am aware that if the library were to be<br>
&gt; &gt; released on Hackage I would<br>
&gt; &gt; have to supply version numbers in the dependencies. The question is how<br>
&gt; &gt; to determine proper<br>
&gt; &gt; version numbers?<br>
&gt; &gt;<br>
&gt; &gt; I can be conservative and assume that version of libraries in my system<br>
&gt; &gt; are the minimum required<br>
&gt; &gt; ones. This is of course not a good solution, because my library might<br>
&gt; &gt; work with earlier versions<br>
&gt; &gt; but I don&#39;t know a way to check that. What is the best way to determine a<br>
&gt; &gt; minimal version of a<br>
&gt; &gt; package required by my library?<br>
&gt; &gt;<br>
&gt; &gt; I also don&#39;t see any sane way of determining maximum allowed versions for<br>
&gt; &gt; the dependencies, but<br>
&gt; &gt; looking at other packages I see that this is mostly ignored and package<br>
&gt; &gt; maintainers only supply<br>
&gt; &gt; lower versions. Is this correct approach?<br>
&gt; &gt;<br>
&gt; &gt; Janek<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Haskell-Cafe mailing list<br>
&gt; &gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; &gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br>
<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>