Differences between revisions 6 and 36 (spanning 30 versions)
Revision 6 as of 2005-09-16 20:29:25
Size: 2772
Editor: mpm
Comment:
Revision 36 as of 2008-08-13 22:27:37
Size: 8551
Editor: mpm
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Changes from 0.6 to 0.7:

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

Upgrade notes:

{{{
Mercurial 0.6c introduced a layout change that affects a small number of repositories. To avoid potential future name collisions, repositories containing directory names ending in ".i", ".d", or ".hg" (eg: etc/init.d/foo) need escaping. If you have a repository containing such directories, it can be updated with the following UNIX command:

 find .hg -type d -name "*.[di]" -exec echo mv {} {}.hg ";"

As of 0.7, hardlink cloning is now supported on Windows with NTFS and ActiveState Python. Because old versions cannot properly determine the link count of hardlinked files, using old versions of Mercurial on a new repository containing hardlinks may be dangerous.
}}}


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]. See also [:RoadMap].

[[TableOfContents()]]

(see [:/Archive:archive] for older versions)

== 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]. See also [:RoadMap].

TableOfContents()

(see [:/Archive:archive] for older versions)

Version 1.0.2 - 2008-08-13

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

Security:

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

WhatsNew (last edited 2025-03-05 22:12:57 by Pierre-YvesDavid)