Differences between revisions 1 and 127 (spanning 126 versions)
Revision 1 as of 2005-09-16 18:27:47
Size: 721
Editor: mpm
Comment:
Revision 127 as of 2012-01-01 20:11:22
Size: 22204
Editor: mpm
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Changes from 0.6c to 0.7:
{{{
core
 improved merge logic
 improved copy/rename support (still experimental)
 automatic binary file handling
 generic file filtering support
 locate branches by tag
 various performance improvements
command line
 new bundle/unbundle commands for exchanging native updates
 more natural support for remove, copy, and rename
 faster, more powerful log command
 new grep command for searching entire history
 support for plug-in extensions
 improved exception handling and debugging facilities
hgweb
 optional downloading of tarballs and zip files
Windows support
 hardlinking support
 newline conversion through file filtering
contrib
 Emacs support
 updated hgk
}}}
#pragma section-numbers 2
## notes that are older than 3 major releases should be moved to WhatsNew/Archive
= Release Notes =
Features and bugfixes in our latest releases.

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

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

<<TableOfContents(2)>>

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

== Mercurial 2.0.2 (2012-01-01) ==
This is a regularly-scheduled bug-fix release.

 * alias: shortcut command matching so shadowing works properly (Bts:issue3104)
 * branch: warn on branching
 * changelog: handle decoding of NULs in extra more carefully (Bts:issue3156)
 * convert: improve exception reporting for SVN logstream
 * diff: don't crash when diffing a revision with a deleted subrepo (Bts:issue3153)
 * fetch: fix unneeded commit when no merge attempted (Bts:issue2847)
 * fetch: patch cornercase in children calculation (Bts:issue2773)
 * largefiles: copy files in binary mode (Bts:issue3164)
 * largefiles: don't require a user cache (Bts:issue3088) (Bts:issue3155)
 * largefiles: fix 'hg status' abort after merge
 * largefiles: handle merges between normal files and largefiles (Bts:issue3084)
 * merge: check filename case collision between changesets for branch merging
 * pathauditor: switch normcase logic according to case sensitivity of filesystem
 * progress: check for ui.quiet and ui.debugflag before we write
 * rollback: always call destroyed() (regression from 1.9)
 * util: fix url.__str__() for windows file URLs
 * windows: use upper() instead of lower() or os.path.normcase()

== Mercurial 2.0.1 (2011-12-01) ==
This is a regularly-scheduled bug-fix release.

 * alias: shortcut command matching show shadowing works properly (Bts:issue3104)
 * bundlerepo: don't write branch cache to disk
 * clone: don't save user's password in .hg/hgrc (Bts:issue3122)
 * convert/bzr: correctly handle divergent nested renames (Bts:issue3089)
 * convert/bzr: fix test of divergent nested renames for bzr 1.x
 * convert/svn: fix URL quoting issue with svn 1.7
 * convert: handle trailing slashes in filemap better (Bts:issue3124)
 * diff: '\ No newline at end of file' is also not part of the header
 * diff: --ignore-blank-lines was too enthusiastic
 * dirstate: fix case-folding identity for traditional Unix
 * graft: disallow grafting grafted csets in specific situations (Bts:issue3091)
 * graft: preserve original source in subsequent grafts
 * hook: flush stdout before redirecting to stderr
 * import: fix parent selection when importing merges
 * largefiles: ensure destination directory exists before findfile links to there
 * largefiles: file storage should be relative to repo, not relative to cwd
 * largefiles: fix 'hg clone . ../foo' OSError abort
 * largefiles: fix rename (Bts:issue3093)
 * largefiles: treat status of cache missed largefiles as "missing" correctly
 * largefiles: use "ui.configlist()" to get largefiles.patterns configuration
 * largefiles: write .hg/largefiles/ files atomically
 * makedate: wrong timezone offset if DST rules changed this year (Bts:issue2511)
 * mdiff/patch: fix bad hunk handling for unified diffs with zero context
 * posix: add extended support for OS X path folding
 * posix: fix findexe() to check for file type and access
 * rebase: ensure target is not taken as external (Bts:issue3085)
 * rebase: treat nullmerge as a special case in rebasestate (Bts:issue3046)
 * revset: balance %l or-expressions (Bts:issue3129)
 * revset: follow(nosuchfile) should give an empty set (Bts:issue3114)
 * subrepo: fix git status false positive (Bts:issue3109)
 * subrepo: use correct paths for subrepos with ..-relative paths on windows
 * update: don't clobber untracked files with wrong casing
 * url: handle `file://localhost/c:/foo` "correctly"

