Differences between revisions 1 and 115 (spanning 114 versions)
Revision 1 as of 2005-09-16 18:27:47
Size: 721
Editor: mpm
Comment:
Revision 115 as of 2011-10-01 21:01:44
Size: 24862
Editor: mpm
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
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
 locate branches by tag
 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
 Emacs support
 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.

Note that Mercurial follows a time based release plan with major releases every
four months and minor (bugfix) releases on the first of every month (see [[TimeBasedReleasePlan]]).

{i} Be sure to read the [[UpgradeNotes|upgrade notes]] when [[UpgradingMercurial|upgrading]].

<<TableOfContents(2)>>

(See [[WhatsNew/Archive|archive]] for older versions.)

== Mercurial 1.9.3 (2011-10-01) ==

This is a regular bugfix release.

 * setup: build inotify for sys.platform='linux*'
 * bundlerepo: add argument check before unlink
 * hgweb: properly check for bookmarks when drawing graph
 * http: handle push of bundles > 2 GB again (Bts:issue3017)
 * keyword: preserve file mode when overwriting
 * osutil: avoid accidentally destroying the True object in isgui (Bts:issue2937)
 * patch: correctly handle non-tabular Subject: line
 * patch: handle 'gitpatches' being empty, but not none
 * record: use command wrapper properly for qnew/qrefresh (Bts:issue3001)
 * setdiscovery: fix hang when #heads>200 (Bts:issue2971)
 * ui: also swap sys.stdout with self.fout in _readline
 * ui: write traceback to self.ferr
 * url: Remove the proxy env variables only when needed (Bts:issue2451)
 * url: parse fragments first (issue2997)
 * util: fix crash converting an invalid future date to string
 * util: wrap lines with multi-byte characters correctly (Bts:issue2943)
 * win32: quietly ignore missing CreateHardLinkA for Wine

== Mercurial 1.9.2 (2011-08-26) ==

This is a regular bugfix release (slightly early due to travel plans).

 * commands: clarify that 'hg heads foo' shows heads on branch foo
 * dispatch: don't rewrap aliases that have the same definition
 * graphlog: attempt to fix index overrun (Bts:issue2912)
 * http: pass user to readauthforuri() (fix 4a43e23b8c55)
 * http: strip credentials from urllib2 manager URIs (Bts:issue2885)
 * parsers: avoid pointer aliasing
 * subrepo: fix cloning of repos from urls without slash after host (Bts:issue2970)
 * ui: pass ' ' to raw_input when prompting
 * url: really handle urls of the form file:///c:/foo/bar/ correctly
 * win32: msvcr71.dll should be used for python 2.4 and 2.5

== Mercurial 1.9.1 (2011-08-01) ==

This is a regular bugfix release. It fixes several regressions introduced in 1.9.
The hgweb server now disables MIME type guessing by default to avoid a potential cross-site scripting issue when hosting untrusted repositories (Bts:issue2923). See UpgradeNotes for more info.

 * dispatch: make sure global options on the command line take precedence
 * eol: ignore IOError from deleted files in commitctx
 * hgcia: set default value of strip to -1 (Bts:issue2891)
 * hgweb: do not ignore [auth] if url has a username (Bts:issue2822)
 * hgweb: handle 'baseurl' configurations with leading slash (Bts:issue2934)
 * hgweb: raw file mimetype guessing configurable, off by default (BC) (Bts:issue2923)
 * httpclient: import ca33b88d143c from py-nonblocking-http (issue2932)
 * patch: fix parsing patch files containing CRs not followed by LFs
 * rebase: block collapse with keepbranches on multiple named branches (Bts:issue2112)
 * rebase: reset bookmarks (Bts:issue2265 and Bts:issue2873)
 * revert: restore check for uncommitted merge (Bts:issue2915) (BC)
 * revsets: catch type error on tip^p1(tip) (Bts:issue2884)
 * revsets: do the right thing with x^:y (Bts:issue2884)
 * subrepo: handle adding svn subrepo with a svn:external file in it (Bts:issue2931)
 * subrepo: use working copy of .hgsub to filter status (Bts:issue2901)
 * url: store and assume the query part of an url is in escaped form (Bts:issue2921)
 * util: rename the util.localpath that uses url to urllocalpath (Bts:issue2875)
 * verify: filter messages about missing null manifests (Bts:issue2900)
 * web: output a correct date in short format (Bts:issue2902)
 * win32: assign winstdout to sys.__stdout__ as well (Bts:issue2888)


== 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) ==
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)

----
CategoryProcess CategoryProject

Release Notes

Features and bugfixes in our latest releases.

Note that Mercurial follows a time based release plan with major releases every four months and minor (bugfix) releases on the first of every month (see TimeBasedReleasePlan).

