Mercurial 1.0 (2008-03-24)#

Mercurial 1.0.2 (2008-08-13)#

This is a relatively small bugfix release with two security fixes.

Security:

  • ensure that git patches only touch files within the repository (CVE-2008-2942)

  • hgweb: fix "allowpull" permission being ignored when pulling from hgweb

General:

  • commit: handle copies of previously deleted files (issue1175)

  • bisect: allow for having multiple resulting changesets

  • fix Python 2.3 compatibility

  • make mq patches and .hgtags hardlink-safe again

  • various documentation improvements and fixes

  • fix a crash when addremove was called to replace a deleted directory with a symlink

  • make branches output easier to parse (issue1230)

  • fix inactive branches detection (issue1104)

  • hgweb: fix a crash in archive when the URL did not end in an expected archive type

  • sshserver: fix a crash in error handling code

  • fix the patchbomb extension on Windows by including email package in binary installations

  • handle symlinks when OS supports them but FS doesn't (issue1149)

Extensions:

  • mq:

    • fix qrefresh losing metadata on the last refreshed file (issue1134)

    • fix a crash when renaming a patch just after a versioned queue initialization

    • fix the path of an explicitly specified queue when merging patches

    • strip now updates the working directory only if a parent was stripped

  • convert:

    • CVS: fix a crash when converting an existing working copy

    • monotone: fix quotes and backslashes parsing when reading commit messages

    • Subversion: correctly normalize paths and slashes

    • Subversion: fix compatibility with Subversion 1.5

    • git: allow converter to work with recent git releases

  • color:

    • get coloring for qseries --verbose output

    • improve mq extension detection

    • reset coloring before and after outputting colorized lines

  • highlight: fix a performance issue when detecting file types from large files

  • notify: take the diff options into account

Mercurial 1.0.1 (2008-05-22)#

This is a relatively small bugfix release.

General:

  • several improvements in file copying implementation

  • allow different default value for diff.unified option

  • allow explicit use of internal merge tools

Commands:

  • rename: doesn't unlink source file with --after

  • backout: reverse changeset belongs on current branch

Extensions:

  • convert:

    • svn: improved detection of tags (has also become optional)

    • svn: improved branch handling

    • svn: better detection of file copies

  • mq:

    • expand terse command help texts

    • fix unimplemented qdiff -U option

  • highlight: fix compatibility with older Pygments (0.5.1)

  • churn: allow whitespaces as delimiter in aliases

  • pager: disable when used with --debugger

Mercurial 1.0 (2008-03-24)#

General:

  • greatly improved merge tool configuration, see "hgrc.5.txt" for details

  • improved copy/rename handling in diffs, status, and merge

  • files in .hg inherit permissions from .hg/store

  • infer --repository when possible, so commands may be run from anywhere.

  • easy-installable

  • new "droplet" logo

Commands:

  • archive: disable ".hg_archival.txt" file addition with "ui.archivemeta"

  • bisect: now built-in with greatly improved performance and usability

  • bundle: new --all option to bundle the whole repository more easily.

  • cat: apply decode filters with --decode

  • clone: can clone from a full-history bundle

  • commit: warn when creating a new head

  • debugancestor: index argument is now optional

  • diff: set the number of context line to show with -U/--unified

  • grep: display matched revisions commit date with --date

  • import: new --no-commit and --user options

  • incoming/outgoing: add --limit option

  • log: use -b/--only-branch to show revisions of a single branch

  • remove: improve handling for --after

  • revert: major speedup

  • serve: prefix the served path with --prefix (also in [web] section)

  • status: unknown files are skipped by --quiet

  • tag: allow multiple tags to be added or removed

  • tags: --verbose flags local tags

  • update: switch between named branches without -C

Extensions:

  • churn: promoted to an official extension (previously in contrib)

  • color: new extension coloring "status" and "qseries" command outputs

  • convert:

    • allow synthetic history to be spliced in with --splicemap

    • support GNU Arch and Monotone sources

    • svn: allow shallow conversions of single branches with convert.svn.startrev option.

    • svn: make trunk/branches/tags layout detection more flexible by allowing either of them to be skipped.

    • svn: preliminary support as a conversion target

  • hgk: configuration file changed from .gitk to .hgk

  • highlight: new extension enabling syntax highlighting in hgweb file view (requires pygments)

  • inotify: new extension using Linux 2.6 inotify API for instant status checking

  • keyword: new extension for filewise RCS-keyword expansion in working directory

  • mq: new --currentdate, --date, --currentuser, and --user options

  • record: add "qrecord" command when used with mq

  • win32mbcs: new extension dealing with problematic MBCS behavior on Windows

Web interface:

  • improved WSGI integration and compatibility

  • follow symlinks in hgwebdir collections

  • show branches in most of gitweb templates

  • add line anchors to annotate, changeset, diff and file views

  • support web.baseurl in hgwebdir, overriding SCRIPT_NAME

Hooks:

  • standard hook to reject text files with CRLF in win32text extension

  • redirect stdout to stderr for ssh and http servers

Windows support:

  • "hg" script output set to binary mode for redirecting diff, export, annotate, etc.

  • also search for .hgrc if mercurial.ini cannot be found

  • major speedup of "clone --pull"