== Mercurial 2.0 (2011-11-01) ==
This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes.

=== Major features ===
 * New core Cmd:graft command (similar to transplant extension)
 * New [[LargefilesExtension|largefiles]] extension

=== Core changes ===
 * commit: abort when there are uncommitted subrepos, use the -S option to recurse
 * help: most commands now have usage examples with help -v
 * import: add --edit switch
 * revset: add more keywords for bisection
 * revert: introduce short option -C for --no-backup
 * log: add new 'bisect' style that prints the bisection status
 * hgweb: add a "web/logoimg" setting to customize the web logo image
 * subrepo: pull revisions on demand when archiving hg subrepos

=== Extension changes ===
 * color: add styles for tags
 * convert: added bookmarks support in filemap
 * eol: add new eol.fix-trailing-newline setting
 * eol: eol.only-consistent can now be specified in .hgeol
 * export: add %m to file format string (first line of the commit message)
 * mq: make qqueue print current queue name
 * rebase: add --edit switch
 * rebase: add --rev option to rebase
 * rebase: allow rebase on ancestor
 * share: introduce unshare command
 * transplant: add --edit option

=== Bug fixes ===
 * alias: don't shadow commands that we only partially matched (Bts:issue2993) (BC)
 * commit: suppress spurious new head message for duplicate commit (Bts:issue2893)
 * contrib: some support for named branches in zsh_completion (Bts:issue2988)
 * progress: add a changedelay to prevent parallel topics from flapping (Bts:issue2698)
 * rebase: allow rebase to ancestor (Bts:issue3010)
 * rollback: avoid unsafe rollback when not at tip (Bts:issue2998)
 * subrepo: fix git branch tracking logic (Bts:issue2920)
 * subrepo: fix repo relative path calculation for root directories (Bts:issue3033)
 * summary: show bookmarks separate from tags and note active mark (Bts:issue2892)
 * util: wrap lines with multi-byte characters correctly (Bts:issue2943)
 * verify: filter messages about missing null manifests (Bts:issue2900)
 * wireproto: do not call pushkey module directly (Bts:issue3041)
 * auth: fix realm handling with Python < 2.4.3 (Bts:issue2739)
 * diffstat: be more picky when marking file as 'binary' (Bts:issue2816)
 * dirstate: don't fail when dropping a not-tracked file (Bts:issue3080)
 * grep: correct handling of matching lines without line ending (Bts:issue3050)
 * hgweb: fix dynamic date calculation not working under Safari
 * mq: avoid data loss upon qfold + qmv (Bts:issue3058)
 * setup: set whole env for running hg even if .hg doesn't exist (Bts:issue3073)
 * windows: recompute flags when committing a merge (Bts:issue1802)
 * windows: sanity-check symlink placeholders

== Mercurial 1.9.3 (2011-10-01) ==
This is a regular bugfix release.

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

== Mercurial 1.9.2 (2011-08-26) ==
This is a regular bugfix release (slightly early due to travel plans).

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

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

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

== Mercurial 1.9 (2011-07-01) ==
This is a regular feature release. See UpgradeNotes for some minor compatibility notes.

