Size: 2180
Comment:
|
Size: 23888
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Changes from 0.6 to 0.7: {{{ core greatly improved merge logic improved copy/rename support (still experimental) automatic binary file handling generic file filtering support support for user-defined hooks (aka triggers) support for local tags and finding branches with tags numerous performance improvements command line fewer long, confusing hashes to deal with new commands: clone, revert, incoming/outgoing, bundle/unbundle, grep, rename more powerful path handling with most commands improved push and pull support support for plug-in extensions much improved exception handling and debugging support many new command options and settings web interface more conformant and compatible HTML output built-in RSS feeds fast multiple keyword search easy to set up multiple repository interface configurable support for downloading tarballs and zip files improved configurability IPv6 support documentation improved built-in help and man pages a greatly expanded wiki tutorials in multiple languages portability full support for Windows, including hardlinking and file filtering should easily compile and install on any modern UNIX binary packages available for many systems extras powerful bash completion support Emacs integration updated hgk and more expanded test suite numerous bug fixes and cleanups }}} Upgrade notes: {{{ Deal with directory escaping Warn about Windows symlinking and mixing versions }}} Changes from 0.6c to 0.7: {{{ core improved merge logic improved copy/rename support (still experimental) automatic binary file handling generic file filtering support various performance improvements command line new bundle/unbundle commands for exchanging native updates more natural support for remove, copy, and rename faster, more powerful log command new grep command for searching entire history support for plug-in extensions improved exception handling and debugging facilities hgweb optional downloading of tarballs and zip files Windows support hardlinking support newline conversion through file filtering contrib updated hgk }}} |
#pragma section-numbers 2 ## notes that are older than 3 major releases should be moved to WhatsNew/Archive = Release Notes = Features and bugfixes in our latest releases. {i} Be sure to read the [[UpgradeNotes|upgrade notes]] when [[UpgradingMercurial|upgrading]]. <<TableOfContents(2)>> (See [[WhatsNew/Archive|archive]] for older versions.) == 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) == 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 == 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 (Bts: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#Host_certificate_fingerprints|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 == 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 (Bts:issue2543) * churn: ignore trailing and leading spaces (Bts: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 (Bts:issue2377) * tag: abort if not at a branch head (Bts:issue2552) * tag: don't check .hgtags status if --local passed * tag: fix uncommitted merge check and error message (Bts:issue2542) * util: fix ellipsis() not to break multi-byte sequence (Bts:issue2564) * util: work around behavior change in Python 2.7.1 * windows.rename: eliminate temp name race (Bts:issue2571) * wix: add an ssl certificate file to the WiX installers (see [[CACertificates]]) == Mercurial 1.7.2 (2010-12-01) == This is a scheduled bugfix release. * checknlink: return False if .hgtmp file preexists (Bts:issue2517) * commit: search both parents for missing copy revision (Bts: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 (Bts:issue2023) * keyword: copy: when copied source is a symlink, follow it * mq: ignore subrepos (Bts: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 (Bts:issue2513) * util: do not recurse in makedirs if name is {{{''}}} (Bts:issue2528) * win32mbcs: use extsetup() to wrap functions only once * wix: add support for x64 native MSI packages == 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 (Bts:issue2475) * bundlerepository: get rid of temporary bundle files (Bts:issue2478) * bundlerepository: test self.tempfile field, not tempfile module * eol: exclude .hgtags file from eol translation (Bts:issue2493) * log: fix log -rREV FILE when REV isnt the last filerev (Bts:issue2492) * opener: check hardlink count reporting (Bts:issue1866) * pushkey: force HTTP POST on push and add tests (Bts:issue2489) * revlog: fix descendants() if nullrev is in revs * subrepo: test & fix svn subrepo removal * win32: remove try-catch block of GetModuleFileNameEx (Bts:issue2480) == Mercurial 1.7 (2010-11-01) == === Core === * 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) === 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 (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) === 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 (Bts:issue2445) === 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 (Bts:issue1993) * bookmarks: add a bookmark([name]) revset for referencing bookmarks * transplant: add a transplanted(set) revset to get transplanted revisions === 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 (Bts:issue1845) === Extensions === * 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 === contrib === * mergetools.hgrc: add vimdiff * zsh completion: support bookmarks and patchbomb extensions * zsh completion: add qpush --move option === Windows === * 64-bit Inno Setup installer * handle spaces in path to Python (Bts:issue2074) == Mercurial 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 == Mercurial 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) == Mercurial 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 == Mercurial 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 == Mercurial 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 == 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 ---- CategoryProcess CategoryProject |
Release Notes
Features and bugfixes in our latest releases.
Be sure to read the upgrade notes when upgrading.
Contents
- 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)
- Mercurial 1.6.4 (2010-10-01)
- Mercurial 1.6.3 (2010-08-26)
- Mercurial 1.6.2 (2010-08-02)
- Mercurial 1.6.1 (2010-08-01)
- Mercurial 1.6 (2010-07-01)
- See also
(See archive for older versions.)
1. 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)
2. 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
3. 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)
4. 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)
5. Mercurial 1.8 (2011-03-01)
5.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
5.2. Subrepos
- New support for git subrepos
- Various improvements to merge, update, and commit logic
5.3. Windows
- Numerous robustness improvements for quirks in Windows file handling
Now uses the native ctypes module rather than PyWin32
5.4. Extensions
- eol: filter aliases for compatibility with win32text
mq: --exact option for qpush
- mq: various robustness improvements
- progress: remaining time estimates
6. 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
7. 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
8. 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)
9. 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
10. 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)
11. Mercurial 1.7 (2010-11-01)
11.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)
11.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)
11.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)
11.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
11.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)
11.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
11.7. contrib
- mergetools.hgrc: add vimdiff
- zsh completion: support bookmarks and patchbomb extensions
- zsh completion: add qpush --move option
11.8. Windows
- 64-bit Inno Setup installer
handle spaces in path to Python (issue2074)
12. Mercurial 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 (issue2016)
- color: add win32 support for non-black background
context: fix filectx.undelete() (issue2388)
convert/darcs: handle non-ASCII metadata in darcs changelog (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 (issue2383)
mq: always require --force when pushing patches (issue2363)
- patch: do not overwrite broken untracked symlinks
patch: fix rename text to binary file (issue2400)
patch: fix target when patching broken symlinks (issue2368)
- patch: upgrade to git patch when removing binary file
- rename: do not overwrite existing broken symlinks
url: verify correctness of https server certificates (issue2407)
util: avoid using hashlib on Python < 2.5 (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
13. Mercurial 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 (issue761).
alias: make shadowing behavior more consistent (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 (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 (issue2342)
- merge: fix detection of conflict markers with checkconflicts enabled
mq: don't inherit default and default-push paths with --mq (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 (issue2332)
url: expand vars in all [auth] settings (issue2328)
url: limit expansion to safe auth keys (Issue2328)
util: avoid using hashlib on Python < 2.5 (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 (issue761)
14. Mercurial 1.6.2 (2010-08-02)
This release addresses a regression in the color extension.
color: pass write/write_err to win32print correctly (issue2312)
- convert/progress: use plural and avoid retrieving
- color: call correct superclass method in write_err
15. Mercurial 1.6.1 (2010-08-01)
This is a scheduled monthly minor bugfix release.
alias: ensure checksignature() is applied directly to the command (issue2286)
bash/zsh completion: use HGPLAIN when invoking hg (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 (issue2096)
- commit: only warn when reopening the workdir's branch
dispatch: give better error message when cwd doesn't exist (issue2293)
- doc: make sure we use our own code for generating man pages
filelog: cmp: don't read data if hashes are identical (issue2273)
- filelog: test behaviour for data starting with "\1\n"
hg.clone: fix branch value when passing a repo object (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 (issue2281)
- init: create target directory recursively
inotify: check all components of filenames against hgignore (issue884)
keyword: move collecting of [keyword] patterns to reposetup (issue2303)
- log: fix missing diff output for hg log -p in subdirectory
log: follow filenames through renames (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 (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 (issue2282)
revset: fix ancestor subset handling (issue2298)
- runrst: try to be more helpful if docutils is not installed
tag: do not allow tag names to consist solely of whitespace (issue2307)
- transplant: crash if repo.commit() finds nothing to commit
16. Mercurial 1.6 (2010-07-01)
(This release makes a couple small behavior changes, be sure to read UpgradeNotes!)
16.1. Core
addremove: optimize addremove -s100 by matching files by their SHA1 hashes
archive: auto-detect archive type by extension (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 (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 the manpage or hg help revsets
16.2. Hgweb
unify and simplify hgweb.cgi and hgwebdir.cgi scripts
fix race in refreshing repo list (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
16.3. Help
- add new hgweb, glossary, and revsets topics
- numerous improvements to help text
16.4. 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
17. See also
Upgrade notes describe possible compatibility issues
Advice on upgrading Mercurial
Archive of older release notes
API Changes for developers of third-party extensions