Mercurial 3.8 release

Features

* hg update and other commands that can perform update (such as hg pull -u) now warn about other topological heads * chg (NEED DESCRIPTION) has been added * hg update now updates to the tip-most changeset on the same topological branch. Before, it would update to the tip-most changeset, possibly on a different topological head * Hints on how to continue interrupted commands are now printed (e.g. hg resolve -m will now tell you to run hg rebase --continue or hg histedit --continue) * The experimental automv extension has been added. This extension attempts to detect file copes and renames automatically. * hg rebase now chooses its default destination the same way hg merge does * hg pull -u now activates a bookmark if the has a bookmark * hg pull -u now deactivates a bookmark if the destination doesn't match the existing bookmark * The experimental fsmonitor extension has been added. This was formerly the hgwatchman extension.

Improvements

This release includes many improvements, including (but not limited to):

* performance of copy detection during rebases has been improved, potentially leading to faster rebase execution * performance of hg log -f <file> has been improved * syntax errors in loaded extensions are now handled better * hg update on Windows should now be up to 4x faster * JSON encoding should now be proper UTF-8 for all inputs * Performance of the - revset operator has been improved * The blackbox extension now logs more data * "hgext" is now a Python namespace package * revsets accessing changelog data (commit messages, authors, dates) are now 10-15% faster

A full overview is available on WhatsNew.