=== Major features ===
 * New [[http://www.selenic.com/hg/help/filesets|fileset]] file matching support
 * Improved remote changeset discovery
 * New [[CommandServer|command server]] mode to improve application integration
 * Experimental generaldelta storage scheme
 * Experimental new http client library

=== Command changes ===
 * HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT
 * manifest: add new option --all
 * aliases: add positional arguments to non-shell aliases
 * add: introduce a warning message for non-portable filenames (Bts:issue2756)
 * add: notify when adding a file that would cause a case-folding collision
 * bisect: new command to extend the bisect range (Bts:issue2690)
 * bookmarks: allow deactivating current bookmark with -i
 * bundle: update current bookmark to most recent revision on current branch
 * diff: make diff -c aware of revision sets
 * help: add -c/--command flag to only show command help (Bts:issue2799)
 * help: add -e/--extension switch to display extension help text
 * help: move hgignore man page into built-in help (Bts:issue2769)
 * http: correctly handle redirects from http to https
 * identify: list bookmarks for remote repositories
 * import: add --bypass option
 * paths: Add support for -q/--quiet
 * pushkey: add hooks for pushkey/listkeys
 * revset: add aliases
 * revset: add ^ and ~ operators from parentrevspec extension
 * revset: add a revset command to get bisect state
 * revset: add desc(string) to search in commit messages
 * revset: add follow(filename) to follow a filename's history across copies
 * revset: introduce filelog() to emulate log's fast path
 * revset: add a last() function

=== Web changes ===
 * add bookmarks listing to raw style and summary pages
 * support alternate logo url
 * add base link to file log for paper and coal styles (Bts:issue2452)
 * paper, coal: display diffstat on the changeset page
 * elapsed time calculation dynamic (javascript)
 * provide diffstat and summary on the changeset page

=== Extension changes ===
 * hgcia: handle URL like in notify (Bts:issue2406)
 * rebase: add -m/--message to rebase --collapse (Bts:issue2389)
 * Updating hgext.extdiff to use revsets
 * bash_completion: enable alias auto-complete
 * bugzilla: add XMLRPC interface
 * color: add support for terminfo-based attributes and color
 * convert/mtn: add support for using monotone's "automate stdio" when available
 * convert/svn: stop using svn bindings when pushing to svn
 * convert: add bookmark support for hg and git backends
 * convert: add svnrev, svnpath and svnuuid template keywords
 * extdiff: add repository root as a variable
 * graphlog: support more log command features with revsets
 * keyword: convert a verbatim block to a field list
 * keyword: offer additional datefilters when the extension is enabled
 * mq: add a 'mq()' revset predicate that returns applied mq csets
 * notify: send changesets on 'outgoing' hook, updated doc
 * progress: add speed format
 * rebase: add --tool argument for specifying merge tool
 * rebase: allow for rebasing descendants onto ancestors on different named branches
 * record: add an option to backup all wc modifications
 * record: add qrefresh -i/--interactive
 * record: add white space diff options
 * record: alias qrecord to qnew -i/--interactive

=== Bug fixes ===
 * bookmarks: allow create/move bookmark without making it current (Bts:issue2788)
 * bookmarks: do not forward merged bookmark (Bts:issue1877)
 * changegroup: do not count closed new heads (Bts:issue2697)
 * config: handle comment lines in continuations (Bts:issue2854)
 * dispatch: propagate ui command options to the local ui (Bts:issue2523)
 * eol: make the hook check all new heads, not only tip (Bts:issue2666)
 * grep: don't print data from binary files for matches (Bts:issue2614)
 * http: report unexpected unparsable push responses (Bts:issue2777)
 * httprepo: handle large lengths by bypassing the len() operator
 * httprepo: long arguments support (Bts:issue2126)
 * httprepo: proper handling of invalid responses without content-type (Bts:issue2019)
 * httprepo: send URL redirection notices to stderr (Bts:issue2828)
 * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761)
 * localrepo: ignore tags to unknown nodes (Bts:issue2750)
 * merge: drop resolve state for mergers with identical contents (Bts:issue2680)
 * patch: do not patch unknown files (Bts:issue752)
 * path_auditor: check filenames for basic platform validity (Bts:issue2755)
 * rebase: don't mark file as removed if missing in parent's manifest (Bts:issue2725)
 * rebase: preserve mq series order after rebasing (Bts:issue2849)
 * rebase: restore mq guards after rebasing (Bts:issue2107)
 * revset: report a parse error if a revset is not parsed completely (Bts:issue2654)
 * scmutil: improve path calculation for install-relative RC files (Bts:issue2841)
 * set NOT_CONTENT_INDEXED on .hg dir (Bts:issue2694)
 * sslutil: fall back to commonName when no dNSName in subjectAltName (Bts:issue2798)
 * subrepo: be more careful with deletions of .hgsub and .hgsubstate (Bts:issue2844)
 * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759)
 * subrepo: svn abort now depends on exit code (Bts:issue2833)
 * subrepo: be smarter about what's an absolute path (Bts:issue2808)
 * svn subrepo: attempt work around obstructed checkouts (Bts:issue2752)
 * svn subrepos: work around checkout obstructions (Bts:issue2752)
 * tags: catch more corruption during cache parsing (Bts:issue2779)
 * util: add Mac-specific check whether we're in a GUI session (Bts:issue2553)

