Differences between revisions 12 and 74 (spanning 62 versions)
Revision 12 as of 2006-07-19 19:58:27
Size: 7282
Comment:
Revision 74 as of 2010-10-15 22:05:54
Size: 36548
Editor: abuehl
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Be sure to read UpgradeNotes.

[[TableOfContents()]]

== Version 0.9.1 - 2006-07-xx ==

'''DRAFT'''

These are the major changes between Mercurial 0.9 and 0.9.1:

 * New features:
   * You can now configure your `hgweb` server to let remote users `push` changes over http.
   * You can now `import` a patch in a mail message by saving the mail message, and importing it. This works for patches sent either inline or as attachments.
   * The `diff` command now accepts `-rA:B` syntax as a synonym for `-r A -r B`.
 * New contributions and extensions:
   * The `acl` extension lets you lock down parts of a repository against incoming changes
   * The `extdiff` extension lets you run your favourite graphical change viewer
   * Comprehensive integration with the `vim` editor
   * A restricted shell for `ssh`-hosted repositories
   * An importer for `darcs` repositories
 * New hooks added:
   * `preupdate` is run before an update or merge in the working directory.
   * `update` is run after an update or merge in the working directory.
 * Behaviour changes:
   * '''NOTE''': The Windows binary installer no longer performs automatic line-ending conversion for Unix/Linux compatibility. To re-enable this feature, edit your `mercurial.ini` file after you upgrade.
   * The Windows binary installer now adds `hg` to your `%PATH%` automatically.
   * The `backout` command now runs an editor by default, to let you modify the commit message for a backed-out changeset.
   * An earlier problem with parsing of tags [http://www.selenic.com/repo/hg?cs=dbdce3b99988 has been fixed]. This makes tag parsing slower but more reliable.
 * Memory usage and performance improvements:
   * The `remove` command has been rewritten to be hundreds of times faster in large repositories.
   * It is now possible to `clone` a repository very quickly over a LAN, if the server is configured to allow it. See the new `server` section in the `hgrc` documentation.
 * Other changes of note:
   * Mercurial will now print help for an extension if you type `hg help EXT_NAME`.
   * The usual array of bug fixes and documentation improvements.
   * The integrated web server is now more [http://www.python.org/dev/peps/pep-0333/ WSGI]-compliant.
   * Work has begun to solidify Mercurial's API for use by third-party packages.

== Version 0.9 - 2006-05-10 ==

[http://www.selenic.com/pipermail/mercurial/2006-May/008093.html Release announcement.]

These are the major changes between Mercurial 0.8.1 and 0.9:

 * The repository file format has been improved.
   * This has resulted in an average 40% reduction in disk space usage.
   * The new format (called RevlogNG) is now the default.
   * Mercurial works perfectly with both the old and new repository file formats. It can transfer changes transparently between repositories of either format.
   * To use the new repository format, simply use `hg clone --pull` to clone an existing repository.
   * '''Note''': Versions 0.8.1 and earlier of Mercurial cannot read RevlogNG repositories directly, but they can `clone`, `pull` from, and `push` to servers that are serving RevlogNG repositories.
 * Memory usage has been improved by over 50% for many common operations.
 * Substantial performance improvements on large repositories.
 * New commands:
   * `archive` - generate a directory tree snapshot, tarball, or zip file of a revision
 * Deprecated commands:
   * `addremove` - replaced by `add` and `remove --after`
   * `forget` - replaced by `revert`
   * `undo` - replaced by `rollback`
 * New extensions:
   * Bugzilla integration hook
   * Email notification hook
 * Nested repositories are now supported. Mercurial will not recurse into a subdirectory that contains a `.hg` directory. It is treated as a separate repository.
 * The standalone web server, `hg serve`, is now threaded, so it can talk to multiple clients at a time.
 * The web server can now display a "message of the day".
 * Support added for hooks written in Python.
 * Many improvements and clarifications to built-in help.

== Version 0.8.1 - 2006-04-07 ==

Released [http://www.selenic.com/pipermail/mercurial/2006-April/007534.html 2006-04-07].

 * New extensions:
  * `mq` (manage a queue of patches, like `quilt` only better)
  * `email` (send changes as series of email patches)
 * New command: `merge` (replaces `update -m`)
 * Improved commands:
  * `log` (`--limit` option added)
  * `pull` and `push` (`-r` works on specific revisions)
  * `revert` (rewritten, much better)
 * Comprehensive hook support
 * Output templating added, supporting e.g. GNU changelog style
 * Windows, Mac OS X: prebuilt binary packages, better support
 * Many reliability, performance, and memory usage improvements

== Version 0.8 ==

Major changes from 0.7 to 0.8:

{{{
 faster status, diff, and commit
 reduced memory usage for push and pull
 improved extension API
 new bisect, gpg, hgk, and win32text extensions
 short URLs, binary file handling, and optional gitweb skin for hgweb
 numerous new command options including log --keyword and pull --rev
 improved hooks and file filtering
}}}

== Version 0.7 ==

Changes from 0.6 to 0.7:

{{{
core
 greatly improved merge logic
 improved copy/rename support (still experimental)
 automatic binary file handling
 generic file filtering support
 support for user-defined hooks (aka triggers)
 support for local tags and finding branches with tags
 numerous performance improvements
command line
 fewer long, confusing hashes to deal with
 new commands: clone, revert, incoming/outgoing, bundle/unbundle, grep, rename
 more powerful path handling with most commands
 improved push and pull support
 support for plug-in extensions
 much improved exception handling and debugging support
 many new command options and settings
web interface
 more conformant and compatible HTML output
 built-in RSS feeds
 fast multiple keyword search
 easy to set up multiple repository interface
 configurable support for downloading tarballs and zip files
 improved configurability
 IPv6 support
documentation
 improved built-in help and man pages
 a greatly expanded wiki
 tutorials in multiple languages
portability
 full support for Windows, including hardlinking and file filtering
 should easily compile and install on any modern UNIX
 binary packages available for many systems
extras
 powerful bash completion support
 Emacs integration
 updated hgk
and more
 expanded test suite
 numerous bug fixes and cleanups
}}}

Changes from 0.6c to 0.7:
{{{
core
 improved merge logic
 improved copy/rename support (still experimental)
 automatic binary file handling
 generic file filtering support
 various performance improvements
command line
 new bundle/unbundle commands for exchanging native updates
 more natural support for remove, copy, and rename
 faster, more powerful log command
 new grep command for searching entire history
 support for plug-in extensions
 improved exception handling and debugging facilities
hgweb
 optional downloading of tarballs and zip files
Windows support
 hardlinking support
 newline conversion through file filtering
contrib
 updated hgk
}}}
= 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.4 (2010-10-01) ==
This is a monthly bugfix release.

 * archive: set date to 1980 for very old zip files
 * bookmarks: fix _bookmarks/lookup() reentrancy issue (Bts:issue2016)
 * color: add win32 support for non-black background
 * context: fix filectx.undelete() (Bts:issue2388)
 * convert/darcs: handle non-ASCII metadata in darcs changelog (Bts:issue2354)
 * convert/svn: fix broken symlink renames in svn sink
 * core: use lexists() instead of exists() where appropriate
 * hgweb: Fix memory leak when using hg commands over http repositories
 * hgweb: correct Content-Type header values for archive downloads
 * log: include unmodified-in-merge files in log diff/stat (Bts:issue2383)
 * mq: always require --force when pushing patches (Bts:issue2363)
 * patch: do not overwrite broken untracked symlinks
 * patch: fix rename text to binary file (Bts:issue2400)
 * patch: fix target when patching broken symlinks (Bts:issue2368)
 * patch: upgrade to git patch when removing binary file
 * rename: do not overwrite existing broken symlinks
 * url: verify correctness of https server certificates (Bts:issue2407)
 * util: avoid using hashlib on Python < 2.5 (Bts:issue2278)
 * verify: fix "missing revlog!" errors for revlog format v0 and add test
 * win32: add Emacs scripts to Inno Setup installer
 * win32: add hgweb scripts to Inno Setup installer

== 1.6.3 (2010-08-26) ==
This is a monthly bugfix release. It includes several significant fixes, including a fix for a long-standing hardlink corruption issue on Windows (Bts:issue761).

 * alias: make shadowing behavior more consistent (Bts:issue2054)
 * bisect: better message for unrelated starting revisions
 * bookmarks: Check if the bookmark to delete exists on the remote
 * bookmarks: guard against listing bookmarks on unsupported repos
 * chunkbuffer: use += rather than cStringIO to reduce memory footprint
 * convert: Using --dest-type svn crashed, if the source repo used tags.
 * convert: properly set encoding for gnuarch converter
 * convert: use encoding.encoding instead of locale.getpreferredencoding()
 * encoding: improve handling of buggy getpreferredencoding() on Mac OS X
 * graphlog: mark --branch as incompatible with --graph
 * http basic auth: reset redirect counter on new requests (Bts:issue2255)
 * httprepo: decompress stream incrementally to reduce memory usage
 * log: fix the bug 'hg log --stat -p == hg log --stat'
 * mercurial.spec: gettext is a build requirement for getting proper localization
 * merge: drop reference to file contents after write
 * merge: move reverse-merge logic out of filemerge (Bts:issue2342)
 * merge: fix detection of conflict markers with checkconflicts enabled
 * mq: don't inherit default and default-push paths with --mq (Bts:issue2333)
 * resolve: updated help documentation for improved clarity
 * revlog: drop cache after use to save memory footprint
 * templatefilters: unnest uescape()
 * templates: add filenolink to raw style (Bts:issue2332)
 * url: expand vars in all [auth] settings (Bts:issue2328)
 * url: limit expansion to safe auth keys (Bts:Issue2328)
 * util: avoid using hashlib on Python < 2.5 (Bts:issue2278)
 * verify: initialize rp variable in case we hit out of memory
 * verify: reduce memory footprint when unpacking files
 * verify: report exceptions that don't have a str() method
 * win32: correctly break hardlinks on network drives (Bts:issue761)

== 1.6.2 (2010-08-02) ==
This release addresses a regression in the color extension.

 * color: pass write/write_err to win32print correctly (Bts:issue2312)
 * convert/progress: use plural and avoid retrieving
 * color: call correct superclass method in write_err

== 1.6.1 (2010-08-01) ==
This is a scheduled monthly minor bugfix release.

 * alias: ensure checksignature() is applied directly to the command (Bts:issue2286)
 * bash/zsh completion: use HGPLAIN when invoking hg (Bts:issue2297)
 * bookmarks: don't allow name to contain whitespaces only
 * bookmarks: ensure current bookmark is updated when specified with -r .
 * bundle: lookup revisions after addbranchrevs
 * color/progress: subclass ui instead of using wrapfunction (Bts:issue2096)
 * commit: only warn when reopening the workdir's branch
 * dispatch: give better error message when cwd doesn't exist (Bts:issue2293)
 * doc: make sure we use our own code for generating man pages
 * filelog: cmp: don't read data if hashes are identical (Bts:issue2273)
 * filelog: test behaviour for data starting with "\1\n"
 * hg.clone: fix branch value when passing a repo object (Bts:issue2267)
 * hgweb.wsgi: add a URL to the corresponding wiki documentation
 * hgwebdir: allow pure relative globs in paths
 * hgwebdir: use template paths configured in the hgrc (Bts:issue2281)
 * init: create target directory recursively
 * inotify: check all components of filenames against hgignore (Bts:issue884)
 * keyword: move collecting of [keyword] patterns to reposetup (Bts:issue2303)
 * log: fix missing diff output for hg log -p in subdirectory
 * log: follow filenames through renames (Bts:issue647)
 * mail: ensure that Python2.4 to 2.7 use the same header format
 * mercurial.spec: rename docutils to python-docutils in BuildRequires
 * mq: clarify the fact that qimport is trying to read a file
 * mq: cleanup status if applied mq is stripped (Bts:issue1881)
 * mq: fixed ENOENT when qrename to new/directory.patch
 * mq: reset self.added after the mq transaction instead of inside qimport
 * qpush --move: move the right patch even with comment lines
 * rebase: re-add patches to mq repo after rebase
 * revert: rename original to .orig instead of copying (Bts:issue2282)
 * revset: fix ancestor subset handling (Bts:issue2298)
 * runrst: try to be more helpful if docutils is not installed
 * tag: do not allow tag names to consist solely of whitespace (Bts:issue2307)
 * transplant: crash if repo.commit() finds nothing to commit

== 1.6 (2010-07-01) ==
(This release makes a couple small behavior changes, be sure to read UpgradeNotes!)

=== Core ===
 * addremove: optimize `addremove -s100` by matching files by their SHA1 hashes
 * archive: auto-detect archive type by extension (Bts:issue2058)
 * commit: more friendly handling of new and closed named branches
 * hooks: provide pre- and post- hooks with parsed command line arguments
 * log: add `--branch` for filtering on named branch
 * log: add `--stat` for diffstat output
 * push: add `--new-branch` option to allow initial push of new branches
 * push: break infinite http recursion bug with Python 2.6.5 (Bts:issue2179)
 * rollback: add `-n`/`--dry-run` flag, report what's being rolled back
 * subrepo: various fixes
 * summary: report copies and renames and add subrepo status
 * tag: add `-e`/`--edit` option for modifying the commit message
 * revsets: introduce a powerful query language for specifying revisions, see [[http://www.selenic.com/mercurial/hg.1.html#revsets|the manpage]] or `hg help revsets`

=== Hgweb ===
 * unify and simplify `hgweb.cgi` and `hgwebdir.cgi` scripts
 * fix race in refreshing repo list (Bts:issue2188)
 * simplify `hgweb.cgi`, add help pointer
 * deliver shell hook output to client
 * allow `--port=0` to specify "choose free port number automatically"
 * improved templater performance

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

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

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

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

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

 * various improvements to SVN conversion support
 * minor doc improvements

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

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

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

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

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

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

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

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

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

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

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

== 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 (Bts: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 (Bts: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 (Bts:issue 1230)
 * fix inactive branches detection (Bts: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 (Bts:issue 1149)

Extensions:

 * mq:
  * fix qrefresh losing metadata on the last refreshed file (Bts: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. 1.6.4 (2010-10-01)

This is a monthly bugfix release.

  • archive: set date to 1980 for very old zip files
  • bookmarks: fix _bookmarks/lookup() reentrancy issue (issue2016)

  • color: add win32 support for non-black background
  • context: fix filectx.undelete() (issue2388)

  • convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354)

  • convert/svn: fix broken symlink renames in svn sink
  • core: use lexists() instead of exists() where appropriate
  • hgweb: Fix memory leak when using hg commands over http repositories
  • hgweb: correct Content-Type header values for archive downloads
  • log: include unmodified-in-merge files in log diff/stat (issue2383)

  • mq: always require --force when pushing patches (issue2363)

  • patch: do not overwrite broken untracked symlinks
  • patch: fix rename text to binary file (issue2400)

  • patch: fix target when patching broken symlinks (issue2368)

  • patch: upgrade to git patch when removing binary file
  • rename: do not overwrite existing broken symlinks
  • url: verify correctness of https server certificates (issue2407)

  • util: avoid using hashlib on Python < 2.5 (issue2278)

  • verify: fix "missing revlog!" errors for revlog format v0 and add test
  • win32: add Emacs scripts to Inno Setup installer
  • win32: add hgweb scripts to Inno Setup installer

2. 1.6.3 (2010-08-26)

This is a monthly bugfix release. It includes several significant fixes, including a fix for a long-standing hardlink corruption issue on Windows (issue761).

  • alias: make shadowing behavior more consistent (issue2054)

  • bisect: better message for unrelated starting revisions
  • bookmarks: Check if the bookmark to delete exists on the remote
  • bookmarks: guard against listing bookmarks on unsupported repos
  • chunkbuffer: use += rather than cStringIO to reduce memory footprint
  • convert: Using --dest-type svn crashed, if the source repo used tags.
  • convert: properly set encoding for gnuarch converter
  • convert: use encoding.encoding instead of locale.getpreferredencoding()
  • encoding: improve handling of buggy getpreferredencoding() on Mac OS X
  • graphlog: mark --branch as incompatible with --graph
  • http basic auth: reset redirect counter on new requests (issue2255)

  • httprepo: decompress stream incrementally to reduce memory usage
  • log: fix the bug 'hg log --stat -p == hg log --stat'
  • mercurial.spec: gettext is a build requirement for getting proper localization
  • merge: drop reference to file contents after write
  • merge: move reverse-merge logic out of filemerge (issue2342)

  • merge: fix detection of conflict markers with checkconflicts enabled
  • mq: don't inherit default and default-push paths with --mq (issue2333)

  • resolve: updated help documentation for improved clarity
  • revlog: drop cache after use to save memory footprint
  • templatefilters: unnest uescape()
  • templates: add filenolink to raw style (issue2332)

  • url: expand vars in all [auth] settings (issue2328)

  • url: limit expansion to safe auth keys (Issue2328)

  • util: avoid using hashlib on Python < 2.5 (issue2278)

  • verify: initialize rp variable in case we hit out of memory
  • verify: reduce memory footprint when unpacking files
  • verify: report exceptions that don't have a str() method
  • win32: correctly break hardlinks on network drives (issue761)

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

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

5. 1.6 (2010-07-01)

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

5.1. Core

  • addremove: optimize addremove -s100 by matching files by their SHA1 hashes

  • archive: auto-detect archive type by extension (issue2058)

  • commit: more friendly handling of new and closed named branches
  • hooks: provide pre- and post- hooks with parsed command line arguments
  • log: add --branch for filtering on named branch

  • log: add --stat for diffstat output

  • push: add --new-branch option to allow initial push of new branches

  • push: break infinite http recursion bug with Python 2.6.5 (issue2179)

  • rollback: add -n/--dry-run flag, report what's being rolled back

  • subrepo: various fixes
  • summary: report copies and renames and add subrepo status
  • tag: add -e/--edit option for modifying the commit message

  • revsets: introduce a powerful query language for specifying revisions, see the manpage or hg help revsets

5.2. Hgweb

  • unify and simplify hgweb.cgi and hgwebdir.cgi scripts

  • fix race in refreshing repo list (issue2188)

  • simplify hgweb.cgi, add help pointer

  • deliver shell hook output to client
  • allow --port=0 to specify "choose free port number automatically"

  • improved templater performance

5.3. Help

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

5.4. Extensions

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

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

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

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

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

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

8. 1.5.2 - 2010-05-01

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

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

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

9. 1.5.1 - 2010-04-01

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

9.2. Extensions

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

10. 1.5 - 2010-03-06

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

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

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

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

10.4. Windows

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

  • expand environment variables specified in merge tools paths

10.5. Help and Documentation

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

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

12. 1.4.2 - 2010-01-01

This is a minor bugfix release.

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

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

13. 1.4.1 - 2009-12-01

13.1. regression fixes

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

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

14. 1.4 - 2009-11-16

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

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

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

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

14.5. other

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

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

16. Version 1.3 - 2009-07-01

16.1. Major Changes

  • experimental support for sub-repositories

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

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

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

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

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

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

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

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

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

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

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

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

24. 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"

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

26. 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-11-14 15:38:56 by RaphaelGomes)