23024
Comment:
|
21102
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
Line 13: | Line 12: |
== 1.7.5 (2011-02-01) == |
== Mercurial 1.9 (2011-07-01) == This is a regular feature release. See UpgradeNotes for some minor compatibility notes. === Major features === * New [[http://www.selenic.com/hg/help/filesets|fileset]] file matching support * Improved remote changeset discovery * New [[CommandServer|command server]] mode to improve application integration * Experimental generaldelta storage scheme * Experimental new http client library === Command changes === * HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT * manifest: add new option --all * aliases: add positional arguments to non-shell aliases * add: introduce a warning message for non-portable filenames (Bts:issue2756) * add: notify when adding a file that would cause a case-folding collision * bisect: new command to extend the bisect range (Bts:issue2690) * bookmarks: allow deactivating current bookmark with -i * bundle: update current bookmark to most recent revision on current branch * diff: make diff -c aware of revision sets * help: add -c/--command flag to only show command help (Bts:issue2799) * help: add -e/--extension switch to display extension help text * help: move hgignore man page into built-in help (Bts:issue2769) * http: correctly handle redirects from http to https * identify: list bookmarks for remote repositories * import: add --bypass option * paths: Add support for -q/--quiet * pushkey: add hooks for pushkey/listkeys * revset: add aliases * revset: add ^ and ~ operators from parentrevspec extension * revset: add a revset command to get bisect state * revset: add desc(string) to search in commit messages * revset: add follow(filename) to follow a filename's history across copies * revset: introduce filelog() to emulate log's fast path * revset: add a last() function === Web changes === * add bookmarks listing to raw style and summary pages * support alternate logo url * add base link to file log for paper and coal styles (Bts:issue2452) * paper, coal: display diffstat on the changeset page * elapsed time calculation dynamic (javascript) * provide diffstat and summary on the changeset page === Extension changes === * hgcia: handle URL like in notify (Bts:issue2406) * rebase: add -m/--message to rebase --collapse (Bts:issue2389) * Updating hgext.extdiff to use revsets * bash_completion: enable alias auto-complete * bugzilla: add XMLRPC interface * color: add support for terminfo-based attributes and color * convert/mtn: add support for using monotone's "automate stdio" when available * convert/svn: stop using svn bindings when pushing to svn * convert: add bookmark support for hg and git backends * convert: add svnrev, svnpath and svnuuid template keywords * extdiff: add repository root as a variable * graphlog: support more log command features with revsets * keyword: convert a verbatim block to a field list * keyword: offer additional datefilters when the extension is enabled * mq: add a 'mq()' revset predicate that returns applied mq csets * notify: send changesets on 'outgoing' hook, updated doc * progress: add speed format * rebase: add --tool argument for specifying merge tool * rebase: allow for rebasing descendants onto ancestors on different named branches * record: add an option to backup all wc modifications * record: add qrefresh -i/--interactive * record: add white space diff options * record: alias qrecord to qnew -i/--interactive === Bug fixes === * bookmarks: allow create/move bookmark without making it current (Bts:issue2788) * bookmarks: do not forward merged bookmark (Bts:issue1877) * changegroup: do not count closed new heads (Bts:issue2697) * config: handle comment lines in continuations (Bts:issue2854) * dispatch: propagate ui command options to the local ui (Bts:issue2523) * eol: make the hook check all new heads, not only tip (Bts:issue2666) * grep: don't print data from binary files for matches (Bts:issue2614) * http: report unexpected unparsable push responses (Bts:issue2777) * httprepo: handle large lengths by bypassing the len() operator * httprepo: long arguments support (Bts:issue2126) * httprepo: proper handling of invalid responses without content-type (Bts:issue2019) * httprepo: send URL redirection notices to stderr (Bts:issue2828) * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761) * localrepo: ignore tags to unknown nodes (Bts:issue2750) * merge: drop resolve state for mergers with identical contents (Bts:issue2680) * patch: do not patch unknown files (Bts:issue752) * path_auditor: check filenames for basic platform validity (Bts:issue2755) * rebase: don't mark file as removed if missing in parent's manifest (Bts:issue2725) * rebase: preserve mq series order after rebasing (Bts:issue2849) * rebase: restore mq guards after rebasing (Bts:issue2107) * revset: report a parse error if a revset is not parsed completely (Bts:issue2654) * scmutil: improve path calculation for install-relative RC files (Bts:issue2841) * set NOT_CONTENT_INDEXED on .hg dir (Bts:issue2694) * sslutil: fall back to commonName when no dNSName in subjectAltName (Bts:issue2798) * subrepo: be more careful with deletions of .hgsub and .hgsubstate (Bts:issue2844) * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759) * subrepo: svn abort now depends on exit code (Bts:issue2833) * subrepo: be smarter about what's an absolute path (Bts:issue2808) * svn subrepo: attempt work around obstructed checkouts (Bts:issue2752) * svn subrepos: work around checkout obstructions (Bts:issue2752) * tags: catch more corruption during cache parsing (Bts:issue2779) * util: add Mac-specific check whether we're in a GUI session (Bts:issue2553) == Mercurial 1.8.4 (2011-06-01) == This is a regular time-based bugfix release. * bookmarks: do not forward merged bookmark (Bts:issue1877) * changelog: convert user and desc from local encoding early * fix bookmarks rollback behavior * hgrc.5: document shell aliases * httprepo: proper handling of invalid responses without content-type (Bts:issue2019) * httprepo: send URL redirection notices to stderr (Bts:issue2828) * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761) * localrepo: ignore tags to unknown nodes (Bts:issue2750) * mq: strip extra whitespace from node ids in header (Bts:issue2790) * rebase: restore mq guards after rebasing (Bts:issue2107) * revset: expand help for contains predicate * revset: note case-insensitive matches in keyword and user * revset: note case-sensitive match in grep * revset: report a parse error if a revset is not parsed completely (Bts:issue2654) * revset: the name is optional for the tag predicate * simplemerge: do not allow binary files to abort an entire merge * strip: make it clear that --force discards changes (Bts:issue310) * subrepo: don't crash when git .hgsubstate is empty (Bts:issue2716) * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759) * subrepo: respect non-default path for incoming/outgoing * subrepo: svn abort now depends on exit code (Bts:issue2833) * subrepo: use code from 71ea5b only if Python needs it (Bts:issue2795) * tags: catch more corruption during cache parsing (Bts:issue2779) == Mercurial 1.8.3 (2011-05-01) == This is a regular time-based bugfix release. * convert: make filemap prune useless branch closing revs (Bts:issue2774) * encoding: avoid localstr when a string can be encoded losslessly (Bts:issue2763) * extdiff: fix broken symlinks handling (Bts:issue1909) * help config: explain that config files do not exist by default * hgweb: add bookmark labels to gitweb theme * hgweb: add missing bookmarks definition to coal/map * hgweb: add missing bookmarks templates to atom/rss styles * hgweb: add separate bookmarks listing to gitweb theme * hgweb: add separate bookmarks listing to monoblue theme * hgweb: detect change based on changelog size too * hgweb: fix inconsistant display of graphlog (Bts:issue1706) * hgweb: fix typo and inactive link in page_nav and page_header of gitweb's help * hgweb: fix typo in page-header of monoblue's help template * hgweb: format page_nav of gitweb/error.tmpl and add missing links * rebase: don't mark file as removed if missing in parent's manifest (Bts:issue2725) * subrepo: handle svn tracked/unknown directory collisions * subrepo: prevent url normalization from removing // in ssh paths (Bts:issue2556) * subrepo: tell Subversion when we are non-interactive (Bts:issue2759) * url: use a regex to hide unsupported ssh passwords (Bts:issue2754) * zeroconf: notify the Zeroconf threads when hg exits == Mercurial 1.8.2 (2011-04-01) == This is a regular time-based bugfix release. * bookmarks: discard current bookmark if absent from the bookmarks (Bts:issue2692) * bookmarks: fix update of the current bookmark during rename * color: port to using ctypes (Bts:issue2687) * convert/svn: fix _iterfiles() output in root dir case (Bts:issue2647) * eol: do not abort when win32text is found, only warn * eol: use dirstate methods to clear dirstate * fix compiling of extensions for OS X and XCode 4.0 * hgweb: add display of bookmarks for changelog and changeset * hgweb: add separate page with bookmarks listing * merge: avoid unlinking destination of merge when case changes (Bts:issue2715) * mq: do not let qrefresh write bad patch * pager: don't page stderr if it's being redirected (Bts:issue2541) * push/outgoing: print remote target path even if there's an error (Bts:issue2561) * subrepo: recognize scp-style paths as git URLs * templates: widen the graph canvas (Bts:issue2683) == Mercurial 1.8.1 (2011-03-10) == This release backs out a behavior change for so-called 'fast-forward' merges on named branches. * annotate: rewrite to deal with crossed linkrevs (Bts:issue2682) * bookmark: fix invalidation of localrepo._bookmarkcurrent * cacert: improve error report when web.cacert file does not exist * contrib: update tcsh_completion for Mercurial 1.8 * hgcia: accept "queued." xmlrpc return as success * hgweb: fix filelog rss links generation * hgweb: use tip in gitweb/monoblue filelog rss links (Bts:issue2677) * merge: back out single-parent fast-forward merge * merge: drop resolve state for mergers with identical contents (Bts:issue2680) * merge: improve unresolved conflicts warning (Bts:issue2681) * mergetools: add alternate registry keys for 32bit apps on 64bit O/S * mq: forbid commit of merge involving mq patches * subrepo: backout 67fbe566eff1, --force requires svn >= 1.5 * subrepo: don't crash when git repo is missing * subrepo: handle svn tracked/unknown directory collisions * wix: drop bin/ folder from MSI installers (Bts:issue2673) == Mercurial 1.8 (2011-03-01) == === Core === * Bookmarks are now a core feature (see UpgradeNotes) * New `listfile:` pattern-matching (Topic:patterns) * Revset syntax supported by most commands * Performance improvements for reading large repository indexes * Certificate validation for HTTPS proxies === Subrepos === * New support for git subrepos * Various improvements to merge, update, and commit logic === Windows === * Numerous robustness improvements for quirks in Windows file handling * Now uses the native ctypes module rather than !PyWin32 === Extensions === * eol: filter aliases for compatibility with win32text * mq: `--exact` option for qpush * mq: various robustness improvements * progress: remaining time estimates == Mercurial 1.7.5 (2011-02-01) == |
Line 22: | Line 241: |
== 1.7.4 (2011-02-01) == |
== Mercurial 1.7.4 (2011-02-01) == |
Line 33: | Line 250: |
* url: 'ssh known host'-like checking of fingerprints of HTTPS certificates | * url: 'ssh known host'-like checking of fingerprints of HTTPS certificates (see [[CACertificates#Host_certificate_fingerprints|CACertificates]]) |
Line 36: | Line 253: |
* url: fix UnicodeDecodeError on certificate verification error | * url: fix !UnicodeDecodeError on certificate verification error |
Line 38: | Line 255: |
* win32: win32console.GetStdHandle() can return None == 1.7.3 (2011-01-01) == |
* win32: win32console.!GetStdHandle() can return None == Mercurial 1.7.3 (2011-01-01) == |
Line 66: | Line 282: |
== 1.7.2 (2010-12-01) == |
== Mercurial 1.7.2 (2010-12-01) == |
Line 87: | Line 302: |
== 1.7.1 (2010-11-15) == |
== Mercurial 1.7.1 (2010-11-15) == |
Line 102: | Line 316: |
== 1.7 (2010-11-01) == |
== Mercurial 1.7 (2010-11-01) == |
Line 106: | Line 318: |
* filelog: improve cmp performances (Bts:issue2273) * patch: don't strip '#' lines from patch descriptions (Bts:issue2417) * patch: when native patching fails (ui.patch is not set), don't retry with an external tool * setup/hg: always load Mercurial from where it was installed. * setup: user-friendly error message if Python headers are missing * store: new unsupported and experimental parentdelta format (see UpgradeNotes) * store: encode first period or space in filenames (Bts:issue1713) * url: expand environment variables in [auth] settings (Bts:issue2328) * url: check validity (notBefore/notAfter) using OpenSSL (Bts:issue2407) |
* filelog: improve cmp performances (Bts:issue2273) * patch: don't strip '#' lines from patch descriptions (Bts:issue2417) * patch: when native patching fails (ui.patch is not set), don't retry with an external tool * setup/hg: always load Mercurial from where it was installed. * setup: user-friendly error message if Python headers are missing * store: new unsupported and experimental parentdelta format (see UpgradeNotes) * store: encode first period or space in filenames (Bts:issue1713) * url: expand environment variables in [auth] settings (Bts:issue2328) * url: check validity (notBefore/notAfter) using OpenSSL (Bts:issue2407) |
Line 118: | Line 329: |
* addremove: use similarity 100 by default * alias: add support for shell command aliases starting with '!' (see [alias] in hgrc(5)) * backout: add --tool argument for specifying merge tool * backout: backout linearly by default instead of branching and merging (use --merge to get the former behaviour) * dispatch: properly handle relative path aliases used with -R (Bts:issue2376) * init: expand destination url as a configured paths * log: do not --follow file that is deleted and recreated later (Bts:issue732) * merge: don't detect copies as "divergent renames", make diagnostic message more helpful * merge: add --tool argument to merge and resolve * merge: handle no file parent in backwards merge (Bts:issue2364) * tags: do not fail if tags.cache is corrupted (Bts:issue2444) * templater: add "hex" filter and "children" keywords (see hg help templating) |
* addremove: use similarity 100 by default * alias: add support for shell command aliases starting with '!' (see [alias] in hgrc(5)) * backout: add --tool argument for specifying merge tool * backout: backout linearly by default instead of branching and merging (use --merge to get the former behaviour) * dispatch: properly handle relative path aliases used with -R (Bts:issue2376) * init: expand destination url as a configured paths * log: do not --follow file that is deleted and recreated later (Bts:issue732) * merge: don't detect copies as "divergent renames", make diagnostic message more helpful * merge: add --tool argument to merge and resolve * merge: handle no file parent in backwards merge (Bts:issue2364) * tags: do not fail if tags.cache is corrupted (Bts:issue2444) * templater: add "hex" filter and "children" keywords (see hg help templating) |
Line 133: | Line 343: |
* support remapping of subrepository source paths (see [subpaths] in hgrc(5)) * make add, diff, incoming, outgoing and status commands recurse into subrepos with --subrepos/-S * subrepo: add support for 'hg archive' * subrepo: fix status check on SVN subrepos (Bts:issue2445) |
* support remapping of subrepository source paths (see [subpaths] in hgrc(5)) * make add, diff, incoming, outgoing and status commands recurse into subrepos with --subrepos/-S * subrepo: add support for 'hg archive' * subrepo: fix status check on SVN subrepos (Bts:issue2445) |
Line 140: | Line 349: |
* add id() and rev() to allow explicit references to changes by hash or rev (see hg help revsets) * add min() function to complement max() * add present() function to avoid lookup errors on possibly missing changesets * rename tagged() to tag() and allow it to take an optional tag name * strip: add revsets support * add revsets support to bisect and update (Bts:issue1993) * bookmarks: add a bookmark([name]) revset for referencing bookmarks * transplant: add a transplanted(set) revset to get transplanted revisions |
* add id() and rev() to allow explicit references to changes by hash or rev (see hg help revsets) * add min() function to complement max() * add present() function to avoid lookup errors on possibly missing changesets * rename tagged() to tag() and allow it to take an optional tag name * strip: add revsets support * add revsets support to bisect and update (Bts:issue1993) * bookmarks: add a bookmark([name]) revset for referencing bookmarks * transplant: add a transplanted(set) revset to get transplanted revisions |
Line 151: | Line 359: |
* add a help view for accessing the built-in documentation (see help link in hg serve) * let HTTPS serve use more compatible but less secure encryption * support very simple caching model (Bts:issue1845) |
* add a help view for accessing the built-in documentation (see help link in hg serve) * let HTTPS serve use more compatible but less secure encryption * support very simple caching model (Bts:issue1845) |
Line 157: | Line 364: |
* color: better support for branches and mq guards * convert: handle closed branch heads in hg-hg conversion (Bts:issue2185) * convert: support darcs changelogs with bytes 0x7F-0xFF (Bts:issue2411) * convert: deprecate `--authors` in preference for `--authormap` * graphlog: support header and footer templates when using styles (Bts:issue2395) * keyword: do not expand at all during diff * keyword: support copy and rename * mq: extend support for the `--mq` argument to extension commands * mq: save qrefresh message for easy recovery in case it fails (Bts:issue2062) * mq: support `hg qimport --existing --name renametothis thatexistingpatch`, fix `--force` case on Windows * mq/qqueue: support renaming of active queue * mq/qqueue: add `--purge` option to delete a queue and its patches * pager: add global `--pager=<auto/boolean>` option * patchbomb: add `--confirm` option to show series details and ask for confirmation * patchbomb: let diffstat prompt only once with complete summary * progress: support rebase and patchbomb * rebase: re-add patches to mq repo after rebase * strip: add `--keep` flag to avoid modifying working directory during strip * strip: rename `--nobackup` option to `--no-backup` (Bts:issue2377) * strip: support stripping multiple revisions |
* color: better support for branches and mq guards * convert: handle closed branch heads in hg-hg conversion (Bts:issue2185) * convert: support darcs changelogs with bytes 0x7F-0xFF (Bts:issue2411) * convert: deprecate `--authors` in preference for `--authormap` * graphlog: support header and footer templates when using styles (Bts:issue2395) * keyword: do not expand at all during diff * keyword: support copy and rename * mq: extend support for the `--mq` argument to extension commands * mq: save qrefresh message for easy recovery in case it fails (Bts:issue2062) * mq: support `hg qimport --existing --name renametothis thatexistingpatch`, fix `--force` case on Windows * mq/qqueue: support renaming of active queue * mq/qqueue: add `--purge` option to delete a queue and its patches * pager: add global `--pager=<auto/boolean>` option * patchbomb: add `--confirm` option to show series details and ask for confirmation * patchbomb: let diffstat prompt only once with complete summary * progress: support rebase and patchbomb * rebase: re-add patches to mq repo after rebase * strip: add `--keep` flag to avoid modifying working directory during strip * strip: rename `--nobackup` option to `--no-backup` (Bts:issue2377) * strip: support stripping multiple revisions |
Line 180: | Line 386: |
* mergetools.hgrc: add vimdiff * zsh completion: support bookmarks and patchbomb extensions * zsh completion: add qpush --move option |
* mergetools.hgrc: add vimdiff * zsh completion: support bookmarks and patchbomb extensions * zsh completion: add qpush --move option |
Line 186: | Line 391: |
* 64-bit Inno Setup installer * handle spaces in path to Python (Bts:issue2074) == 1.6.4 (2010-10-01) == This is a monthly bugfix release. * archive: set date to 1980 for very old zip files * bookmarks: fix _bookmarks/lookup() reentrancy issue (Bts:issue2016) * color: add win32 support for non-black background * context: fix filectx.undelete() (Bts:issue2388) * convert/darcs: handle non-ASCII metadata in darcs changelog (Bts:issue2354) * convert/svn: fix broken symlink renames in svn sink * core: use lexists() instead of exists() where appropriate * hgweb: Fix memory leak when using hg commands over http repositories * hgweb: correct Content-Type header values for archive downloads * log: include unmodified-in-merge files in log diff/stat (Bts:issue2383) * mq: always require --force when pushing patches (Bts:issue2363) * patch: do not overwrite broken untracked symlinks * patch: fix rename text to binary file (Bts:issue2400) * patch: fix target when patching broken symlinks (Bts:issue2368) * patch: upgrade to git patch when removing binary file * rename: do not overwrite existing broken symlinks * url: verify correctness of https server certificates (Bts:issue2407) * util: avoid using hashlib on Python < 2.5 (Bts:issue2278) * verify: fix "missing revlog!" errors for revlog format v0 and add test * win32: add Emacs scripts to Inno Setup installer * win32: add hgweb scripts to Inno Setup installer == 1.6.3 (2010-08-26) == This is a monthly bugfix release. It includes several significant fixes, including a fix for a long-standing hardlink corruption issue on Windows (Bts:issue761). * alias: make shadowing behavior more consistent (Bts:issue2054) * bisect: better message for unrelated starting revisions * bookmarks: Check if the bookmark to delete exists on the remote * bookmarks: guard against listing bookmarks on unsupported repos * chunkbuffer: use += rather than cStringIO to reduce memory footprint * convert: Using --dest-type svn crashed, if the source repo used tags. * convert: properly set encoding for gnuarch converter * convert: use encoding.encoding instead of locale.getpreferredencoding() * encoding: improve handling of buggy getpreferredencoding() on Mac OS X * graphlog: mark --branch as incompatible with --graph * http basic auth: reset redirect counter on new requests (Bts:issue2255) * httprepo: decompress stream incrementally to reduce memory usage * log: fix the bug 'hg log --stat -p == hg log --stat' * mercurial.spec: gettext is a build requirement for getting proper localization * merge: drop reference to file contents after write * merge: move reverse-merge logic out of filemerge (Bts:issue2342) * merge: fix detection of conflict markers with checkconflicts enabled * mq: don't inherit default and default-push paths with --mq (Bts:issue2333) * resolve: updated help documentation for improved clarity * revlog: drop cache after use to save memory footprint * templatefilters: unnest uescape() * templates: add filenolink to raw style (Bts:issue2332) * url: expand vars in all [auth] settings (Bts:issue2328) * url: limit expansion to safe auth keys (Bts:Issue2328) * util: avoid using hashlib on Python < 2.5 (Bts:issue2278) * verify: initialize rp variable in case we hit out of memory * verify: reduce memory footprint when unpacking files * verify: report exceptions that don't have a str() method * win32: correctly break hardlinks on network drives (Bts:issue761) == 1.6.2 (2010-08-02) == This release addresses a regression in the color extension. * color: pass write/write_err to win32print correctly (Bts:issue2312) * convert/progress: use plural and avoid retrieving * color: call correct superclass method in write_err == 1.6.1 (2010-08-01) == This is a scheduled monthly minor bugfix release. * alias: ensure checksignature() is applied directly to the command (Bts:issue2286) * bash/zsh completion: use HGPLAIN when invoking hg (Bts:issue2297) * bookmarks: don't allow name to contain whitespaces only * bookmarks: ensure current bookmark is updated when specified with -r . * bundle: lookup revisions after addbranchrevs * color/progress: subclass ui instead of using wrapfunction (Bts:issue2096) * commit: only warn when reopening the workdir's branch * dispatch: give better error message when cwd doesn't exist (Bts:issue2293) * doc: make sure we use our own code for generating man pages * filelog: cmp: don't read data if hashes are identical (Bts:issue2273) * filelog: test behaviour for data starting with "\1\n" * hg.clone: fix branch value when passing a repo object (Bts:issue2267) * hgweb.wsgi: add a URL to the corresponding wiki documentation * hgwebdir: allow pure relative globs in paths * hgwebdir: use template paths configured in the hgrc (Bts:issue2281) * init: create target directory recursively * inotify: check all components of filenames against hgignore (Bts:issue884) * keyword: move collecting of [keyword] patterns to reposetup (Bts:issue2303) * log: fix missing diff output for hg log -p in subdirectory * log: follow filenames through renames (Bts:issue647) * mail: ensure that Python2.4 to 2.7 use the same header format * mercurial.spec: rename docutils to python-docutils in BuildRequires * mq: clarify the fact that qimport is trying to read a file * mq: cleanup status if applied mq is stripped (Bts:issue1881) * mq: fixed ENOENT when qrename to new/directory.patch * mq: reset self.added after the mq transaction instead of inside qimport * qpush --move: move the right patch even with comment lines * rebase: re-add patches to mq repo after rebase * revert: rename original to .orig instead of copying (Bts:issue2282) * revset: fix ancestor subset handling (Bts:issue2298) * runrst: try to be more helpful if docutils is not installed * tag: do not allow tag names to consist solely of whitespace (Bts:issue2307) * transplant: crash if repo.commit() finds nothing to commit == 1.6 (2010-07-01) == (This release makes a couple small behavior changes, be sure to read UpgradeNotes!) === Core === * addremove: optimize `addremove -s100` by matching files by their SHA1 hashes * archive: auto-detect archive type by extension (Bts:issue2058) * commit: more friendly handling of new and closed named branches * hooks: provide pre- and post- hooks with parsed command line arguments * log: add `--branch` for filtering on named branch * log: add `--stat` for diffstat output * push: add `--new-branch` option to allow initial push of new branches * push: break infinite http recursion bug with Python 2.6.5 (Bts:issue2179) * rollback: add `-n`/`--dry-run` flag, report what's being rolled back * subrepo: various fixes * summary: report copies and renames and add subrepo status * tag: add `-e`/`--edit` option for modifying the commit message * revsets: introduce a powerful query language for specifying revisions, see [[http://www.selenic.com/mercurial/hg.1.html#revsets|the manpage]] or `hg help revsets` === Hgweb === * unify and simplify `hgweb.cgi` and `hgwebdir.cgi` scripts * fix race in refreshing repo list (Bts:issue2188) * simplify `hgweb.cgi`, add help pointer * deliver shell hook output to client * allow `--port=0` to specify "choose free port number automatically" * improved templater performance === Help === * add new hgweb, glossary, and revsets topics * numerous improvements to help text === Extensions === * acl: support for access control base on branches and user-defined or OS-level groups * acl: added support for `pretxncommit`, so that one can call the ACL hook at (?) * bookmarks: add support for pushing and pulling bookmarks * churn: add possibility to include/exclude paths * color: add support for Windows consoles * color: colorize based on output labels instead of parsing output * extdiff: add labels, read diff arguments from `[merge-tools]` * keyword: offer svn-like default keywordmaps * keyword: support (q)record * mq: add a line to hg summary * mq: `qpush --move`, reorder patch series and apply only the patch * progress: progress support for many more commands * rebase: add option to not commit after a collapsing == 1.5.4 (2010-06-01) == This is a scheduled monthly minor bugfix release. * dispatch: include Python version in traceback * push: update help * status: avoid performance regression when no .hgsub is present * clone: fix performance issue with hardlinks and Windows shares * hgweb: fix race in refreshing repo list (Bts:issue2188) * hgrc: clarify that hgrc keys can be overridden and sections can be split * eol: [[EolExtension|new extension]] for managing file newlines based on a version controlled configuration file * pager: fork and exec pager as parent process with /bin/sh -c * rebase: stress that only local changesets should be rebased * convert/svn: close gettags() log stream (Bts:issue2196) * record: check that we are not committing a merge before patch selection == 1.5.3 (2010-05-13) == This is an unscheduled bugfix release to fix Bts:issue2181 (commit generates traceback on Nonetype). Also included: * various improvements to SVN conversion support * minor doc improvements == 1.5.2 (2010-05-01) == This is a monthly bugfix release with numerous minor fixes including: === Core === * clone: fix URL too long problem with many heads * commands: revised documentation of 'default' and 'default-push' * copies: properly visit file context ancestors on working file contexts * diffstat: use ui.plain() instead of ui.interactive() * dirstate: fix in memory dirstate entries for 1-second race * dispatch: don't mangle !ImportError abort messages * filemerge: use working dir parent as ancestor for backward wdir merge * hgrc.5: describe form of config values and mention lists as well * hgweb: fix attribute error in error response (Bts:issue2060) * log: document the new xml style * merge: correctly compute the flag for noexec filesystems * patch: don't look for headers in diff lines * push: fix bug in warning message selection * revlog: fix lazyparser.__iter__() to return all revisions (Bts:issue2137) * static-http: allow clone -r (Bts:issue2164) * subrepo: fix repo root path handling in svn subrepo * subrepo: propagate and catch push failures * templates: document missing template variables * util: fix default termwidth() under Windows * util: use an explicit prefix for checkexec/checklink temporary files === Extensions === * convert/cvs: skip bad tags * convert/git: check status when reading output stream * convert/subversion: fix default URL checker prototype * mq: rewrite strip docstrings * mq: use util.unlink instead of os.unlink and os.removedirs * schemes: fix // breakage with Python 2.6.5 (Bts:issue2111) == 1.5.1 (2010-04-01) == === Core === * improve warning on adding large files * expand ~ in auth filenames and aliases * several improvements to patch parsing * warn about attempts to use hg branch to switch branches * push: fix bug in prepush logic and its tests * hgweb: fix broken URLs of RSS/Atom feeds * subrepo: several bug fixes === Extensions === * acl: added support for '*' (everyone) in user list * progress: use stderr instead of stdout * schemes: add Kiln On Demand to default schemes == 1.5 (2010-03-06) == (This release makes a number of small behavior changes, be sure to read UpgradeNotes!) === Core === * improved behavior for named branches with `heads` command * new XML output template for logs * `import` extract multiple patches from emails, mboxes, files, and URLs * new `patch.eol=auto` option to ignore patch line-endings while preserving target file endings. * new `-b/--branch` option for `clone, bundle, incoming, outgoing, pull, and push` * new `server.validate` option to validate completeness of pushed changesets * subrepos now has basic Subversion support * support for SSL server certificates and improved IPv6 support * the `HGPLAIN` environment variable makes output more stable for scripts === Extensions === * new [[ProgressExtension|progress bar extension]] * mq: new `--mq` option to make regular commands operate on queue repository * mq: automatically upgrade conventional patches to git format where needed * color: add support for bookmarks, `resolve -l`, and `churn --diffstat` * convert: two CVS history editing hooks * win32mbcs: add configuration to specify path encoding * zeroconf: many bug fixes * rebase: new `--detach` option for rebase === Web Interface === * improve navigation on log and graph pages * support for pluggable authorization * raw templates for tags/branches pages * add wsgi script for Microsoft IIS with isapi-wsgi === Windows === * add WiX installer scripts to contrib/wix * handle configuration files in <install-dir>\hgrc.d * expand environment variables specified in merge tools paths === Help and Documentation === * greatly improve error messages and command documentation * support extended documentation with --verbose * provide help for disabled extensions and commands == See also == * [[UpgradeNotes|Upgrade notes]] describe possible compatibility issues * Advice on [[UpgradingMercurial|upgrading Mercurial]] * [[WhatsNew/Archive|Archive]] of older release notes * Our [[TimeBasedReleasePlan|time-based release plan]] * [[API_Changes|API Changes]] for developers of third-party extensions |
* 64-bit Inno Setup installer * handle spaces in path to Python (Bts:issue2074) |
Release Notes
Features and bugfixes in our latest releases.
Be sure to read the upgrade notes when upgrading.
Contents
- Mercurial 1.9 (2011-07-01)
- Mercurial 1.8.4 (2011-06-01)
- Mercurial 1.8.3 (2011-05-01)
- Mercurial 1.8.2 (2011-04-01)
- Mercurial 1.8.1 (2011-03-10)
- Mercurial 1.8 (2011-03-01)
- Mercurial 1.7.5 (2011-02-01)
- Mercurial 1.7.4 (2011-02-01)
- Mercurial 1.7.3 (2011-01-01)
- Mercurial 1.7.2 (2010-12-01)
- Mercurial 1.7.1 (2010-11-15)
- Mercurial 1.7 (2010-11-01)
(See archive for older versions.)
1. Mercurial 1.9 (2011-07-01)
This is a regular feature release. See UpgradeNotes for some minor compatibility notes.
1.1. Major features
New fileset file matching support
- Improved remote changeset discovery
New command server mode to improve application integration
- Experimental generaldelta storage scheme
- Experimental new http client library
1.2. Command changes
- HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT
- manifest: add new option --all
- aliases: add positional arguments to non-shell aliases
add: introduce a warning message for non-portable filenames (issue2756)
- add: notify when adding a file that would cause a case-folding collision
bisect: new command to extend the bisect range (issue2690)
- bookmarks: allow deactivating current bookmark with -i
- bundle: update current bookmark to most recent revision on current branch
- diff: make diff -c aware of revision sets
help: add -c/--command flag to only show command help (issue2799)
- help: add -e/--extension switch to display extension help text
help: move hgignore man page into built-in help (issue2769)
- http: correctly handle redirects from http to https
- identify: list bookmarks for remote repositories
- import: add --bypass option
- paths: Add support for -q/--quiet
- pushkey: add hooks for pushkey/listkeys
- revset: add aliases
- revset: add ^ and ~ operators from parentrevspec extension
- revset: add a revset command to get bisect state
- revset: add desc(string) to search in commit messages
- revset: add follow(filename) to follow a filename's history across copies
- revset: introduce filelog() to emulate log's fast path
- revset: add a last() function
1.3. Web changes
- add bookmarks listing to raw style and summary pages
- support alternate logo url
add base link to file log for paper and coal styles (issue2452)
- paper, coal: display diffstat on the changeset page
- elapsed time calculation dynamic (javascript)
- provide diffstat and summary on the changeset page
1.4. Extension changes
hgcia: handle URL like in notify (issue2406)
rebase: add -m/--message to rebase --collapse (issue2389)
- Updating hgext.extdiff to use revsets
- bash_completion: enable alias auto-complete
- bugzilla: add XMLRPC interface
- color: add support for terminfo-based attributes and color
- convert/mtn: add support for using monotone's "automate stdio" when available
- convert/svn: stop using svn bindings when pushing to svn
- convert: add bookmark support for hg and git backends
- convert: add svnrev, svnpath and svnuuid template keywords
- extdiff: add repository root as a variable
- graphlog: support more log command features with revsets
- keyword: convert a verbatim block to a field list
- keyword: offer additional datefilters when the extension is enabled
- mq: add a 'mq()' revset predicate that returns applied mq csets
- notify: send changesets on 'outgoing' hook, updated doc
- progress: add speed format
- rebase: add --tool argument for specifying merge tool
- rebase: allow for rebasing descendants onto ancestors on different named branches
- record: add an option to backup all wc modifications
- record: add qrefresh -i/--interactive
- record: add white space diff options
- record: alias qrecord to qnew -i/--interactive
1.5. Bug fixes
bookmarks: allow create/move bookmark without making it current (issue2788)
bookmarks: do not forward merged bookmark (issue1877)
changegroup: do not count closed new heads (issue2697)
config: handle comment lines in continuations (issue2854)
dispatch: propagate ui command options to the local ui (issue2523)
eol: make the hook check all new heads, not only tip (issue2666)
grep: don't print data from binary files for matches (issue2614)
http: report unexpected unparsable push responses (issue2777)
- httprepo: handle large lengths by bypassing the len() operator
httprepo: long arguments support (issue2126)
httprepo: proper handling of invalid responses without content-type (issue2019)
httprepo: send URL redirection notices to stderr (issue2828)
localrepo: don't add deleted files to list of modified/added files (issue2761)
localrepo: ignore tags to unknown nodes (issue2750)
merge: drop resolve state for mergers with identical contents (issue2680)
patch: do not patch unknown files (issue752)
path_auditor: check filenames for basic platform validity (issue2755)
rebase: don't mark file as removed if missing in parent's manifest (issue2725)
rebase: preserve mq series order after rebasing (issue2849)
rebase: restore mq guards after rebasing (issue2107)
revset: report a parse error if a revset is not parsed completely (issue2654)
scmutil: improve path calculation for install-relative RC files (issue2841)
set NOT_CONTENT_INDEXED on .hg dir (issue2694)
sslutil: fall back to commonName when no dNSName in subjectAltName (issue2798)
subrepo: be more careful with deletions of .hgsub and .hgsubstate (issue2844)
subrepo: make stdin for svn a pipe for non-interactive use (issue2759)
subrepo: svn abort now depends on exit code (issue2833)
subrepo: be smarter about what's an absolute path (issue2808)
svn subrepo: attempt work around obstructed checkouts (issue2752)
svn subrepos: work around checkout obstructions (issue2752)
tags: catch more corruption during cache parsing (issue2779)
util: add Mac-specific check whether we're in a GUI session (issue2553)
2. Mercurial 1.8.4 (2011-06-01)
This is a regular time-based bugfix release.
bookmarks: do not forward merged bookmark (issue1877)
- changelog: convert user and desc from local encoding early
- fix bookmarks rollback behavior
- hgrc.5: document shell aliases
httprepo: proper handling of invalid responses without content-type (issue2019)
httprepo: send URL redirection notices to stderr (issue2828)
localrepo: don't add deleted files to list of modified/added files (issue2761)
localrepo: ignore tags to unknown nodes (issue2750)
mq: strip extra whitespace from node ids in header (issue2790)
rebase: restore mq guards after rebasing (issue2107)
- revset: expand help for contains predicate
- revset: note case-insensitive matches in keyword and user
- revset: note case-sensitive match in grep
revset: report a parse error if a revset is not parsed completely (issue2654)
- revset: the name is optional for the tag predicate
- simplemerge: do not allow binary files to abort an entire merge
strip: make it clear that --force discards changes (issue310)
subrepo: don't crash when git .hgsubstate is empty (issue2716)
subrepo: make stdin for svn a pipe for non-interactive use (issue2759)
- subrepo: respect non-default path for incoming/outgoing
subrepo: svn abort now depends on exit code (issue2833)
subrepo: use code from 71ea5b only if Python needs it (issue2795)
tags: catch more corruption during cache parsing (issue2779)
3. Mercurial 1.8.3 (2011-05-01)
This is a regular time-based bugfix release.
convert: make filemap prune useless branch closing revs (issue2774)
encoding: avoid localstr when a string can be encoded losslessly (issue2763)
extdiff: fix broken symlinks handling (issue1909)
- help config: explain that config files do not exist by default
- hgweb: add bookmark labels to gitweb theme
- hgweb: add missing bookmarks definition to coal/map
- hgweb: add missing bookmarks templates to atom/rss styles
- hgweb: add separate bookmarks listing to gitweb theme
- hgweb: add separate bookmarks listing to monoblue theme
- hgweb: detect change based on changelog size too
hgweb: fix inconsistant display of graphlog (issue1706)
- hgweb: fix typo and inactive link in page_nav and page_header of gitweb's help
- hgweb: fix typo in page-header of monoblue's help template
- hgweb: format page_nav of gitweb/error.tmpl and add missing links
rebase: don't mark file as removed if missing in parent's manifest (issue2725)
- subrepo: handle svn tracked/unknown directory collisions
subrepo: prevent url normalization from removing // in ssh paths (issue2556)
subrepo: tell Subversion when we are non-interactive (issue2759)
url: use a regex to hide unsupported ssh passwords (issue2754)
- zeroconf: notify the Zeroconf threads when hg exits
4. Mercurial 1.8.2 (2011-04-01)
This is a regular time-based bugfix release.
bookmarks: discard current bookmark if absent from the bookmarks (issue2692)
- bookmarks: fix update of the current bookmark during rename
color: port to using ctypes (issue2687)
convert/svn: fix _iterfiles() output in root dir case (issue2647)
- eol: do not abort when win32text is found, only warn
- eol: use dirstate methods to clear dirstate
- fix compiling of extensions for OS X and XCode 4.0
- hgweb: add display of bookmarks for changelog and changeset
- hgweb: add separate page with bookmarks listing
merge: avoid unlinking destination of merge when case changes (issue2715)
- mq: do not let qrefresh write bad patch
pager: don't page stderr if it's being redirected (issue2541)
push/outgoing: print remote target path even if there's an error (issue2561)
- subrepo: recognize scp-style paths as git URLs
templates: widen the graph canvas (issue2683)
5. Mercurial 1.8.1 (2011-03-10)
This release backs out a behavior change for so-called 'fast-forward' merges on named branches.
annotate: rewrite to deal with crossed linkrevs (issue2682)
- bookmark: fix invalidation of localrepo._bookmarkcurrent
- cacert: improve error report when web.cacert file does not exist
- contrib: update tcsh_completion for Mercurial 1.8
- hgcia: accept "queued." xmlrpc return as success
- hgweb: fix filelog rss links generation
hgweb: use tip in gitweb/monoblue filelog rss links (issue2677)
- merge: back out single-parent fast-forward merge
merge: drop resolve state for mergers with identical contents (issue2680)
merge: improve unresolved conflicts warning (issue2681)
- mergetools: add alternate registry keys for 32bit apps on 64bit O/S
- mq: forbid commit of merge involving mq patches
subrepo: backout 67fbe566eff1, --force requires svn >= 1.5
- subrepo: don't crash when git repo is missing
- subrepo: handle svn tracked/unknown directory collisions
wix: drop bin/ folder from MSI installers (issue2673)
6. Mercurial 1.8 (2011-03-01)
6.1. Core
Bookmarks are now a core feature (see UpgradeNotes)
New listfile: pattern-matching (patterns)
- Revset syntax supported by most commands
- Performance improvements for reading large repository indexes
- Certificate validation for HTTPS proxies
6.2. Subrepos
- New support for git subrepos
- Various improvements to merge, update, and commit logic
6.3. Windows
- Numerous robustness improvements for quirks in Windows file handling
Now uses the native ctypes module rather than PyWin32
6.4. Extensions
- eol: filter aliases for compatibility with win32text
mq: --exact option for qpush
- mq: various robustness improvements
- progress: remaining time estimates
7. Mercurial 1.7.5 (2011-02-01)
This is a quick bugfix release to include some fixes accidentally dropped from 1.7.4.
- subrepo: fix update -C with svn subrepos when cwd != repo.root
- subrepo: make update -C clean the working directory for svn subrepos
- url: add --insecure option to bypass verification of ssl certificates
- win32mbcs: Fix typo in documentation
8. Mercurial 1.7.4 (2011-02-01)
This is a scheduled bugfix release that smooths out some of the rough edged introduced with 1.7.3's HTTPS certificate verification.
- bookmarks: always write undo file
- bookmarks: respect rollbacks dryrun parameter
- hgrc.5: mention that web.cacerts are run through util.expandpath
opener: force copy on 'a'ppend if nlinks() returns 0 (issue1922)
- subrepo: compare svn subrepo state to last committed revision
- subrepo: do not report known files inside repositories as unknown
url: 'ssh known host'-like checking of fingerprints of HTTPS certificates (see CACertificates)
- url: check subjectAltName when verifying ssl certificate
- url: expand path for web.cacerts
url: fix UnicodeDecodeError on certificate verification error
- win32: add cacert.pem file to Inno Setup installer
win32: win32console.GetStdHandle() can return None
9. Mercurial 1.7.3 (2011-01-01)
This is a scheduled bugfix release.
- archive: don't set gzip filename header when there's no filename
checknlink: use two testfiles (issue2543)
churn: ignore trailing and leading spaces (issue2546)
- date: fix matching of underspecified date ranges
- eol: improve help on whether EOLs are changed in working copy or repository
- fncachestore: copy dh directory before the manifest
- hgweb: abort if config file isn't found
- hook: assume relative path to hook is given from repo root
- hook: fix import path handling for repo=None
- https: use web.cacerts configuration from local repo to validate remote repo
https: warn when server certificate isn't verified (see CACertificates)
- keyword: copy: when copied source is a symlink, follow it
- patch: write .rej files without rewriting EOLs
strip: typo bugfix related to '--nobackup -> --no-backup' rename (issue2377)
tag: abort if not at a branch head (issue2552)
- tag: don't check .hgtags status if --local passed
tag: fix uncommitted merge check and error message (issue2542)
util: fix ellipsis() not to break multi-byte sequence (issue2564)
- util: work around behavior change in Python 2.7.1
windows.rename: eliminate temp name race (issue2571)
wix: add an ssl certificate file to the WiX installers (see CACertificates)
10. Mercurial 1.7.2 (2010-12-01)
This is a scheduled bugfix release.
checknlink: return False if .hgtmp file preexists (issue2517)
commit: search both parents for missing copy revision (issue2484)
- context: walk both parents for workingctx.ancestors()
- convert/svn: fix changed files list upon directory replacements
hgwebdir: fix incorrect index generation for invalid paths (issue2023)
- keyword: copy: when copied source is a symlink, follow it
mq: ignore subrepos (issue2499)
- rebase: support --detach when null is common ancestor
- subrepo: fix removing read-only svn files on Windows
- subrepo: handle missing subrepo spec file as removed
- subrepo: prune empty directories when removing svn subrepo
- subrepo: use subprocess directly to avoid python 2.6 bug
util: do not crash on revisions with negative timestamp (issue2513)
util: do not recurse in makedirs if name is '' (issue2528)
- win32mbcs: use extsetup() to wrap functions only once
- wix: add support for x64 native MSI packages
11. Mercurial 1.7.1 (2010-11-15)
This is an unscheduled bugfix release. 1.7 clients broke support for pushing bookmarks with HTTP.
alias: fall back to normal error handling for ambigious commands (issue2475)
bundlerepository: get rid of temporary bundle files (issue2478)
- bundlerepository: test self.tempfile field, not tempfile module
eol: exclude .hgtags file from eol translation (issue2493)
log: fix log -rREV FILE when REV isnt the last filerev (issue2492)
opener: check hardlink count reporting (issue1866)
pushkey: force HTTP POST on push and add tests (issue2489)
- revlog: fix descendants() if nullrev is in revs
subrepo: test & fix svn subrepo removal
win32: remove try-catch block of GetModuleFileNameEx (issue2480)
12. Mercurial 1.7 (2010-11-01)
12.1. Core
filelog: improve cmp performances (issue2273)
patch: don't strip '#' lines from patch descriptions (issue2417)
- patch: when native patching fails (ui.patch is not set), don't retry with an external tool
- setup/hg: always load Mercurial from where it was installed.
- setup: user-friendly error message if Python headers are missing
store: new unsupported and experimental parentdelta format (see UpgradeNotes)
store: encode first period or space in filenames (issue1713)
url: expand environment variables in [auth] settings (issue2328)
url: check validity (notBefore/notAfter) using OpenSSL (issue2407)
12.2. Commands
- addremove: use similarity 100 by default
- alias: add support for shell command aliases starting with '!' (see [alias] in hgrc(5))
- backout: add --tool argument for specifying merge tool
- backout: backout linearly by default instead of branching and merging (use --merge to get the former behaviour)
dispatch: properly handle relative path aliases used with -R (issue2376)
- init: expand destination url as a configured paths
log: do not --follow file that is deleted and recreated later (issue732)
- merge: don't detect copies as "divergent renames", make diagnostic message more helpful
- merge: add --tool argument to merge and resolve
merge: handle no file parent in backwards merge (issue2364)
tags: do not fail if tags.cache is corrupted (issue2444)
- templater: add "hex" filter and "children" keywords (see hg help templating)
12.3. Subrepos
- support remapping of subrepository source paths (see [subpaths] in hgrc(5))
- make add, diff, incoming, outgoing and status commands recurse into subrepos with --subrepos/-S
- subrepo: add support for 'hg archive'
subrepo: fix status check on SVN subrepos (issue2445)
12.4. Revsets
- add id() and rev() to allow explicit references to changes by hash or rev (see hg help revsets)
- add min() function to complement max()
- add present() function to avoid lookup errors on possibly missing changesets
- rename tagged() to tag() and allow it to take an optional tag name
- strip: add revsets support
add revsets support to bisect and update (issue1993)
- bookmarks: add a bookmark([name]) revset for referencing bookmarks
- transplant: add a transplanted(set) revset to get transplanted revisions
12.5. hgweb
- add a help view for accessing the built-in documentation (see help link in hg serve)
- let HTTPS serve use more compatible but less secure encryption
support very simple caching model (issue1845)
12.6. Extensions
- color: better support for branches and mq guards
convert: handle closed branch heads in hg-hg conversion (issue2185)
convert: support darcs changelogs with bytes 0x7F-0xFF (issue2411)
convert: deprecate --authors in preference for --authormap
graphlog: support header and footer templates when using styles (issue2395)
- keyword: do not expand at all during diff
- keyword: support copy and rename
mq: extend support for the --mq argument to extension commands
mq: save qrefresh message for easy recovery in case it fails (issue2062)
mq: support hg qimport --existing --name renametothis thatexistingpatch, fix --force case on Windows
- mq/qqueue: support renaming of active queue
mq/qqueue: add --purge option to delete a queue and its patches
pager: add global --pager=<auto/boolean> option
patchbomb: add --confirm option to show series details and ask for confirmation
- patchbomb: let diffstat prompt only once with complete summary
- progress: support rebase and patchbomb
- rebase: re-add patches to mq repo after rebase
strip: add --keep flag to avoid modifying working directory during strip
strip: rename --nobackup option to --no-backup (issue2377)
- strip: support stripping multiple revisions
12.7. contrib
- mergetools.hgrc: add vimdiff
- zsh completion: support bookmarks and patchbomb extensions
- zsh completion: add qpush --move option
12.8. Windows
- 64-bit Inno Setup installer
handle spaces in path to Python (issue2074)