== Mercurial 1.8.4 (2011-06-01) ==
This is a regular time-based bugfix release.

 * bookmarks: do not forward merged bookmark (Bts:issue1877)
 * changelog: convert user and desc from local encoding early
 * fix bookmarks rollback behavior
 * hgrc.5: document shell aliases
 * httprepo: proper handling of invalid responses without content-type (Bts:issue2019)
 * httprepo: send URL redirection notices to stderr (Bts:issue2828)
 * localrepo: don't add deleted files to list of modified/added files (Bts:issue2761)
 * localrepo: ignore tags to unknown nodes (Bts:issue2750)
 * mq: strip extra whitespace from node ids in header (Bts:issue2790)
 * rebase: restore mq guards after rebasing (Bts:issue2107)
 * revset: expand help for contains predicate
 * revset: note case-insensitive matches in keyword and user
 * revset: note case-sensitive match in grep
 * revset: report a parse error if a revset is not parsed completely (Bts:issue2654)
 * revset: the name is optional for the tag predicate
 * simplemerge: do not allow binary files to abort an entire merge
 * strip: make it clear that --force discards changes (Bts:issue310)
 * subrepo: don't crash when git .hgsubstate is empty (Bts:issue2716)
 * subrepo: make stdin for svn a pipe for non-interactive use (Bts:issue2759)
 * subrepo: respect non-default path for incoming/outgoing
 * subrepo: svn abort now depends on exit code (Bts:issue2833)
 * subrepo: use code from 71ea5b only if Python needs it (Bts:issue2795)
 * tags: catch more corruption during cache parsing (Bts:issue2779)

== Mercurial 1.8.3 (2011-05-01) ==
This is a regular time-based bugfix release.

 * convert: make filemap prune useless branch closing revs (Bts:issue2774)
 * encoding: avoid localstr when a string can be encoded losslessly (Bts:issue2763)
 * extdiff: fix broken symlinks handling (Bts:issue1909)
 * help config: explain that config files do not exist by default
 * hgweb: add bookmark labels to gitweb theme
 * hgweb: add missing bookmarks definition to coal/map
 * hgweb: add missing bookmarks templates to atom/rss styles
 * hgweb: add separate bookmarks listing to gitweb theme
 * hgweb: add separate bookmarks listing to monoblue theme
 * hgweb: detect change based on changelog size too
 * hgweb: fix inconsistant display of graphlog (Bts:issue1706)
 * hgweb: fix typo and inactive link in page_nav and page_header of gitweb's help
 * hgweb: fix typo in page-header of monoblue's help template
 * hgweb: format page_nav of gitweb/error.tmpl and add missing links
 * rebase: don't mark file as removed if missing in parent's manifest (Bts:issue2725)
 * subrepo: handle svn tracked/unknown directory collisions
 * subrepo: prevent url normalization from removing // in ssh paths (Bts:issue2556)
 * subrepo: tell Subversion when we are non-interactive (Bts:issue2759)
 * url: use a regex to hide unsupported ssh passwords (Bts:issue2754)
 * zeroconf: notify the Zeroconf threads when hg exits

== Mercurial 1.8.2 (2011-04-01) ==
This is a regular time-based bugfix release.

 * bookmarks: discard current bookmark if absent from the bookmarks (Bts:issue2692)
 * bookmarks: fix update of the current bookmark during rename
 * color: port to using ctypes (Bts:issue2687)
 * convert/svn: fix _iterfiles() output in root dir case (Bts:issue2647)
 * eol: do not abort when win32text is found, only warn
 * eol: use dirstate methods to clear dirstate
 * fix compiling of extensions for OS X and XCode 4.0
 * hgweb: add display of bookmarks for changelog and changeset
 * hgweb: add separate page with bookmarks listing
 * merge: avoid unlinking destination of merge when case changes (Bts:issue2715)
 * mq: do not let qrefresh write bad patch
 * pager: don't page stderr if it's being redirected (Bts:issue2541)
 * push/outgoing: print remote target path even if there's an error (Bts:issue2561)
 * subrepo: recognize scp-style paths as git URLs
 * templates: widen the graph canvas (Bts:issue2683)

== Mercurial 1.8.1 (2011-03-10) ==
This release backs out a behavior change for so-called 'fast-forward' merges on named branches.

 * annotate: rewrite to deal with crossed linkrevs (Bts:issue2682)
 * bookmark: fix invalidation of localrepo._bookmarkcurrent
 * cacert: improve error report when web.cacert file does not exist
 * contrib: update tcsh_completion for Mercurial 1.8
 * hgcia: accept "queued." xmlrpc return as success
 * hgweb: fix filelog rss links generation
 * hgweb: use tip in gitweb/monoblue filelog rss links (Bts:issue2677)
 * merge: back out single-parent fast-forward merge
 * merge: drop resolve state for mergers with identical contents (Bts:issue2680)
 * merge: improve unresolved conflicts warning (Bts:issue2681)
 * mergetools: add alternate registry keys for 32bit apps on 64bit O/S
 * mq: forbid commit of merge involving mq patches
 * subrepo: backout 67fbe566eff1, --force requires svn >= 1.5
 * subrepo: don't crash when git repo is missing
 * subrepo: handle svn tracked/unknown directory collisions
 * wix: drop bin/ folder from MSI installers (Bts:issue2673)

