Differences between revisions 1 and 69 (spanning 68 versions)
Revision 1 as of 2005-09-16 18:27:47
Size: 721
Editor: mpm
Comment:
Revision 69 as of 2010-08-26 19:43:32
Size: 34990
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
}}}
= Release Notes =
Be sure to read UpgradeNotes and, if relevant, [[API_Changes|API Changes]].

<<TableOfContents>>

(See [[WhatsNew/Archive|archive]] for older versions. New versions will be released according to the [[TimeBasedReleasePlan|time-based release plan]].)

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

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

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

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

== 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 (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 [[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 (issue2188)
 * simplify `hgweb.cgi`, add help pointer
 * deliver shell hook output to client
 * allow `--port=0` to specify "choose free port number automatically"
 * improved templater performance

=== Help ===
 * add new hgweb, glossary, and revsets topics
 * numerous improvements to help text

=== Extensions ===
 * acl: support for access control base on branches and user-defined or OS-level groups
 * acl: added support for `pretxncommit`, so that one can call the ACL hook at (?)
 * bookmarks: add support for pushing and pulling bookmarks
 * churn: add possibility to include/exclude paths
 * color: add support for Windows consoles
 * color: colorize based on output labels instead of parsing output
 * extdiff: add labels, read diff arguments from `[merge-tools]`
 * keyword: offer svn-like default keywordmaps
 * keyword: support (q)record
 * mq: add a line to hg summary
 * mq: `qpush --move`, reorder patch series and apply only the patch
 * progress: progress support for many more commands
 * rebase: add option to not commit after a collapsing

== 1.5.4 (2010-06-01) ==
This is a scheduled monthly minor bugfix release.

 * dispatch: include Python version in traceback
 * push: update help
 * status: avoid performance regression when no .hgsub is present
 * clone: fix performance issue with hardlinks and Windows shares
 * hgweb: fix race in refreshing repo list (issue2188)
 * hgrc: clarify that hgrc keys can be overridden and sections can be split
 * eol: [[EolExtension|new extension]] for managing file newlines based on a version controlled configuration file
 * pager: fork and exec pager as parent process with /bin/sh -c
 * rebase: stress that only local changesets should be rebased
 * convert/svn: close gettags() log stream (issue2196)
 * record: check that we are not committing a merge before patch selection

== 1.5.3 - 2010-05-13 ==
This is an unscheduled bugfix release to fix Issue2181 (commit generates traceback on Nonetype). Also included:

 * various improvements to SVN conversion support
 * minor doc improvements

== 1.5.2 - 2010-05-01 ==
This is a monthly bugfix release with numerous minor fixes including:

=== Core ===
 * clone: fix URL too long problem with many heads
 * commands: revised documentation of 'default' and 'default-push'
 * copies: properly visit file context ancestors on working file contexts
 * diffstat: use ui.plain() instead of ui.interactive()
 * dirstate: fix in memory dirstate entries for 1-second race
 * dispatch: don't mangle !ImportError abort messages
 * filemerge: use working dir parent as ancestor for backward wdir merge
 * hgrc.5: describe form of config values and mention lists as well
 * hgweb: fix attribute error in error response (issue2060)
 * log: document the new xml style
 * merge: correctly compute the flag for noexec filesystems
 * patch: don't look for headers in diff lines
 * push: fix bug in warning message selection
 * revlog: fix lazyparser.__iter__() to return all revisions (issue2137)
 * static-http: allow clone -r (issue2164)
 * subrepo: fix repo root path handling in svn subrepo
 * subrepo: propagate and catch push failures
 * templates: document missing template variables
 * util: fix default termwidth() under Windows
 * util: use an explicit prefix for checkexec/checklink temporary files

=== Extensions ===
 * convert/cvs: skip bad tags
 * convert/git: check status when reading output stream
 * convert/subversion: fix default URL checker prototype
 * mq: rewrite strip docstrings
 * mq: use util.unlink instead of os.unlink and os.removedirs
 * schemes: fix // breakage with Python 2.6.5 (issue2111)

== 1.5.1 - 2010-04-01 ==
=== Core ===
 * improve warning on adding large files
 * expand ~ in auth filenames and aliases
 * several improvements to patch parsing
 * warn about attempts to use hg branch to switch branches
 * push: fix bug in prepush logic and its tests
 * hgweb: fix broken URLs of RSS/Atom feeds
 * subrepo: several bug fixes

=== Extensions ===
 * acl: added support for '*' (everyone) in user list
 * progress: use stderr instead of stdout
 * schemes: add Kiln On Demand to default schemes

== 1.5 - 2010-03-06 ==
(This release makes a number of small behavior changes, be sure to read UpgradeNotes!)

=== Core ===
 * improved behavior for named branches with `heads` command
 * new XML output template for logs
 * `import` extract multiple patches from emails, mboxes, files, and URLs
 * new `patch.eol=auto` option to ignore patch line-endings while preserving target file endings.
 * new `-b/--branch` option for `clone, bundle, incoming, outgoing, pull, and push`
 * new `server.validate` option to validate completeness of pushed changesets
 * subrepos now has basic Subversion support
 * support for SSL server certificates and improved IPv6 support
 * the `HGPLAIN` environment variable makes output more stable for scripts

=== Extensions ===
 * new [[ProgressExtension|progress bar extension]]
 * mq: new `--mq` option to make regular commands operate on queue repository
 * mq: automatically upgrade conventional patches to git format where needed
 * color: add support for bookmarks, `resolve -l`, and `churn --diffstat`
 * convert: two CVS history editing hooks
 * win32mbcs: add configuration to specify path encoding
 * zeroconf: many bug fixes
 * rebase: new `--detach` option for rebase

=== Web Interface ===
 * improve navigation on log and graph pages
 * support for pluggable authorization
 * raw templates for tags/branches pages
 * add wsgi script for Microsoft IIS with isapi-wsgi

=== Windows ===
 * add WiX installer scripts to contrib/wix
 * handle configuration files in <install-dir>\hgrc.d
 * expand environment variables specified in merge tools paths

=== Help and Documentation ===
 * greatly improve error messages and command documentation
 * support extended documentation with --verbose
 * provide help for disabled extensions and commands

== 1.4.3 - 2010-02-01 ==
This is a scheduled bugfix release.

 * Mercurial license has changed from GPLv2 to GPLv2+
 * speed up copy detection in merge, status, and diff
 * templates: fix relative path expansion on style setting
 * merge: fix merging of already-merged subrepos
 * summary: fix i18n issue reporting clean working directories
 * hgweb: improve IIS PATH_INFO handling
 * relink: Windows support

== 1.4.2 - 2010-01-01 ==
This is a minor bugfix release.

=== core ===
 * config: raise ConfigError on non-existing include files
 * alias: do not crash when aliased command has no usage help text
 * auth: allow specifying auth sections in .hg/hgrc
 * patch: fix handling of chunk offsets
 * subrepo: add default path to new clones
 * docs: Fix rst2html detection

=== extensions ===
 * convert/svn: better handling of hg recursive call failure
 * convert/svn: make sink recover gracefully from empty changeset
 * keyword: fix interaction with transplant
 * mq: preserve --git flag when folding and merging patches
 * mq: qnew -f rejects merge working directories
 * mq: qpop: remove added files before re-adding removed files
 * patchbomb: handle repository#rev URLs correctly
 * share: use defaultdest to compute unspecified destination

== 1.4.1 - 2009-12-01 ==
=== regression fixes ===
 * fix to prepush logic when it creates new heads
 * fix qseries truncation

=== other ===
 * doc fixes: formatting, missing options
 * tests fixes (now less dependent on environment variables)
 * inotify fixes
 * keyword: allow RCSfile like CVS
 * share: fix a bad interaction with clone
 * show non-default branch names with summary -q
 * new [[SchemesExtension|schemes extension]]
 * i18n updates

== 1.4 - 2009-11-16 ==
=== core ===
 * summary: new command summarizes current working state
 * tags: new tag cache greatly speeds up tag operations
 * diff: new `--stat` option to show diffstat
 * diff: add `--reverse` option to diff
 * subrepo: fix a bunch of issues with the experimental subrepo extension
 * status: fixes for behavior when working with clock skew
 * clone: new `-u/--updaterev` option
 * templater: new `latesttag` and `latesttagdistance` keywords
 * push/pull: handle some broken pipe errors during large transfers
 * config: environment variables and `~user` constructs are expanded in pathnames

=== hgweb ===
 * fix for showing header lines in raw changeset diffs
 * try to send better error messages to the client
 * use config-supplied ordering by default in hgwebdir index pages
 * add `web.descend` option to disable showing all nested repositories in hgwebdir

=== documentation and help ===
 * new config help topic
 * help texts are now written in [[http://docutils.sourceforge.net/rst.html|reStructuredText]] format
 * many translation updates including a new Swedish translation
 * many help text updates and improvements

=== extensions ===
 * mq: add `-1` options to qapplied/qunapplied
 * patchbomb: add a `--flag` option to set a flag value in the Subject header
 * patchbomb: correctly handle Unicode domains (using the IDNA encoding scheme)
 * color: improve colorization of the qseries command
 * inotify: cleaner code, fixed pattern handling
 * zeroconf: show repository descriptions
 * rebase: some performance and correctness fixes
 * extdiff: add 3-way diff for merge changesets
 * convert: handle directory renaming in Darcs, fixed file renaming
 * relink: new extension which helps people re-hardlink their clones

=== other ===
 * contrib/shrink-revlog.py script that can significantly shrink some internal hg files
 * work around non-standard locale settings on OS X

== Version 1.3.1 - 2009-07-23 ==
Regression fixes:

 * fixed excessive memory usage issues with diff and strip
 * fixed ssh performance issue on OS X
 * fixed slow calculation of branch heads
 * fixed handling of port numbers in URLs
 * fixed transaction handling exception
 * fixed incoming with graphlog extension
 * fixed slow commit in fetch extension
 * fixed loading of win32mbcs extension

Other fixes:

 * fixed http username handling in acl extension
 * fixed subrepo path joining on Windows
 * allow update --check to cross branches
 * miscellaneous small doc and bug fixes

== Version 1.3 - 2009-07-01 ==
=== Major Changes ===
 * experimental support for [[subrepos|sub-repositories]]
 * Python 2.3 is no longer supported; now requires Python 2.4-2.6

=== Commands ===
 * merge: add -P/--preview option
 * update: don't unlink added files when -C/--clean is specified
 * update: added -c/--check option to abort on local changes
 * update: allow merges going backwards
 * push: improved handling of named branches
 * branches/heads: add a -c/--closed option to show closed branches
 * help: new extensions topic

=== General ===
 * add patch.eol config setting to work with cross-platform patches
 * fixed support for SSL through proxies
 * add ability to load hooks from arbitrary Python modules
 * hide passwords for HTTP repositories in error and log output
 * fix Python 2.6 support in the Windows installer
 * add mechanism for specifying HTTP authentication details in hgrc
 * prompts and choices are now shown even in non-interactive mode
 * performance improvements, especially on Windows
 * much improved zsh completion
 * improved Danish, Japanese, Italian and simplified Chinese translations
 * new German, French, Greek, Brazilian Portuguese and traditional Chinese translations

=== Web interface ===
 * read configuration data from webdir configs
 * add branches page to hgweb
 * pluggable templater engine support
 * refresh hgwebdir configuration periodically
 * let web.encoding override ui.encoding setting
 * deal with dicts/lists like webdir config paths

=== Extensions ===
 * experimental [[ShareExtension|share]] extension
 * the alias extension has been moved into core
 * mq
  * add -P/--push option to qimport
  * numerous bug fixes
 * convert
  * improved source detection
  * support for comments in author maps
  * add branch map support
  * add different ordering options
  * svn: support OS-specific authn providers
  * svn: improved tag support
  * git: add committer tag only when needed
  * bzr: fix renaming support
  * bzr: add support for filemaps
  * bzr: handle timestamps correctly
  * bzr: fix symlink handling
  * bzr: restore paths to source encoding
  * cvs: add support for CVS merge(point)s
  * cvs: add support for synthetic revisions
  * cvs: better support for branchpoints
  * cvs: deprecate use of external cvsps
  * mtn: improve renaming support
  * mtn: support mtn database files as source
  * mtn: improve date/time support
  * p4: better handling of keywords, binary files and symlinks
 * rebase
  * don't lose copy/rename info
  * keep original mq patch format
 * zeroconf
  * advertise repositories by hostname
  * try to guess IP address if necessary
 * patchbomb
  * option to set attachment name
  * support for In-Reply-To header
 * inotify
  * fix handling of untracked files moved out of repository
  * fix support for directory deletion
 * acl: now works with push over https

== Version 1.2.1 - 2009-03-20 ==
This is a bugfix release.

 * fixed version number build from tarball
 * fix allow_read logic for hgweb
 * improve handling of damaged revlogs in verify
 * keep .orig files when resolving
 * clear resolve state properly when rebasing
 * improve --command handling with bisect
 * fix diff against bundles
 * improve fetch logic for inactive branches
 * fix diffstat with notify
 * fix 'synthetic file adds' in CVS conversion

== Version 1.2 - 2009-03-04 ==
This is a larger feature release.

General features:

 * explicit closing of named branches via hg commit --close-branch
 * hg now accepts options given after arguments on the commandline
 * added translation support with initial Danish, Chinese, Japanese, and Italian translations
 * added optional pure-Python versions of C modules
 * pending changesets can now be accessed safely from hooks
 * diff: added -c option to show single changeset
 * many improvements to the documentation and online help topics

Extensions:

 * convert:
  * new support for perforce sources
  * improvements to handling cvs sources
  * improvements to handling gnu arch source
  * improvements to handling darcs sources
 * bookmarks:
  * set current to new when current is renamed
  * bookmarks: Add track.current option
  * bookmarks: add bookmarks to tags
 * mq: allow qpop when it won't invalidate any dirstate parents
 * patchbomb: respect diff settings
 * rebase: pull --rebase updates if there is nothing to rebase
 * bugzilla: updated to work with Bugzilla 3.2
 * zeroconf: added more documentation
 * hgk: add several color settings
 * the imerge extension has been removed (obsoleted by the resolve command)

== Version 1.1.2 - 2008-12-31 ==
This is a minor release including one security fix and two minor bug fixes

 * improve path auditing (issue 1450)
 * fix date-related test failures in test suite
 * add graph controls to monoblue theme

== Version 1.1.1 - 2008-12-20 ==
This is a bugfix release

 * make hgweb recursion optional (use '**' rather than '*')
 * fix fncache bug for directories ending in ' ' or '.'
 * require -a switch to resolve all files
 * improve help for resolve command
 * fix inotify interaction with bundle diffs
 * fix strange readline import error on Windows
 * fix non-existing target directory with git diffs
 * fix removing symlinks with git diffs
 * fix directory creation bug in patch
 * rebase: allow keeping branch names
 * fix a copy bug in the SVN converter

== Version 1.1 - 2008-12-2 ==
This is a larger feature release.

General:

 * Added 'resolve' command for better tracking of in-progress merges
 * Several speedups for status and diff commands (especially on Windows)
 * Some modules have been rewritten in C for greater speed
 * Compatibility with Python 2.6
 * Improved correctness in the face of casefolding filesystems
 * Fixed a possible race condition in pull
 * Fix support for context-size diff settings
 * Fixed several crashes on Windows related to code freezing
 * Don't complain when trying to load extensions twice
 * Allow C extensions to compile on Haiku
 * Allow for committing in-memory file contents
 * New repository format which limits path lengths in the store
 * Unclutter commands list by extracting extension commands into separate lists
 * static-http support is now a fallback for the general http support
 * Add some buffering to the templater
 * Better documentation on git diffs

Web interface:

 * Add a canvas-based repository graph
 * New and improved hgweb themes: paper, coal and monoblue
 * paper is now the new default style; the old default is now called 'spartan'
 * Better WSGI compliance
 * Collections now show nested repos (best used without a checkout)
 * diffs are more sensible, follow diff.git settings
 * Full author name available in annotate templates
 * Make it easier to add template paths in extensions
 * Support for allow_read/deny_read access controls
 * Working diff and file log for removed files
 * Better alternative for repository collections
 * Corrected feed link in gitweb theme
 * Fix a bug with CGIs running under IIS

Commands:

 * commit: print the revision ID when invoked with --verbose
 * resolve: new command to help keep track of merges
 * merge: only implicitly select same-branch heads
 * export: append instead of overwrite when exporting multiple changesets
 * bundle: added support for different compression types
 * rollback: clean up empty files
 * help: several more sections from the manual are available through hg help now
 * bisect: better documentation, give better feedback, option for scripted testing
 * branch: allow for resetting current branch name
 * patch: add a --similarity option to do rename/copy detection
 * tag: without a checkout, use tip as the tagging revision's parent
 * log: allow searching by user (with -u)
 * import: importing from URL now works with http authentication
 * unbundle: importing from URL now works
 * pull: with -u, still update if there's only one head on the current branch
 * diff: fix a problem with the --showfunc option

Extensions:

 * rebase: new extension to support rebasing changesets
 * bookmarks: new extension to provide (local-only) git-like branches
 * zeroconf: new extension to support publishing repositories through Zeroconf/Bonjour
 * hgcia: new extension to facilitate communication with [[http://cia.vc/|CIA]]
 * mq:
  * qfinish: added command for conversion of patches into changesets
  * qpush/qgoto: gracefully abort when encountering guards
  * qrefresh: don't lose work when interrupted
  * qimport: allow for importing patches from URLs
  * qnew: abort early if patch already exists, be more careful in general
  * qdiff: now supports all diff options
  * qfold: more tolerance of file removals, better handling of commit messages
  * import: prevent import from working when patches are applied
 * convert:
  * added support for conversion from bzr repositories
  * incorporate an improved Python version of cvsps, replacing the external cvsps tool (see upgrade notes)
  * compatibility with recent git releases
  * add an option to start from an arbitrary revision
  * correctly encode characters in Subversion repository URLs
  * better, more tolerant tags detection
 * highlight:
  * remove need to pre-generate CSS stylesheet
  * compatibility with older Pygments versions
  * make the lexer guessing faster by not reading all of the file
  * allow demandimport to load it incrementally
 * fetch: improve support for named branches
 * graphlog:
  * now adds --graph options to log, incoming and outgoing
  * fix calls from outside the repository
 * inotify:
  * many bugfixes, should work much better
  * daemon is automatically started by default
 * color:
  * add colorization of diffs
  * add --color options to many commands
 * keywords: be more careful about expanding binary files
 * bugzilla: added support for Bugzilla 3.0
 * pager: allow per-command configuration
 * hgk: display branch names for revisions
 * churn: support for templated statistics report generation
 * patchbomb: charset encoding can now be configured
 * notify: charset encoding can now be configured

== Version 1.0.2 - 2008-08-13 ==
This is a relatively small bugfix release with two security fixes.

Security:

 * ensure that git patches only touch files within the repository ([[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2942|CVE-2008-2942]])
 * hgweb: fix "allowpull" permission being ignored when pulling from hgweb

General:

 * commit: handle copies of previously deleted files (issue 1175)
 * bisect: allow for having multiple resulting changesets
 * fix Python 2.3 compatibility
 * make mq patches and .hgtags hardlink-safe again
 * various documentation improvements and fixes
 * fix a crash when addremove was called to replace a deleted directory with a symlink
 * make branches output easier to parse (issue 1230)
 * fix inactive branches detection (issue 1104)
 * hgweb: fix a crash in archive when the URL did not end in an expected archive type
 * sshserver: fix a crash in error handling code
 * fix the patchbomb extension on Windows by including email package in binary installations
 * handle symlinks when OS supports them but FS doesn't (issue 1149)

Extensions:

 * mq:
  * fix qrefresh losing metadata on the last refreshed file (issue 1134)
  * fix a crash when renaming a patch just after a versioned queue initialization
  * fix the path of an explicitly specified queue when merging patches
  * strip now updates the working directory only if a parent was stripped
 * convert:
  * CVS: fix a crash when converting an existing working copy
  * monotone: fix quotes and backslashes parsing when reading commit messages
  * Subversion: correctly normalize paths and slashes
  * Subversion: fix compatibility with Subversion 1.5
  * git: allow converter to work with recent git releases
 * color:
  * get coloring for qseries --verbose output
  * improve mq extension detection
  * reset coloring before and after outputting colorized lines
 * highlight: fix a performance issue when detecting file types from large files
 * notify: take the diff options into account

== Version 1.0.1 - 2008-05-22 ==
This is a relatively small bugfix release.

General:

 * several improvements in file copying implementation
 * allow different default value for diff.unified option
 * allow explicit use of internal merge tools

Commands:

 * rename: doesn't unlink source file with --after
 * backout: reverse changeset belongs on current branch

Extensions:

 * convert:
  * svn: improved detection of tags (has also become optional)
  * svn: improved branch handling
  * svn: better detection of file copies
 * mq:
  * expand terse command help texts
  * fix unimplemented qdiff -U option
 * highlight: fix compatibility with older Pygments (0.5.1)
 * churn: allow whitespaces as delimiter in aliases
 * pager: disable when used with --debugger

== Version 1.0 - 2008-03-24 ==
General:

 * greatly improved [[MergeToolConfiguration|merge tool configuration]], see "hgrc.5.txt" for details
 * improved copy/rename handling in diffs, status, and merge
 * files in .hg inherit permissions from .hg/store
 * infer --repository when possible, so commands may be run from anywhere.
 * easy-installable
 * new "droplet" logo

Commands:

 * archive: disable ".hg_archival.txt" file addition with "ui.archivemeta"
 * bisect: now built-in with greatly improved performance and usability
 * bundle: new --all option to bundle the whole repository more easily.
 * cat: apply decode filters with --decode
 * clone: can clone from a full-history bundle
 * commit: warn when creating a new head
 * debugancestor: index argument is now optional
 * diff: set the number of context line to show with -U/--unified
 * grep: display matched revisions commit date with --date
 * import: new --no-commit and --user options
 * incoming/outgoing: add --limit option
 * log: use -b/--only-branch to show revisions of a single branch
 * remove: improve handling for --after
 * revert: major speedup
 * serve: prefix the served path with --prefix (also in [web] section)
 * status: unknown files are skipped by --quiet
 * tag: allow multiple tags to be added or removed
 * tags: --verbose flags local tags
 * update: switch between named branches without -C

Extensions:

 * churn: promoted to an official extension (previously in contrib)
 * color: new extension coloring "status" and "qseries" command outputs
 * convert:
  * allow synthetic history to be spliced in with --splicemap
  * support GNU Arch and Monotone sources
  * svn: allow shallow conversions of single branches with convert.svn.startrev option.
  * svn: make trunk/branches/tags layout detection more flexible by allowing either of them to be skipped.
  * svn: preliminary support as a conversion target
 * hgk: configuration file changed from .gitk to .hgk
 * highlight: new extension enabling syntax highlighting in hgweb file view (requires pygments)
 * inotify: new extension using Linux 2.6 inotify API for instant status checking
 * keyword: new extension for filewise RCS-keyword expansion in working directory
 * mq: new --currentdate, --date, --currentuser, and --user options
 * record: add "qrecord" command when used with mq
 * win32mbcs: new extension dealing with problematic MBCS behavior on Windows

Web interface:

 * improved WSGI integration and compatibility
 * follow symlinks in hgwebdir collections
 * show branches in most of gitweb templates
 * add line anchors to annotate, changeset, diff and file views
 * support web.baseurl in hgwebdir, overriding SCRIPT_NAME

Hooks:

 * standard hook to reject text files with CRLF in win32text extension
 * redirect stdout to stderr for ssh and http servers

Windows support:

 * "hg" script output set to binary mode for redirecting diff, export, annotate, etc.
 * also search for .hgrc if mercurial.ini cannot be found
 * major speedup of "clone --pull"

== Version 0.9.5 - 2007-10-19 ==
New features:

 * Handle symlinks on systems without symlink support
 * hg archive supports symlinks
 * Display executable/symlink bit with "hg manifest -v" (see UpgradeNotes)
 * Improved hg verify diagostics
 * Faster revlog handling
 * Faster handling of large directories
 * Greatly improved handling of large files
 * Atom syndication support in hgweb
 * Improved test suite with parallel execution

Fixes:

 * Fixes for some file copy and rename corner cases
 * Allow moving newly-added files before commit
 * Improve hg diff whitespace handling
 * Disallow fast-forward merge with an ancestor
 * Fix adding untracked files on directory renames
 * Fix hg archive %r format specifier
 * Fix re: and glob: patterns in .hgignore
 * Improve hg executable path resolution
 * Many options and hgrc parsing improvements
 * Better handling of VFAT filesystems on Linux
 * Fix tgz archival on Windows
 * Fix hg serve on Windows requiring pywin32 modules
 * Fix --profile under Windows

New extensions:

 * alias - allow user-defined command aliases
 * children - show the children of the given or working dir revision
 * imerge - incremental interactive merging
 * interhg - modify changelog text as in InterWiki
 * record - darcs-style interactive change selection during commit

New extension features:

 * convert
  * Now supports Subversion, Darcs and Mercurial as source SCMs
  * Use clone's behaviour for the default destination name
  * Force encoding to UTF-8 for converted repository
  * Support new-style .cvspass file format
  * Filter the files and directories to import
  * Remap paths to new locations during import
 * hgk
  * Fix hgk stopping because of untrusted repository warnings
  * Handle filenames with spaces
  * Improved documentation
 * mq
  * Autodetect --git patches on qrefresh

== Version 0.9.4 - 2007-06-25 ==
New features:

 * support for symlinks
 * improved tag handling
 * improved merge handling of file and directory renames
 * improved named branch usability
 * numerous improvements to commands
 * generic pre- and post-command hooks
 * improved Windows support
 * basic BeOS and OpenVMS support
 * numerous bug fixes

New extensions and contributions:

 * extensions can now be specified in .hg/hgrc
 * new convert extension with CVS support
 * new graphlog extension
 * improved patchbomb extension
 * example FastCGI script

Release Notes

Be sure to read UpgradeNotes and, if relevant, API Changes.

(See archive for older versions. New versions will be released according to the time-based release plan.)

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.

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

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

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

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 (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

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

Help

  • add new hgweb, glossary, and revsets topics
  • numerous improvements to help text

Extensions

  • acl: support for access control base on branches and user-defined or OS-level groups
  • acl: added support for pretxncommit, so that one can call the ACL hook at (?)

  • bookmarks: add support for pushing and pulling bookmarks
  • churn: add possibility to include/exclude paths
  • color: add support for Windows consoles
  • color: colorize based on output labels instead of parsing output
  • extdiff: add labels, read diff arguments from [merge-tools]

  • keyword: offer svn-like default keywordmaps
  • keyword: support (q)record
  • mq: add a line to hg summary
  • mq: qpush --move, reorder patch series and apply only the patch

  • progress: progress support for many more commands
  • rebase: add option to not commit after a collapsing

1.5.4 (2010-06-01)

This is a scheduled monthly minor bugfix release.

  • dispatch: include Python version in traceback
  • push: update help
  • status: avoid performance regression when no .hgsub is present
  • clone: fix performance issue with hardlinks and Windows shares
  • hgweb: fix race in refreshing repo list (issue2188)
  • hgrc: clarify that hgrc keys can be overridden and sections can be split
  • eol: new extension for managing file newlines based on a version controlled configuration file

  • pager: fork and exec pager as parent process with /bin/sh -c
  • rebase: stress that only local changesets should be rebased
  • convert/svn: close gettags() log stream (issue2196)
  • record: check that we are not committing a merge before patch selection

1.5.3 - 2010-05-13

This is an unscheduled bugfix release to fix Issue2181 (commit generates traceback on Nonetype). Also included:

  • various improvements to SVN conversion support
  • minor doc improvements

1.5.2 - 2010-05-01

This is a monthly bugfix release with numerous minor fixes including:

Core

  • clone: fix URL too long problem with many heads
  • commands: revised documentation of 'default' and 'default-push'
  • copies: properly visit file context ancestors on working file contexts
  • diffstat: use ui.plain() instead of ui.interactive()
  • dirstate: fix in memory dirstate entries for 1-second race
  • dispatch: don't mangle ImportError abort messages

  • filemerge: use working dir parent as ancestor for backward wdir merge
  • hgrc.5: describe form of config values and mention lists as well
  • hgweb: fix attribute error in error response (issue2060)
  • log: document the new xml style
  • merge: correctly compute the flag for noexec filesystems
  • patch: don't look for headers in diff lines
  • push: fix bug in warning message selection
  • revlog: fix lazyparser.iter() to return all revisions (issue2137)

  • static-http: allow clone -r (issue2164)
  • subrepo: fix repo root path handling in svn subrepo
  • subrepo: propagate and catch push failures
  • templates: document missing template variables
  • util: fix default termwidth() under Windows
  • util: use an explicit prefix for checkexec/checklink temporary files

Extensions

  • convert/cvs: skip bad tags
  • convert/git: check status when reading output stream
  • convert/subversion: fix default URL checker prototype
  • mq: rewrite strip docstrings
  • mq: use util.unlink instead of os.unlink and os.removedirs
  • schemes: fix // breakage with Python 2.6.5 (issue2111)

1.5.1 - 2010-04-01

Core

  • improve warning on adding large files
  • expand ~ in auth filenames and aliases
  • several improvements to patch parsing
  • warn about attempts to use hg branch to switch branches
  • push: fix bug in prepush logic and its tests
  • hgweb: fix broken URLs of RSS/Atom feeds
  • subrepo: several bug fixes

Extensions

  • acl: added support for '*' (everyone) in user list
  • progress: use stderr instead of stdout
  • schemes: add Kiln On Demand to default schemes

1.5 - 2010-03-06

(This release makes a number of small behavior changes, be sure to read UpgradeNotes!)

Core

  • improved behavior for named branches with heads command

  • new XML output template for logs
  • import extract multiple patches from emails, mboxes, files, and URLs

  • new patch.eol=auto option to ignore patch line-endings while preserving target file endings.

  • new -b/--branch option for clone, bundle, incoming, outgoing, pull, and push

  • new server.validate option to validate completeness of pushed changesets

  • subrepos now has basic Subversion support
  • support for SSL server certificates and improved IPv6 support
  • the HGPLAIN environment variable makes output more stable for scripts

Extensions

  • new progress bar extension

  • mq: new --mq option to make regular commands operate on queue repository

  • mq: automatically upgrade conventional patches to git format where needed
  • color: add support for bookmarks, resolve -l, and churn --diffstat

  • convert: two CVS history editing hooks
  • win32mbcs: add configuration to specify path encoding
  • zeroconf: many bug fixes
  • rebase: new --detach option for rebase

Web Interface

  • improve navigation on log and graph pages
  • support for pluggable authorization
  • raw templates for tags/branches pages
  • add wsgi script for Microsoft IIS with isapi-wsgi

Windows

  • add WiX installer scripts to contrib/wix
  • handle configuration files in <install-dir>\hgrc.d

  • expand environment variables specified in merge tools paths

Help and Documentation

  • greatly improve error messages and command documentation
  • support extended documentation with --verbose
  • provide help for disabled extensions and commands

1.4.3 - 2010-02-01

This is a scheduled bugfix release.

  • Mercurial license has changed from GPLv2 to GPLv2+
  • speed up copy detection in merge, status, and diff
  • templates: fix relative path expansion on style setting
  • merge: fix merging of already-merged subrepos
  • summary: fix i18n issue reporting clean working directories
  • hgweb: improve IIS PATH_INFO handling
  • relink: Windows support

1.4.2 - 2010-01-01

This is a minor bugfix release.

core

  • config: raise ConfigError on non-existing include files

  • alias: do not crash when aliased command has no usage help text
  • auth: allow specifying auth sections in .hg/hgrc
  • patch: fix handling of chunk offsets
  • subrepo: add default path to new clones
  • docs: Fix rst2html detection

extensions

  • convert/svn: better handling of hg recursive call failure
  • convert/svn: make sink recover gracefully from empty changeset
  • keyword: fix interaction with transplant
  • mq: preserve --git flag when folding and merging patches
  • mq: qnew -f rejects merge working directories
  • mq: qpop: remove added files before re-adding removed files
  • patchbomb: handle repository#rev URLs correctly
  • share: use defaultdest to compute unspecified destination

1.4.1 - 2009-12-01

regression fixes

  • fix to prepush logic when it creates new heads
  • fix qseries truncation

other

  • doc fixes: formatting, missing options
  • tests fixes (now less dependent on environment variables)
  • inotify fixes
  • keyword: allow RCSfile like CVS
  • share: fix a bad interaction with clone
  • show non-default branch names with summary -q
  • new schemes extension

  • i18n updates

1.4 - 2009-11-16

core

  • summary: new command summarizes current working state
  • tags: new tag cache greatly speeds up tag operations
  • diff: new --stat option to show diffstat

  • diff: add --reverse option to diff

  • subrepo: fix a bunch of issues with the experimental subrepo extension
  • status: fixes for behavior when working with clock skew
  • clone: new -u/--updaterev option

  • templater: new latesttag and latesttagdistance keywords

  • push/pull: handle some broken pipe errors during large transfers
  • config: environment variables and ~user constructs are expanded in pathnames

hgweb

  • fix for showing header lines in raw changeset diffs
  • try to send better error messages to the client
  • use config-supplied ordering by default in hgwebdir index pages
  • add web.descend option to disable showing all nested repositories in hgwebdir

documentation and help

  • new config help topic
  • help texts are now written in reStructuredText format

  • many translation updates including a new Swedish translation
  • many help text updates and improvements

extensions

  • mq: add -1 options to qapplied/qunapplied

  • patchbomb: add a --flag option to set a flag value in the Subject header

  • patchbomb: correctly handle Unicode domains (using the IDNA encoding scheme)
  • color: improve colorization of the qseries command
  • inotify: cleaner code, fixed pattern handling
  • zeroconf: show repository descriptions
  • rebase: some performance and correctness fixes
  • extdiff: add 3-way diff for merge changesets
  • convert: handle directory renaming in Darcs, fixed file renaming
  • relink: new extension which helps people re-hardlink their clones

other

  • contrib/shrink-revlog.py script that can significantly shrink some internal hg files
  • work around non-standard locale settings on OS X

Version 1.3.1 - 2009-07-23

Regression fixes:

  • fixed excessive memory usage issues with diff and strip
  • fixed ssh performance issue on OS X
  • fixed slow calculation of branch heads
  • fixed handling of port numbers in URLs
  • fixed transaction handling exception
  • fixed incoming with graphlog extension
  • fixed slow commit in fetch extension
  • fixed loading of win32mbcs extension

Other fixes:

  • fixed http username handling in acl extension
  • fixed subrepo path joining on Windows
  • allow update --check to cross branches
  • miscellaneous small doc and bug fixes

Version 1.3 - 2009-07-01

Major Changes

  • experimental support for sub-repositories

  • Python 2.3 is no longer supported; now requires Python 2.4-2.6

Commands

  • merge: add -P/--preview option
  • update: don't unlink added files when -C/--clean is specified
  • update: added -c/--check option to abort on local changes
  • update: allow merges going backwards
  • push: improved handling of named branches
  • branches/heads: add a -c/--closed option to show closed branches
  • help: new extensions topic

General

  • add patch.eol config setting to work with cross-platform patches
  • fixed support for SSL through proxies
  • add ability to load hooks from arbitrary Python modules
  • hide passwords for HTTP repositories in error and log output
  • fix Python 2.6 support in the Windows installer
  • add mechanism for specifying HTTP authentication details in hgrc
  • prompts and choices are now shown even in non-interactive mode
  • performance improvements, especially on Windows
  • much improved zsh completion
  • improved Danish, Japanese, Italian and simplified Chinese translations
  • new German, French, Greek, Brazilian Portuguese and traditional Chinese translations

Web interface

  • read configuration data from webdir configs
  • add branches page to hgweb
  • pluggable templater engine support
  • refresh hgwebdir configuration periodically
  • let web.encoding override ui.encoding setting
  • deal with dicts/lists like webdir config paths

Extensions

  • experimental share extension

  • the alias extension has been moved into core
  • mq
    • add -P/--push option to qimport
    • numerous bug fixes
  • convert
    • improved source detection
    • support for comments in author maps
    • add branch map support
    • add different ordering options
    • svn: support OS-specific authn providers
    • svn: improved tag support
    • git: add committer tag only when needed
    • bzr: fix renaming support
    • bzr: add support for filemaps
    • bzr: handle timestamps correctly
    • bzr: fix symlink handling
    • bzr: restore paths to source encoding
    • cvs: add support for CVS merge(point)s
    • cvs: add support for synthetic revisions
    • cvs: better support for branchpoints
    • cvs: deprecate use of external cvsps
    • mtn: improve renaming support
    • mtn: support mtn database files as source
    • mtn: improve date/time support
    • p4: better handling of keywords, binary files and symlinks
  • rebase
    • don't lose copy/rename info
    • keep original mq patch format
  • zeroconf
    • advertise repositories by hostname
    • try to guess IP address if necessary
  • patchbomb
    • option to set attachment name
    • support for In-Reply-To header
  • inotify
    • fix handling of untracked files moved out of repository
    • fix support for directory deletion
  • acl: now works with push over https

Version 1.2.1 - 2009-03-20

This is a bugfix release.

  • fixed version number build from tarball
  • fix allow_read logic for hgweb
  • improve handling of damaged revlogs in verify
  • keep .orig files when resolving
  • clear resolve state properly when rebasing
  • improve --command handling with bisect
  • fix diff against bundles
  • improve fetch logic for inactive branches
  • fix diffstat with notify
  • fix 'synthetic file adds' in CVS conversion

Version 1.2 - 2009-03-04

This is a larger feature release.

General features:

  • explicit closing of named branches via hg commit --close-branch
  • hg now accepts options given after arguments on the commandline
  • added translation support with initial Danish, Chinese, Japanese, and Italian translations
  • added optional pure-Python versions of C modules
  • pending changesets can now be accessed safely from hooks
  • diff: added -c option to show single changeset
  • many improvements to the documentation and online help topics

Extensions:

  • convert:
    • new support for perforce sources
    • improvements to handling cvs sources
    • improvements to handling gnu arch source
    • improvements to handling darcs sources
  • bookmarks:
    • set current to new when current is renamed
    • bookmarks: Add track.current option
    • bookmarks: add bookmarks to tags
  • mq: allow qpop when it won't invalidate any dirstate parents
  • patchbomb: respect diff settings
  • rebase: pull --rebase updates if there is nothing to rebase
  • bugzilla: updated to work with Bugzilla 3.2
  • zeroconf: added more documentation
  • hgk: add several color settings
  • the imerge extension has been removed (obsoleted by the resolve command)

Version 1.1.2 - 2008-12-31

This is a minor release including one security fix and two minor bug fixes

  • improve path auditing (issue 1450)
  • fix date-related test failures in test suite
  • add graph controls to monoblue theme

Version 1.1.1 - 2008-12-20

This is a bugfix release

  • make hgweb recursion optional (use '**' rather than '*')
  • fix fncache bug for directories ending in ' ' or '.'
  • require -a switch to resolve all files
  • improve help for resolve command
  • fix inotify interaction with bundle diffs
  • fix strange readline import error on Windows
  • fix non-existing target directory with git diffs
  • fix removing symlinks with git diffs
  • fix directory creation bug in patch
  • rebase: allow keeping branch names
  • fix a copy bug in the SVN converter

Version 1.1 - 2008-12-2

This is a larger feature release.

General:

  • Added 'resolve' command for better tracking of in-progress merges
  • Several speedups for status and diff commands (especially on Windows)
  • Some modules have been rewritten in C for greater speed
  • Compatibility with Python 2.6
  • Improved correctness in the face of casefolding filesystems
  • Fixed a possible race condition in pull
  • Fix support for context-size diff settings
  • Fixed several crashes on Windows related to code freezing
  • Don't complain when trying to load extensions twice
  • Allow C extensions to compile on Haiku
  • Allow for committing in-memory file contents
  • New repository format which limits path lengths in the store
  • Unclutter commands list by extracting extension commands into separate lists
  • static-http support is now a fallback for the general http support
  • Add some buffering to the templater
  • Better documentation on git diffs

Web interface:

  • Add a canvas-based repository graph
  • New and improved hgweb themes: paper, coal and monoblue
  • paper is now the new default style; the old default is now called 'spartan'
  • Better WSGI compliance
  • Collections now show nested repos (best used without a checkout)
  • diffs are more sensible, follow diff.git settings
  • Full author name available in annotate templates
  • Make it easier to add template paths in extensions
  • Support for allow_read/deny_read access controls
  • Working diff and file log for removed files
  • Better alternative for repository collections
  • Corrected feed link in gitweb theme
  • Fix a bug with CGIs running under IIS

Commands:

  • commit: print the revision ID when invoked with --verbose
  • resolve: new command to help keep track of merges
  • merge: only implicitly select same-branch heads
  • export: append instead of overwrite when exporting multiple changesets
  • bundle: added support for different compression types
  • rollback: clean up empty files
  • help: several more sections from the manual are available through hg help now
  • bisect: better documentation, give better feedback, option for scripted testing
  • branch: allow for resetting current branch name
  • patch: add a --similarity option to do rename/copy detection
  • tag: without a checkout, use tip as the tagging revision's parent
  • log: allow searching by user (with -u)
  • import: importing from URL now works with http authentication
  • unbundle: importing from URL now works
  • pull: with -u, still update if there's only one head on the current branch
  • diff: fix a problem with the --showfunc option

Extensions:

  • rebase: new extension to support rebasing changesets
  • bookmarks: new extension to provide (local-only) git-like branches
  • zeroconf: new extension to support publishing repositories through Zeroconf/Bonjour
  • hgcia: new extension to facilitate communication with CIA

  • mq:
    • qfinish: added command for conversion of patches into changesets
    • qpush/qgoto: gracefully abort when encountering guards
    • qrefresh: don't lose work when interrupted
    • qimport: allow for importing patches from URLs
    • qnew: abort early if patch already exists, be more careful in general
    • qdiff: now supports all diff options
    • qfold: more tolerance of file removals, better handling of commit messages
    • import: prevent import from working when patches are applied
  • convert:
    • added support for conversion from bzr repositories
    • incorporate an improved Python version of cvsps, replacing the external cvsps tool (see upgrade notes)
    • compatibility with recent git releases
    • add an option to start from an arbitrary revision
    • correctly encode characters in Subversion repository URLs
    • better, more tolerant tags detection
  • highlight:
    • remove need to pre-generate CSS stylesheet
    • compatibility with older Pygments versions
    • make the lexer guessing faster by not reading all of the file
    • allow demandimport to load it incrementally
  • fetch: improve support for named branches
  • graphlog:
    • now adds --graph options to log, incoming and outgoing
    • fix calls from outside the repository
  • inotify:
    • many bugfixes, should work much better
    • daemon is automatically started by default
  • color:
    • add colorization of diffs
    • add --color options to many commands
  • keywords: be more careful about expanding binary files
  • bugzilla: added support for Bugzilla 3.0
  • pager: allow per-command configuration
  • hgk: display branch names for revisions
  • churn: support for templated statistics report generation
  • patchbomb: charset encoding can now be configured
  • notify: charset encoding can now be configured

Version 1.0.2 - 2008-08-13

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

Security:

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

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

General:

  • commit: handle copies of previously deleted files (issue 1175)
  • bisect: allow for having multiple resulting changesets
  • fix Python 2.3 compatibility
  • make mq patches and .hgtags hardlink-safe again
  • various documentation improvements and fixes
  • fix a crash when addremove was called to replace a deleted directory with a symlink
  • make branches output easier to parse (issue 1230)
  • fix inactive branches detection (issue 1104)
  • hgweb: fix a crash in archive when the URL did not end in an expected archive type
  • sshserver: fix a crash in error handling code
  • fix the patchbomb extension on Windows by including email package in binary installations
  • handle symlinks when OS supports them but FS doesn't (issue 1149)

Extensions:

  • mq:
    • fix qrefresh losing metadata on the last refreshed file (issue 1134)
    • fix a crash when renaming a patch just after a versioned queue initialization
    • fix the path of an explicitly specified queue when merging patches
    • strip now updates the working directory only if a parent was stripped
  • convert:
    • CVS: fix a crash when converting an existing working copy
    • monotone: fix quotes and backslashes parsing when reading commit messages
    • Subversion: correctly normalize paths and slashes
    • Subversion: fix compatibility with Subversion 1.5
    • git: allow converter to work with recent git releases
  • color:
    • get coloring for qseries --verbose output
    • improve mq extension detection
    • reset coloring before and after outputting colorized lines
  • highlight: fix a performance issue when detecting file types from large files
  • notify: take the diff options into account

Version 1.0.1 - 2008-05-22

This is a relatively small bugfix release.

General:

  • several improvements in file copying implementation
  • allow different default value for diff.unified option
  • allow explicit use of internal merge tools

Commands:

  • rename: doesn't unlink source file with --after
  • backout: reverse changeset belongs on current branch

Extensions:

  • convert:
    • svn: improved detection of tags (has also become optional)
    • svn: improved branch handling
    • svn: better detection of file copies
  • mq:
    • expand terse command help texts
    • fix unimplemented qdiff -U option
  • highlight: fix compatibility with older Pygments (0.5.1)
  • churn: allow whitespaces as delimiter in aliases
  • pager: disable when used with --debugger

Version 1.0 - 2008-03-24

General:

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

  • improved copy/rename handling in diffs, status, and merge
  • files in .hg inherit permissions from .hg/store
  • infer --repository when possible, so commands may be run from anywhere.
  • easy-installable
  • new "droplet" logo

Commands:

  • archive: disable ".hg_archival.txt" file addition with "ui.archivemeta"
  • bisect: now built-in with greatly improved performance and usability
  • bundle: new --all option to bundle the whole repository more easily.
  • cat: apply decode filters with --decode
  • clone: can clone from a full-history bundle
  • commit: warn when creating a new head
  • debugancestor: index argument is now optional
  • diff: set the number of context line to show with -U/--unified
  • grep: display matched revisions commit date with --date
  • import: new --no-commit and --user options
  • incoming/outgoing: add --limit option
  • log: use -b/--only-branch to show revisions of a single branch
  • remove: improve handling for --after
  • revert: major speedup
  • serve: prefix the served path with --prefix (also in [web] section)
  • status: unknown files are skipped by --quiet
  • tag: allow multiple tags to be added or removed
  • tags: --verbose flags local tags
  • update: switch between named branches without -C

Extensions:

  • churn: promoted to an official extension (previously in contrib)
  • color: new extension coloring "status" and "qseries" command outputs
  • convert:
    • allow synthetic history to be spliced in with --splicemap
    • support GNU Arch and Monotone sources
    • svn: allow shallow conversions of single branches with convert.svn.startrev option.
    • svn: make trunk/branches/tags layout detection more flexible by allowing either of them to be skipped.
    • svn: preliminary support as a conversion target
  • hgk: configuration file changed from .gitk to .hgk
  • highlight: new extension enabling syntax highlighting in hgweb file view (requires pygments)
  • inotify: new extension using Linux 2.6 inotify API for instant status checking
  • keyword: new extension for filewise RCS-keyword expansion in working directory
  • mq: new --currentdate, --date, --currentuser, and --user options
  • record: add "qrecord" command when used with mq
  • win32mbcs: new extension dealing with problematic MBCS behavior on Windows

Web interface:

  • improved WSGI integration and compatibility
  • follow symlinks in hgwebdir collections
  • show branches in most of gitweb templates
  • add line anchors to annotate, changeset, diff and file views
  • support web.baseurl in hgwebdir, overriding SCRIPT_NAME

Hooks:

  • standard hook to reject text files with CRLF in win32text extension
  • redirect stdout to stderr for ssh and http servers

Windows support:

  • "hg" script output set to binary mode for redirecting diff, export, annotate, etc.
  • also search for .hgrc if mercurial.ini cannot be found
  • major speedup of "clone --pull"

Version 0.9.5 - 2007-10-19

New features:

  • Handle symlinks on systems without symlink support
  • hg archive supports symlinks
  • Display executable/symlink bit with "hg manifest -v" (see UpgradeNotes)

  • Improved hg verify diagostics
  • Faster revlog handling
  • Faster handling of large directories
  • Greatly improved handling of large files
  • Atom syndication support in hgweb
  • Improved test suite with parallel execution

Fixes:

  • Fixes for some file copy and rename corner cases
  • Allow moving newly-added files before commit
  • Improve hg diff whitespace handling
  • Disallow fast-forward merge with an ancestor
  • Fix adding untracked files on directory renames
  • Fix hg archive %r format specifier
  • Fix re: and glob: patterns in .hgignore
  • Improve hg executable path resolution
  • Many options and hgrc parsing improvements
  • Better handling of VFAT filesystems on Linux
  • Fix tgz archival on Windows
  • Fix hg serve on Windows requiring pywin32 modules
  • Fix --profile under Windows

New extensions:

  • alias - allow user-defined command aliases
  • children - show the children of the given or working dir revision
  • imerge - incremental interactive merging
  • interhg - modify changelog text as in InterWiki

  • record - darcs-style interactive change selection during commit

New extension features:

  • convert
    • Now supports Subversion, Darcs and Mercurial as source SCMs
    • Use clone's behaviour for the default destination name
    • Force encoding to UTF-8 for converted repository
    • Support new-style .cvspass file format
    • Filter the files and directories to import
    • Remap paths to new locations during import
  • hgk
    • Fix hgk stopping because of untrusted repository warnings
    • Handle filenames with spaces
    • Improved documentation
  • mq
    • Autodetect --git patches on qrefresh

Version 0.9.4 - 2007-06-25

New features:

  • support for symlinks
  • improved tag handling
  • improved merge handling of file and directory renames
  • improved named branch usability
  • numerous improvements to commands
  • generic pre- and post-command hooks
  • improved Windows support
  • basic BeOS and OpenVMS support
  • numerous bug fixes

New extensions and contributions:

  • extensions can now be specified in .hg/hgrc
  • new convert extension with CVS support
  • new graphlog extension
  • improved patchbomb extension
  • example FastCGI script

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