PageRenderTime 26ms CodeModel.GetById 39ms RepoModel.GetById 1ms app.codeStats 0ms

/blog/2015/05/04/mercurial-3.4-released/index.html

https://github.com/indygreg/indygreg.github.com
HTML | 182 lines | 141 code | 30 blank | 11 comment | 0 complexity | 82d650202da6dc8f4bc91e2023c192c2 MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <!--
  4. Design by Free CSS Templates
  5. http://www.freecsstemplates.org
  6. Released for free under a Creative Commons Attribution 2.5 License
  7. Name : Pollinating
  8. Description: A two-column, fixed-width design with dark color scheme.
  9. Version : 1.0
  10. Released : 20101114
  11. -->
  12. <html xmlns="http://www.w3.org/1999/xhtml">
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  15. <title>Gregory Szorc's Digital Home
  16. | Mercurial 3.4 Released
  17. </title>
  18. <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="/blog/feed" />
  19. <link rel="alternate" type="application/atom+xml" title="Atom 1.0"
  20. href="/blog/feed/atom" />
  21. <link rel="stylesheet" href="/style/style.css" type="text/css" />
  22. <link rel="stylesheet" href="/css/pygments_murphy.css" type="text/css" />
  23. </head>
  24. <body>
  25. <div id="wrapper">
  26. <div id="menu">
  27. <ul>
  28. <li><a href="/">Home</a></li>
  29. <li><a href="/blog/">Blog</a></li>
  30. <li><a href="/notes">Notes</a></li>
  31. <li><a href="/work.html">Work</a></li>
  32. <li><a href="/skills.html">Skills</a></li>
  33. <li><a href="/thoughts.html">Thoughts</a></li>
  34. <li><a href="/resume.pdf">Resume</a></li>
  35. </ul>
  36. </div>
  37. <div id="page">
  38. <div id="page-bgtop">
  39. <div id="page-bgbtm">
  40. <div id="content">
  41. <div class="blog_post">
  42. <a name="mercurial-3.4-released"></a>
  43. <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>
  44. <small>May 04, 2015 at 12:40 PM | categories:
  45. <a href='/blog/category/mercurial'>Mercurial</a>, <a href='/blog/category/mozilla'>Mozilla</a>
  46. </small><p/>
  47. <div class="post_prose">
  48. <p>Mercurial 3.4 was released on May 1 (following Mercurial's time-based
  49. schedule of releasing a new version every 3 months).</p>
  50. <p>3.4 is a significant release for a few reasons.</p>
  51. <p>First, the next version of the wire protocol (<em>bundle2</em>) has been
  52. marked as non-experimental on servers. This version of the protocol
  53. paves over a number of deficiencies in the classic protocol. I won't
  54. go into low-level details. But I will say that the protocol enables
  55. some rich end-user experiences, such as having the server hand out URLs
  56. for pre-generated bundles (e.g. offload clones to S3), atomic push
  57. operations, and advanced workflows, such as having the server rebase
  58. automatically on push. Of course, you'll need a server running 3.4
  59. to realize the benefits of the new protocol. hg.mozilla.org won't be
  60. updated until at least June 1.</p>
  61. <p>Second, Mercurial 3.4 contains improvements to the tags cache to make
  62. performance concerns a thing of the past. Due to the structure of the
  63. Firefox repositories, the previous implementation of the tags cache
  64. could result in pauses of dozens of seconds during certain workflows.
  65. The problem should go away with Mercurial 3.4. <strong>Please note that on
  66. first use of Mercurial 3.4, your repository may perform a one-time
  67. upgrade of the tags cache. This will spin a full CPU core and will
  68. take up to a few minutes to complete on Firefox repos. Let it run to
  69. completion and performance should not be an issue again.</strong> I wrote the
  70. patches to change the tags cache (with lots of help from Pierre-Yves
  71. David, a Mercurial core contributor). So if you find anything wrong,
  72. I'm the one to complain to.</p>
  73. <p>Third, the HTTP interface to Mercurial (hgweb) now has JSON output
  74. for nearly every endpoint. The implementation isn't yet complete,
  75. but it is better than nothing. But, it should be good enough for
  76. services to start consuming it. Again, this won't be available on
  77. hg.mozilla.org until the server is upgraded on June 1 at the earliest.
  78. This is a feature I added to core Mercurial. If you have feature
  79. requests, send them my way.</p>
  80. <p>Fourth, a number of performance regressions introduced in Mercurial
  81. 3.3 were addressed. These performance issues frequently manifested
  82. during <em>hg blame</em> operations. Many Mozillians noticed them on
  83. hg.mozilla.org when looking at blame through the web interface.</p>
  84. <p>For a more comprehensive list of changes, see
  85. <a href="https://groups.google.com/d/msg/mozilla.dev.version-control/z4aWvBoAGYw/d0hUGKJU_psJ">my post about the 3.4 RC</a>
  86. and the
  87. <a href="http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4_.282015-05-01.29">official release notes</a>.</p>
  88. <p>3.4 was a significant release. There are compelling reasons to upgrade.
  89. That being said, there were a lot of changes in 3.4. If you want to wait
  90. until 3.4.1 is released (scheduled for June 1) so you don't run into
  91. any regressions, nobody can fault you for that.</p>
  92. <p>If you want to upgrade, I recommend reading the
  93. <a href="https://mozilla-version-control-tools.readthedocs.org/en/latest/hgmozilla/installing.html">Mercurial for Mozillians Installation Page</a>.</p>
  94. </div>
  95. </div>
  96. </div>
  97. <div id="sidebar">
  98. <ul>
  99. <li>
  100. <h2>Categories</h2>
  101. <ul>
  102. <li><a href="/blog/category/apple">Apple</a></li>
  103. <li><a href="/blog/category/bugzilla">Bugzilla</a></li>
  104. <li><a href="/blog/category/ci">CI</a></li>
  105. <li><a href="/blog/category/clang">Clang</a></li>
  106. <li><a href="/blog/category/docker">Docker</a></li>
  107. <li><a href="/blog/category/firefox">Firefox</a></li>
  108. <li><a href="/blog/category/git">Git</a></li>
  109. <li><a href="/blog/category/javascript">JavaScript</a></li>
  110. <li><a href="/blog/category/mercurial">Mercurial</a></li>
  111. <li><a href="/blog/category/mozreview">MozReview</a></li>
  112. <li><a href="/blog/category/mozilla">Mozilla</a></li>
  113. <li><a href="/blog/category/personal">Personal</a></li>
  114. <li><a href="/blog/category/programming">Programming</a></li>
  115. <li><a href="/blog/category/puppet">Puppet</a></li>
  116. <li><a href="/blog/category/pyoxidizer">PyOxidizer</a></li>
  117. <li><a href="/blog/category/python">Python</a></li>
  118. <li><a href="/blog/category/review-board">Review Board</a></li>
  119. <li><a href="/blog/category/rust">Rust</a></li>
  120. <li><a href="/blog/category/sync">Sync</a></li>
  121. <li><a href="/blog/category/browsers">browsers</a></li>
  122. <li><a href="/blog/category/build-system">build system</a></li>
  123. <li><a href="/blog/category/code-review">code review</a></li>
  124. <li><a href="/blog/category/compilers">compilers</a></li>
  125. <li><a href="/blog/category/internet">internet</a></li>
  126. <li><a href="/blog/category/logging">logging</a></li>
  127. <li><a href="/blog/category/mach">mach</a></li>
  128. <li><a href="/blog/category/make">make</a></li>
  129. <li><a href="/blog/category/misc">misc</a></li>
  130. <li><a href="/blog/category/movies">movies</a></li>
  131. <li><a href="/blog/category/packaging">packaging</a></li>
  132. <li><a href="/blog/category/pymake">pymake</a></li>
  133. <li><a href="/blog/category/security">security</a></li>
  134. <li><a href="/blog/category/sysadmin">sysadmin</a></li>
  135. <li><a href="/blog/category/testing">testing</a></li>
  136. </ul>
  137. </li>
  138. </ul>
  139. </div>
  140. <div style="clear: both;">&nbsp;</div>
  141. </div>
  142. </div>
  143. </div>
  144. <div id="footer">
  145. <hr/>
  146. <p>Copyright (c) 2012- Gregory Szorc. All rights reserved. Design by <a href="http://www.freecsstemplates.org/"> CSS Templates</a>.</p>
  147. </div>
  148. </div>
  149. </body>
  150. </html>