== Mercurial 1.8 (2011-03-01) ==
=== Core ===
 * Bookmarks are now a core feature (see UpgradeNotes)
 * New `listfile:` pattern-matching (Topic:patterns)
 * Revset syntax supported by most commands
 * Performance improvements for reading large repository indexes
 * Certificate validation for HTTPS proxies

=== Subrepos ===
 * New support for git subrepos
 * Various improvements to merge, update, and commit logic

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

=== Extensions ===
 * eol: filter aliases for compatibility with win32text
 * mq: `--exact` option for qpush
 * mq: various robustness improvements
 * progress: remaining time estimates


----
CategoryProcess CategoryProject

Release Notes

Features and bugfixes in our latest releases.

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

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

(See archive for older versions.)

1. Mercurial 2.0.2 (2012-01-01)

This is a regularly-scheduled bug-fix release.

  • alias: shortcut command matching so shadowing works properly (issue3104)

  • branch: warn on branching
  • changelog: handle decoding of NULs in extra more carefully (issue3156)

  • convert: improve exception reporting for SVN logstream
  • diff: don't crash when diffing a revision with a deleted subrepo (issue3153)

  • fetch: fix unneeded commit when no merge attempted (issue2847)

  • fetch: patch cornercase in children calculation (issue2773)

  • largefiles: copy files in binary mode (issue3164)

  • largefiles: don't require a user cache (issue3088) (issue3155)

  • largefiles: fix 'hg status' abort after merge
  • largefiles: handle merges between normal files and largefiles (issue3084)

  • merge: check filename case collision between changesets for branch merging
  • pathauditor: switch normcase logic according to case sensitivity of filesystem
  • progress: check for ui.quiet and ui.debugflag before we write
  • rollback: always call destroyed() (regression from 1.9)
  • util: fix url.str() for windows file URLs

  • windows: use upper() instead of lower() or os.path.normcase()

2. Mercurial 2.0.1 (2011-12-01)

This is a regularly-scheduled bug-fix release.

  • alias: shortcut command matching show shadowing works properly (issue3104)

  • bundlerepo: don't write branch cache to disk
  • clone: don't save user's password in .hg/hgrc (issue3122)

  • convert/bzr: correctly handle divergent nested renames (issue3089)

  • convert/bzr: fix test of divergent nested renames for bzr 1.x
  • convert/svn: fix URL quoting issue with svn 1.7
  • convert: handle trailing slashes in filemap better (issue3124)

  • diff: '\ No newline at end of file' is also not part of the header
  • diff: --ignore-blank-lines was too enthusiastic
  • dirstate: fix case-folding identity for traditional Unix
  • graft: disallow grafting grafted csets in specific situations (issue3091)

  • graft: preserve original source in subsequent grafts
  • hook: flush stdout before redirecting to stderr
  • import: fix parent selection when importing merges
  • largefiles: ensure destination directory exists before findfile links to there
  • largefiles: file storage should be relative to repo, not relative to cwd
  • largefiles: fix 'hg clone . ../foo' OSError abort
  • largefiles: fix rename (issue3093)

  • largefiles: treat status of cache missed largefiles as "missing" correctly
  • largefiles: use "ui.configlist()" to get largefiles.patterns configuration
  • largefiles: write .hg/largefiles/ files atomically
  • makedate: wrong timezone offset if DST rules changed this year (issue2511)

  • mdiff/patch: fix bad hunk handling for unified diffs with zero context
  • posix: add extended support for OS X path folding
  • posix: fix findexe() to check for file type and access
  • rebase: ensure target is not taken as external (issue3085)

  • rebase: treat nullmerge as a special case in rebasestate (issue3046)

  • revset: balance %l or-expressions (issue3129)

  • revset: follow(nosuchfile) should give an empty set (issue3114)

  • subrepo: fix git status false positive (issue3109)

  • subrepo: use correct paths for subrepos with ..-relative paths on windows
  • update: don't clobber untracked files with wrong casing
  • url: handle file://localhost/c:/foo "correctly"

3. Mercurial 2.0 (2011-11-01)

This is a regularly-scheduled feature release. See UpgradeNotes for some minor compatibility notes.