{i} Be sure to read the upgrade notes when upgrading.

(See archive for older versions.)

1. Mercurial 1.9.3 (2011-10-01)

This is a regular bugfix release.

  • setup: build inotify for sys.platform='linux*'
  • bundlerepo: add argument check before unlink
  • hgweb: properly check for bookmarks when drawing graph
  • http: handle push of bundles > 2 GB again (issue3017)

  • keyword: preserve file mode when overwriting
  • osutil: avoid accidentally destroying the True object in isgui (issue2937)

  • patch: correctly handle non-tabular Subject: line
  • patch: handle 'gitpatches' being empty, but not none
  • record: use command wrapper properly for qnew/qrefresh (issue3001)

  • setdiscovery: fix hang when #heads>200 (issue2971)

  • ui: also swap sys.stdout with self.fout in _readline
  • ui: write traceback to self.ferr
  • url: Remove the proxy env variables only when needed (issue2451)

  • url: parse fragments first (issue2997)
  • util: fix crash converting an invalid future date to string
  • util: wrap lines with multi-byte characters correctly (issue2943)

  • win32: quietly ignore missing CreateHardLinkA for Wine

2. Mercurial 1.9.2 (2011-08-26)

This is a regular bugfix release (slightly early due to travel plans).

  • commands: clarify that 'hg heads foo' shows heads on branch foo
  • dispatch: don't rewrap aliases that have the same definition
  • graphlog: attempt to fix index overrun (issue2912)

  • http: pass user to readauthforuri() (fix 4a43e23b8c55)
  • http: strip credentials from urllib2 manager URIs (issue2885)

  • parsers: avoid pointer aliasing
  • subrepo: fix cloning of repos from urls without slash after host (issue2970)

  • ui: pass ' ' to raw_input when prompting
  • url: really handle urls of the form file:///c:/foo/bar/ correctly

  • win32: msvcr71.dll should be used for python 2.4 and 2.5

3. Mercurial 1.9.1 (2011-08-01)

This is a regular bugfix release. It fixes several regressions introduced in 1.9. The hgweb server now disables MIME type guessing by default to avoid a potential cross-site scripting issue when hosting untrusted repositories (issue2923). See UpgradeNotes for more info.

  • dispatch: make sure global options on the command line take precedence
  • eol: ignore IOError from deleted files in commitctx
  • hgcia: set default value of strip to -1 (issue2891)

  • hgweb: do not ignore [auth] if url has a username (issue2822)

  • hgweb: handle 'baseurl' configurations with leading slash (issue2934)

  • hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)

  • httpclient: import ca33b88d143c from py-nonblocking-http (issue2932)
  • patch: fix parsing patch files containing CRs not followed by LFs
  • rebase: block collapse with keepbranches on multiple named branches (issue2112)

  • rebase: reset bookmarks (issue2265 and issue2873)

  • revert: restore check for uncommitted merge (issue2915) (BC)

  • revsets: catch type error on tip^p1(tip) (issue2884)

  • revsets: do the right thing with x^:y (issue2884)

  • subrepo: handle adding svn subrepo with a svn:external file in it (issue2931)

  • subrepo: use working copy of .hgsub to filter status (issue2901)

  • url: store and assume the query part of an url is in escaped form (issue2921)

  • util: rename the util.localpath that uses url to urllocalpath (issue2875)

  • verify: filter messages about missing null manifests (issue2900)

  • web: output a correct date in short format (issue2902)

  • win32: assign winstdout to sys.stdout as well (issue2888)

4. Mercurial 1.9 (2011-07-01)

This is a regular feature release. See UpgradeNotes for some minor compatibility notes.

4.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

4.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

4.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

4.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

4.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)

5. 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)

6. 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

7. 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)

8. 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)

9. Mercurial 1.8 (2011-03-01)

9.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

9.2. Subrepos

  • New support for git subrepos
  • Various improvements to merge, update, and commit logic

9.3. Windows

  • Numerous robustness improvements for quirks in Windows file handling
  • Now uses the native ctypes module rather than PyWin32

9.4. Extensions

  • eol: filter aliases for compatibility with win32text
  • mq: --exact option for qpush

  • mq: various robustness improvements
  • progress: remaining time estimates

10. 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

11. 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

12. 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)

13. 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

14. 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)

15. Mercurial 1.7 (2010-11-01)

15.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)

15.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)

15.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)

15.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

15.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)

15.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

15.7. contrib

  • mergetools.hgrc: add vimdiff
  • zsh completion: support bookmarks and patchbomb extensions
  • zsh completion: add qpush --move option

15.8. Windows

  • 64-bit Inno Setup installer
  • handle spaces in path to Python (issue2074)


CategoryProcess CategoryProject

WhatsNew (last edited 2024-06-12 09:32:05 by RaphaelGomes)