/blog/2015/05/04/mercurial-3.4-released/index.html
HTML | 182 lines | 141 code | 30 blank | 11 comment | 0 complexity | 82d650202da6dc8f4bc91e2023c192c2 MD5 | raw file
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <!--
- Design by Free CSS Templates
- http://www.freecsstemplates.org
- Released for free under a Creative Commons Attribution 2.5 License
- Name : Pollinating
- Description: A two-column, fixed-width design with dark color scheme.
- Version : 1.0
- Released : 20101114
- -->
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-
- <title>Gregory Szorc's Digital Home
- | Mercurial 3.4 Released
- </title>
- <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="/blog/feed" />
- <link rel="alternate" type="application/atom+xml" title="Atom 1.0"
- href="/blog/feed/atom" />
- <link rel="stylesheet" href="/style/style.css" type="text/css" />
- <link rel="stylesheet" href="/css/pygments_murphy.css" type="text/css" />
- </head>
- <body>
- <div id="wrapper">
-
- <div id="menu">
- <ul>
- <li><a href="/">Home</a></li>
- <li><a href="/blog/">Blog</a></li>
- <li><a href="/notes">Notes</a></li>
- <li><a href="/work.html">Work</a></li>
- <li><a href="/skills.html">Skills</a></li>
- <li><a href="/thoughts.html">Thoughts</a></li>
- <li><a href="/resume.pdf">Resume</a></li>
- </ul>
- </div>
- <div id="page">
- <div id="page-bgtop">
- <div id="page-bgbtm">
- <div id="content">
-
- <div class="blog_post">
- <a name="mercurial-3.4-released"></a>
- <h2 class="blog_post_title"><a href="/blog/2015/05/04/mercurial-3.4-released" rel="bookmark" title="Permanent Link to Mercurial 3.4 Released">Mercurial 3.4 Released</a></h2>
- <small>May 04, 2015 at 12:40 PM | categories:
- <a href='/blog/category/mercurial'>Mercurial</a>, <a href='/blog/category/mozilla'>Mozilla</a>
- </small><p/>
- <div class="post_prose">
-
- <p>Mercurial 3.4 was released on May 1 (following Mercurial's time-based
- schedule of releasing a new version every 3 months).</p>
- <p>3.4 is a significant release for a few reasons.</p>
- <p>First, the next version of the wire protocol (<em>bundle2</em>) has been
- marked as non-experimental on servers. This version of the protocol
- paves over a number of deficiencies in the classic protocol. I won't
- go into low-level details. But I will say that the protocol enables
- some rich end-user experiences, such as having the server hand out URLs
- for pre-generated bundles (e.g. offload clones to S3), atomic push
- operations, and advanced workflows, such as having the server rebase
- automatically on push. Of course, you'll need a server running 3.4
- to realize the benefits of the new protocol. hg.mozilla.org won't be
- updated until at least June 1.</p>
- <p>Second, Mercurial 3.4 contains improvements to the tags cache to make
- performance concerns a thing of the past. Due to the structure of the
- Firefox repositories, the previous implementation of the tags cache
- could result in pauses of dozens of seconds during certain workflows.
- The problem should go away with Mercurial 3.4. <strong>Please note that on
- first use of Mercurial 3.4, your repository may perform a one-time
- upgrade of the tags cache. This will spin a full CPU core and will
- take up to a few minutes to complete on Firefox repos. Let it run to
- completion and performance should not be an issue again.</strong> I wrote the
- patches to change the tags cache (with lots of help from Pierre-Yves
- David, a Mercurial core contributor). So if you find anything wrong,
- I'm the one to complain to.</p>
- <p>Third, the HTTP interface to Mercurial (hgweb) now has JSON output
- for nearly every endpoint. The implementation isn't yet complete,
- but it is better than nothing. But, it should be good enough for
- services to start consuming it. Again, this won't be available on
- hg.mozilla.org until the server is upgraded on June 1 at the earliest.
- This is a feature I added to core Mercurial. If you have feature
- requests, send them my way.</p>
- <p>Fourth, a number of performance regressions introduced in Mercurial
- 3.3 were addressed. These performance issues frequently manifested
- during <em>hg blame</em> operations. Many Mozillians noticed them on
- hg.mozilla.org when looking at blame through the web interface.</p>
- <p>For a more comprehensive list of changes, see
- <a href="https://groups.google.com/d/msg/mozilla.dev.version-control/z4aWvBoAGYw/d0hUGKJU_psJ">my post about the 3.4 RC</a>
- and the
- <a href="http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4_.282015-05-01.29">official release notes</a>.</p>
- <p>3.4 was a significant release. There are compelling reasons to upgrade.
- That being said, there were a lot of changes in 3.4. If you want to wait
- until 3.4.1 is released (scheduled for June 1) so you don't run into
- any regressions, nobody can fault you for that.</p>
- <p>If you want to upgrade, I recommend reading the
- <a href="https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/installing.html">Mercurial for Mozillians Installation Page</a>.</p>
- </div>
- </div>
- </div>
-
- <div id="sidebar">
- <ul>
- <li>
- <h2>Categories</h2>
- <ul>
- <li><a href="/blog/category/apple">Apple</a></li>
- <li><a href="/blog/category/bugzilla">Bugzilla</a></li>
- <li><a href="/blog/category/ci">CI</a></li>
- <li><a href="/blog/category/clang">Clang</a></li>
- <li><a href="/blog/category/docker">Docker</a></li>
- <li><a href="/blog/category/firefox">Firefox</a></li>
- <li><a href="/blog/category/git">Git</a></li>
- <li><a href="/blog/category/javascript">JavaScript</a></li>
- <li><a href="/blog/category/mercurial">Mercurial</a></li>
- <li><a href="/blog/category/mozreview">MozReview</a></li>
- <li><a href="/blog/category/mozilla">Mozilla</a></li>
- <li><a href="/blog/category/personal">Personal</a></li>
- <li><a href="/blog/category/programming">Programming</a></li>
- <li><a href="/blog/category/puppet">Puppet</a></li>
- <li><a href="/blog/category/pyoxidizer">PyOxidizer</a></li>
- <li><a href="/blog/category/python">Python</a></li>
- <li><a href="/blog/category/review-board">Review Board</a></li>
- <li><a href="/blog/category/rust">Rust</a></li>
- <li><a href="/blog/category/sync">Sync</a></li>
- <li><a href="/blog/category/browsers">browsers</a></li>
- <li><a href="/blog/category/build-system">build system</a></li>
- <li><a href="/blog/category/code-review">code review</a></li>
- <li><a href="/blog/category/compilers">compilers</a></li>
- <li><a href="/blog/category/internet">internet</a></li>
- <li><a href="/blog/category/logging">logging</a></li>
- <li><a href="/blog/category/mach">mach</a></li>
- <li><a href="/blog/category/make">make</a></li>
- <li><a href="/blog/category/misc">misc</a></li>
- <li><a href="/blog/category/movies">movies</a></li>
- <li><a href="/blog/category/packaging">packaging</a></li>
- <li><a href="/blog/category/pymake">pymake</a></li>
- <li><a href="/blog/category/security">security</a></li>
- <li><a href="/blog/category/sysadmin">sysadmin</a></li>
- <li><a href="/blog/category/testing">testing</a></li>
- </ul>
- </li>
- </ul>
- </div>
- <div style="clear: both;"> </div>
- </div>
- </div>
- </div>
- <div id="footer">
-
- <hr/>
- <p>Copyright (c) 2012- Gregory Szorc. All rights reserved. Design by <a href="http://www.freecsstemplates.org/"> CSS Templates</a>.</p>
- </div>
- </div>
- </body>
- </html>