3.1. Major features

  • New core graft command (similar to transplant extension)

  • New largefiles extension

3.2. Core changes

  • commit: abort when there are uncommitted subrepos, use the -S option to recurse
  • help: most commands now have usage examples with help -v
  • import: add --edit switch
  • revset: add more keywords for bisection
  • revert: introduce short option -C for --no-backup
  • log: add new 'bisect' style that prints the bisection status
  • hgweb: add a "web/logoimg" setting to customize the web logo image
  • subrepo: pull revisions on demand when archiving hg subrepos

3.3. Extension changes

  • color: add styles for tags
  • convert: added bookmarks support in filemap
  • eol: add new eol.fix-trailing-newline setting
  • eol: eol.only-consistent can now be specified in .hgeol
  • export: add %m to file format string (first line of the commit message)
  • mq: make qqueue print current queue name
  • rebase: add --edit switch
  • rebase: add --rev option to rebase
  • rebase: allow rebase on ancestor
  • share: introduce unshare command
  • transplant: add --edit option

3.4. Bug fixes

  • alias: don't shadow commands that we only partially matched (issue2993) (BC)

  • commit: suppress spurious new head message for duplicate commit (issue2893)

  • contrib: some support for named branches in zsh_completion (issue2988)

  • progress: add a changedelay to prevent parallel topics from flapping (issue2698)

  • rebase: allow rebase to ancestor (issue3010)

  • rollback: avoid unsafe rollback when not at tip (issue2998)

  • subrepo: fix git branch tracking logic (issue2920)

  • subrepo: fix repo relative path calculation for root directories (issue3033)

  • summary: show bookmarks separate from tags and note active mark (issue2892)

  • util: wrap lines with multi-byte characters correctly (issue2943)

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

  • wireproto: do not call pushkey module directly (issue3041)

  • auth: fix realm handling with Python < 2.4.3 (issue2739)

  • diffstat: be more picky when marking file as 'binary' (issue2816)

  • dirstate: don't fail when dropping a not-tracked file (issue3080)

  • grep: correct handling of matching lines without line ending (issue3050)

  • hgweb: fix dynamic date calculation not working under Safari
  • mq: avoid data loss upon qfold + qmv (issue3058)

  • setup: set whole env for running hg even if .hg doesn't exist (issue3073)

  • windows: recompute flags when committing a merge (issue1802)

  • windows: sanity-check symlink placeholders

4. Mercurial 1.9.3 (2011-10-01)

This is a regular bugfix release.

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

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

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

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

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

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

  • win32: quietly ignore missing CreateHardLinkA for Wine

5. Mercurial 1.9.2 (2011-08-26)

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

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

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

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

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

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

6. Mercurial 1.9.1 (2011-08-01)

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

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

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

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

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

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

  • rebase: reset bookmarks (issue2265 and issue2873)

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

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

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

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

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

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

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

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

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

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

7. Mercurial 1.9 (2011-07-01)

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

7.1. Major features

  • New fileset file matching support

  • Improved remote changeset discovery
  • New command server mode to improve application integration

  • Experimental generaldelta storage scheme
  • Experimental new http client library

7.2. Command changes

  • HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT
  • manifest: add new option --all
  • aliases: add positional arguments to non-shell aliases
  • add: introduce a warning message for non-portable filenames (issue2756)

  • add: notify when adding a file that would cause a case-folding collision
  • bisect: new command to extend the bisect range (issue2690)

  • bookmarks: allow deactivating current bookmark with -i
  • bundle: update current bookmark to most recent revision on current branch
  • diff: make diff -c aware of revision sets
  • help: add -c/--command flag to only show command help (issue2799)

  • help: add -e/--extension switch to display extension help text
  • help: move hgignore man page into built-in help (issue2769)

  • http: correctly handle redirects from http to https
  • identify: list bookmarks for remote repositories
  • import: add --bypass option
  • paths: Add support for -q/--quiet
  • pushkey: add hooks for pushkey/listkeys
  • revset: add aliases
  • revset: add ^ and ~ operators from parentrevspec extension
  • revset: add a revset command to get bisect state
  • revset: add desc(string) to search in commit messages
  • revset: add follow(filename) to follow a filename's history across copies
  • revset: introduce filelog() to emulate log's fast path
  • revset: add a last() function

7.3. Web changes

  • add bookmarks listing to raw style and summary pages
  • support alternate logo url
  • add base link to file log for paper and coal styles (issue2452)

  • paper, coal: display diffstat on the changeset page
  • elapsed time calculation dynamic (javascript)
  • provide diffstat and summary on the changeset page

