<story><title>Homebrew 1.0.0</title><url>http://brew.sh/2016/09/02/homebrew-1.0.0/</url></story><parent_chain><item><author>rogual</author><text>As a user, Homebrew is a great experience.&lt;p&gt;As a package maintainer, though, one thing surprised me: you can&amp;#x27;t make your package depend on a specific version -- even a major version -- of a library.&lt;p&gt;So if MyApp uses YourLib 1.0, everything is fine until YourLib 2.0 comes out, at which point users doing `brew install myapp` will start getting cryptic compiler errors. I have no choice but to drop whatever I&amp;#x27;m doing and make MyApp compatible with YourLib 2.0, which may even be impossible.&lt;p&gt;It&amp;#x27;s just odd because otherwise Homebrew is so well designed. It seems like a weird omission.&lt;p&gt;Edit: Some packages get around this by packaging major versions separately (qt, qt5) but most don&amp;#x27;t.</text></item></parent_chain><comment><author>oefrha</author><text>&amp;quot;everything is fine until YourLib 2.0 comes out, at which point users doing `brew install myapp` will start getting cryptic compiler errors.&amp;quot;&lt;p&gt;Sorry, this is just not true, we hold merging YourLib 2.0 into core until all dependents are upgraded or boneyarded. Maybe you&amp;#x27;re speaking from your outdated experience with brew years ago.&lt;p&gt;Also, we do have plans to support multiple versions of libraries, see &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;Homebrew&amp;#x2F;brew&amp;#x2F;issues&amp;#x2F;620&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;Homebrew&amp;#x2F;brew&amp;#x2F;issues&amp;#x2F;620&lt;/a&gt; &amp;quot;Handle Versions Better&amp;quot; (although I&amp;#x27;m not necessarily a fan of this personally). We also have an openssl@1.1 formula in core already in case you want a sneak peek of the future.</text></comment>
<story><title>Homebrew 1.0.0</title><url>http://brew.sh/2016/09/02/homebrew-1.0.0/</url></story><parent_chain><item><author>rogual</author><text>As a user, Homebrew is a great experience.&lt;p&gt;As a package maintainer, though, one thing surprised me: you can&amp;#x27;t make your package depend on a specific version -- even a major version -- of a library.&lt;p&gt;So if MyApp uses YourLib 1.0, everything is fine until YourLib 2.0 comes out, at which point users doing `brew install myapp` will start getting cryptic compiler errors. I have no choice but to drop whatever I&amp;#x27;m doing and make MyApp compatible with YourLib 2.0, which may even be impossible.&lt;p&gt;It&amp;#x27;s just odd because otherwise Homebrew is so well designed. It seems like a weird omission.&lt;p&gt;Edit: Some packages get around this by packaging major versions separately (qt, qt5) but most don&amp;#x27;t.</text></item></parent_chain><comment><author>rwl4</author><text>It&amp;#x27;s for this very reason that I&amp;#x27;m still one of those old-school guys who still uses MacPorts. I was horrified to see this, and in my brief time using it, it actually caused me real problems, so I went back.</text></comment>