7.4. Extension changes

  • hgcia: handle URL like in notify (issue2406)

  • rebase: add -m/--message to rebase --collapse (issue2389)

  • Updating hgext.extdiff to use revsets
  • bash_completion: enable alias auto-complete
  • bugzilla: add XMLRPC interface
  • color: add support for terminfo-based attributes and color
  • convert/mtn: add support for using monotone's "automate stdio" when available
  • convert/svn: stop using svn bindings when pushing to svn
  • convert: add bookmark support for hg and git backends
  • convert: add svnrev, svnpath and svnuuid template keywords
  • extdiff: add repository root as a variable
  • graphlog: support more log command features with revsets
  • keyword: convert a verbatim block to a field list
  • keyword: offer additional datefilters when the extension is enabled
  • mq: add a 'mq()' revset predicate that returns applied mq csets
  • notify: send changesets on 'outgoing' hook, updated doc
  • progress: add speed format
  • rebase: add --tool argument for specifying merge tool
  • rebase: allow for rebasing descendants onto ancestors on different named branches
  • record: add an option to backup all wc modifications
  • record: add qrefresh -i/--interactive
  • record: add white space diff options
  • record: alias qrecord to qnew -i/--interactive

7.5. Bug fixes

  • bookmarks: allow create/move bookmark without making it current (issue2788)

  • bookmarks: do not forward merged bookmark (issue1877)

  • changegroup: do not count closed new heads (issue2697)

  • config: handle comment lines in continuations (issue2854)

  • dispatch: propagate ui command options to the local ui (issue2523)

  • eol: make the hook check all new heads, not only tip (issue2666)

  • grep: don't print data from binary files for matches (issue2614)

  • http: report unexpected unparsable push responses (issue2777)

  • httprepo: handle large lengths by bypassing the len() operator
  • httprepo: long arguments support (issue2126)

  • httprepo: proper handling of invalid responses without content-type (issue2019)

  • httprepo: send URL redirection notices to stderr (issue2828)

  • localrepo: don't add deleted files to list of modified/added files (issue2761)

  • localrepo: ignore tags to unknown nodes (issue2750)

  • merge: drop resolve state for mergers with identical contents (issue2680)

  • patch: do not patch unknown files (issue752)

  • path_auditor: check filenames for basic platform validity (issue2755)

  • rebase: don't mark file as removed if missing in parent's manifest (issue2725)

  • rebase: preserve mq series order after rebasing (issue2849)

  • rebase: restore mq guards after rebasing (issue2107)

  • revset: report a parse error if a revset is not parsed completely (issue2654)

  • scmutil: improve path calculation for install-relative RC files (issue2841)

  • set NOT_CONTENT_INDEXED on .hg dir (issue2694)

  • sslutil: fall back to commonName when no dNSName in subjectAltName (issue2798)

  • subrepo: be more careful with deletions of .hgsub and .hgsubstate (issue2844)

  • subrepo: make stdin for svn a pipe for non-interactive use (issue2759)

  • subrepo: svn abort now depends on exit code (issue2833)

  • subrepo: be smarter about what's an absolute path (issue2808)

  • svn subrepo: attempt work around obstructed checkouts (issue2752)

  • svn subrepos: work around checkout obstructions (issue2752)

  • tags: catch more corruption during cache parsing (issue2779)

  • util: add Mac-specific check whether we're in a GUI session (issue2553)

8. Mercurial 1.8.4 (2011-06-01)

This is a regular time-based bugfix release.

  • bookmarks: do not forward merged bookmark (issue1877)

  • changelog: convert user and desc from local encoding early
  • fix bookmarks rollback behavior
  • hgrc.5: document shell aliases
  • httprepo: proper handling of invalid responses without content-type (issue2019)

  • httprepo: send URL redirection notices to stderr (issue2828)

  • localrepo: don't add deleted files to list of modified/added files (issue2761)

  • localrepo: ignore tags to unknown nodes (issue2750)

  • mq: strip extra whitespace from node ids in header (issue2790)

  • rebase: restore mq guards after rebasing (issue2107)

  • revset: expand help for contains predicate
  • revset: note case-insensitive matches in keyword and user
  • revset: note case-sensitive match in grep
  • revset: report a parse error if a revset is not parsed completely (issue2654)

  • revset: the name is optional for the tag predicate
  • simplemerge: do not allow binary files to abort an entire merge
  • strip: make it clear that --force discards changes (issue310)

  • subrepo: don't crash when git .hgsubstate is empty (issue2716)

  • subrepo: make stdin for svn a pipe for non-interactive use (issue2759)

  • subrepo: respect non-default path for incoming/outgoing
  • subrepo: svn abort now depends on exit code (issue2833)

  • subrepo: use code from 71ea5b only if Python needs it (issue2795)

  • tags: catch more corruption during cache parsing (issue2779)

9. Mercurial 1.8.3 (2011-05-01)

This is a regular time-based bugfix release.

  • convert: make filemap prune useless branch closing revs (issue2774)

  • encoding: avoid localstr when a string can be encoded losslessly (issue2763)

  • extdiff: fix broken symlinks handling (issue1909)

  • help config: explain that config files do not exist by default
  • hgweb: add bookmark labels to gitweb theme
  • hgweb: add missing bookmarks definition to coal/map
  • hgweb: add missing bookmarks templates to atom/rss styles
  • hgweb: add separate bookmarks listing to gitweb theme
  • hgweb: add separate bookmarks listing to monoblue theme
  • hgweb: detect change based on changelog size too
  • hgweb: fix inconsistant display of graphlog (issue1706)

  • hgweb: fix typo and inactive link in page_nav and page_header of gitweb's help
  • hgweb: fix typo in page-header of monoblue's help template
  • hgweb: format page_nav of gitweb/error.tmpl and add missing links
  • rebase: don't mark file as removed if missing in parent's manifest (issue2725)

  • subrepo: handle svn tracked/unknown directory collisions
  • subrepo: prevent url normalization from removing // in ssh paths (issue2556)

  • subrepo: tell Subversion when we are non-interactive (issue2759)

  • url: use a regex to hide unsupported ssh passwords (issue2754)

  • zeroconf: notify the Zeroconf threads when hg exits

10. Mercurial 1.8.2 (2011-04-01)

This is a regular time-based bugfix release.

  • bookmarks: discard current bookmark if absent from the bookmarks (issue2692)

  • bookmarks: fix update of the current bookmark during rename
  • color: port to using ctypes (issue2687)

  • convert/svn: fix _iterfiles() output in root dir case (issue2647)

  • eol: do not abort when win32text is found, only warn
  • eol: use dirstate methods to clear dirstate
  • fix compiling of extensions for OS X and XCode 4.0
  • hgweb: add display of bookmarks for changelog and changeset
  • hgweb: add separate page with bookmarks listing
  • merge: avoid unlinking destination of merge when case changes (issue2715)

  • mq: do not let qrefresh write bad patch
  • pager: don't page stderr if it's being redirected (issue2541)

  • push/outgoing: print remote target path even if there's an error (issue2561)

  • subrepo: recognize scp-style paths as git URLs
  • templates: widen the graph canvas (issue2683)

11. Mercurial 1.8.1 (2011-03-10)

This release backs out a behavior change for so-called 'fast-forward' merges on named branches.

  • annotate: rewrite to deal with crossed linkrevs (issue2682)

  • bookmark: fix invalidation of localrepo._bookmarkcurrent
  • cacert: improve error report when web.cacert file does not exist
  • contrib: update tcsh_completion for Mercurial 1.8
  • hgcia: accept "queued." xmlrpc return as success
  • hgweb: fix filelog rss links generation
  • hgweb: use tip in gitweb/monoblue filelog rss links (issue2677)

  • merge: back out single-parent fast-forward merge
  • merge: drop resolve state for mergers with identical contents (issue2680)

  • merge: improve unresolved conflicts warning (issue2681)

  • mergetools: add alternate registry keys for 32bit apps on 64bit O/S
  • mq: forbid commit of merge involving mq patches
  • subrepo: backout 67fbe566eff1, --force requires svn >= 1.5

  • subrepo: don't crash when git repo is missing
  • subrepo: handle svn tracked/unknown directory collisions
  • wix: drop bin/ folder from MSI installers (issue2673)

12. Mercurial 1.8 (2011-03-01)

12.1. Core

  • Bookmarks are now a core feature (see UpgradeNotes)

  • New listfile: pattern-matching (patterns)

  • Revset syntax supported by most commands
  • Performance improvements for reading large repository indexes
  • Certificate validation for HTTPS proxies

12.2. Subrepos

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

12.3. Windows

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

12.4. Extensions

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

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


CategoryProcess CategoryProject

WhatsNew (last edited 2024-11-14 15:38:56 by RaphaelGomes)