Differences between revisions 196 and 197
Revision 196 as of 2013-08-30 07:23:49
Size: 62352
Comment: spam spam spam spam
Revision 197 as of 2013-09-01 12:39:28
Size: 340
Editor: LiamBumga
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#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. Please see the [[Download]] page for links to source and binaries.

Note that Mercurial follows a time-based release plan with major releases every three 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.7 (2013-08-01) ==

Regularly scheduled feature release. This release contains an important fix for a merge ancestor calculation regression in the 2.6 series.

 * ancestor: decrement ninteresting correctly (Bts:issue3984)
 * bookmarks: allow bookmark command to take multiple arguments
 * bookmarks: pull --update updates to active bookmark if it moved (Bts:issue4007)
 * bookmarks: update only proper bookmarks on push -r/-B (issue 3973)
 * changegroup: fix fastpath during commit
 * checklink: work around sshfs brain-damage (Bts:issue3636)
 * churn: split email aliases from the right
 * commands: add checks for unfinished operations (Bts:issue3955)
 * commit: enable --secret option
 * convert: catch empty origpaths in svn gettags (Bts:issue3941)
 * convert: fix bad conversion of copies when hg.startrev is specified
 * convert: handle changeset sorting errors without traceback (Bts:issue3961)
 * hgweb: fix incorrect way to count revisions in log (Bts:issue3977)
 * hgweb: run search instead of showing wrong error for ambigious identifier
 * histedit: don't clobber working copy on --abort if not on histedit cset
 * histedit: refuse to edit history that contains merges (Bts:issue3962)
 * import: cut commit messages at --- unconditionally (Bts:issue2148)
 * largefiles: overridematch() should replace the file path instead of extending (Bts:issue3934)
 * log: add a log style that is default+phase (Bts:issue3436)
 * paper: add line wrapping switch to file source view
 * paper: code selection without line numbers in file source view
 * paper: highlight line which is linked to in source view
 * progress: respect HGPLAIN
 * rebase: allow aborting when descendants detected
 * rebase: continue abort without strip for immutable csets (Bts:issue3997)
 * rebase: don't clobber wd on --abort when we've updated away (Bts:issue4009)
 * revert: make backup when unforgetting a file (Bts:issue3423)
 * revlog: handle hidden revs in _partialmatch (Bts:issue3979)
 * rollback: mark as deprecated
 * splicemap: improve error handling when parsing (Bts:issue2084)
 * splicemap: support paths with spaces in splicemap (Bts:issue3844)
 * sslutil: force SSLv3 on Python 2.6 and later (Bts:issue3905)
 * summary: augment output with info from extensions
 * templater: add strip function with chars as an extra argument
 * log: show style list when unknown style specified
 * tip: deprecate the tip command
 * update: add tracking of interrupted updates (Bts:issue3113)
 * worker: check problem state correctly (Bts:issue3982)
 * worker: properly report errors from worker processes (Bts:issue3982)

== Mercurial 2.6.3 (2013-07-01) ==

This is a regularly-scheduled bugfix release.

 * commit: amending with --close-branch (Bts:issue3445)
 * doc: make it easier to read how to enable extensions
 * doc: reword "config file" to "configuration file"
 * docs: change description to synopsis in hgrc.5
 * histedit: raise ImportError when demandloading is enabled
 * pathencode: fix hashmangle short dir limit (Bts:issue3958)
 * update: remove .hg/graftstate on clean (Bts:issue3970)

== Mercurial 2.6.2 (2013-06-01) ==

This is a regularly-scheduled bugfix release.

 * amend: complain more comprehensibly about subrepos
 * blackbox: fix blackbox causing exceptions in tests
 * blackbox: fix recording exit codes (Bts:issue3938)
 * dirstate: don't overnormalize for ui.slash
 * graft: refuse to commit an interrupted graft (Bts:issue3667)
 * help: fix role/option confusion in RST
 * help: stop documentation markup appearing in generated help

== Mercurial 2.6.1 (2013-05-14) ==

This is an unscheduled bugfix release to address some minor regressions in the 2.6 release.

 * convert: fix bug of wrong CVS path parsing without port number (Bts:issue3678)
 * help/config: note 64-bit Windows registry key used with 32-bit Python
 * hfs+: rewrite percent-escaper (Bts:issue3918)
 * hgignore: fix regression with hgignore directory matches (Bts:issue3921)
 * highlight: fix page layout with empty first and last lines
 * largefiles: check existence of the file with case awareness of the filesystem
 * largefiles: check unknown files with case awareness of the filesystem
 * pathencode: grow buffers to increase safety margin
 * revert: ensure that copies and renames are honored (Bts:issue3920)
 * subrepo: open files in 'rb' mode to read exact data in (Bts:issue3926)
 * windows: check target type before actual unlinking to follow POSIX semantics

== Mercurial 2.6 (2013-05-01) ==

/!\ This release has known issues with some ignore rules (Bts:issue3921) and subrepos on Windows (Bts:issue3926)

This is a regularly scheduled feature release.

 * addremove: improve performance
 * amend: support amending merge changesets (Bts:issue3778)
 * ancestor: a new algorithm that is faster for nodes near tip
 * annotate: increase refcount of each revision correctly (Bts:issue3841)
 * applyupdates: assign variable before we try to use it (Bts:issue3855)
 * archive: raise error.Abort if the file pattern matches no files
 * bash_completion: allow remove to complete normal files
 * blackbox: new extension
 * bookmarks: don't allow integers as bookmark/branch/tag names
 * bookmarks: allow (re-)activating a bookmark on the current changeset
 * bookmarks: allow moving a bookmark forward to a descendant
 * bookmarks: moving the active bookmark deactivates it
 * bookmarks: fix bug that activated a bookmark even with -r passed
 * bookmarks: resolve divergent bookmark when moving across a branch
 * bookmarks: resolve divergent bookmarks when moving active bookmark forward
 * commit: allow closing "non-head" changesets
 * commit: show active bookmark in commit editor helper text
 * config: discard "%unset" values defined in the other files read in previously
 * convert/git: catch errors from modern git-ls-remote (Bts:issue3428)
 * convert: add closesort algorithm to mercurial sources
 * dates: support 'today' and 'yesterday' in parsedate (Bts:issue3764)
 * destroyed: invalidate phraserevs cache in all case (Bts:issue3858)
 * diff: fix binary file removals in git mode
 * dirstate: performance improvements
 * dispatch: exit with status 1 for an InterventionRequired exception (BC)
 * dispatch: print 'abort:' when a pre-command hook fails (BC)
 * export: clobber files with -o (BC) (Bts:issue3652)
 * export: export working directory parent by default
 * export: show 'Date' header in a format that also is readable for humans
 * extensions: obsolete and remove interhg extension
 * filesets: add eol predicate
 * grep: use re2 if possible
 * hgk: add support for phases
 * hgk: don't use fixed format for dates
 * hgk: update backgroud colour when Ttk is available
 * hgweb: generate HTML documentation
 * hgweb: teach archive how to download a specific directory or file
 * histedit: allow "-" as a command file
 * histedit: handle multiple spaces between action and hash (Bts:issue3893)
 * histedit: make "hg histedit" sensitive to branch in URL
 * histedit: properly handle --continue on empty fold
 * histedit: support editing of the first commit (Bts:issue3767)
 * httppeer: avoid large dumps when we don't see an hgweb repo
 * icasefs: rewrite case-folding collision detection (Bts:issue3452)
 * import: don't rollback on failed import --exact (Bts:issue3616)
 * largefiles: don't cache largefiles for pulled heads by default
 * largefiles: improve reuse of HTTP connections
 * largefiles: introduce lfpull command for pulling missing largefiles
 * largefiles: introduce pull --lfrev option
 * largefiles: introduce pulled() revset expression for use in --lfrev
 * largefiles: quiet (and document) undefined name errors (Bts:issue3886)
 * largefiles: stat all largefiles in one batch before downloading
 * largefiles: use repo.wwrite for writing standins (Bts:issue3909)
 * log: fix behavior with empty repositories (Bts:issue3497)
 * merge: apply non-interactive working dir updates in parallel
 * mergetools: avoid losing the merged version with meld
 * mergetools: vimdiff issues a warning explaining how to abort
 * mq: comply with filtering when injecting fake tags (Bts:issue3812)
 * mq: do not inherit settings form base repo in mqrepo (Fixes Bts:issue2358)
 * outgoing: fix possible filtering crash in outgoing (Bts:issue3814)
 * pager: catch ctrl-c on exit (Bts:issue3834)
 * date: understand "now" as a shortcut for the current time
 * parsers: a C implementation of the new ancestors algorithm
 * pull: list bookmarks before pulling changesets (Bts:issue3873)
 * push: make locking of source optional (Bts:issue3684)
 * rebase: check no-op before checking phase (Bts:issue3891)
 * rebase: fix --collapse when a file was added then removed
 * record: abort on malformed patches instead of crashing
 * revset: change ancestor to accept 0 or more arguments (Bts:issue3750)
 * revset: don't abort when regex to tag() matches nothing (Bts:issue3850)
 * sadclown: another test failure eluded bos
 * scheme: don't crash on invalid URLs
 * scmutil: rewrite dirs in C, use if available
 * setup: make error message for missing Python headers more helpful
 * smtp: use 465 as default port for SMTPS
 * smtp: verify the certificate of the SMTP server for STARTTLS/SMTPS
 * sshpeer: store subprocess so it cleans up correctly
 * sslutil: abort if peer certificate is not verified for secure use
 * subrepo: clone of git sub-repository creates incorrect git branch (Bts:issue3870)
 * subrepo: do not push mercurial subrepos whose store is clean
 * subrepo: fix exception on revert when "all" option is omitted
 * summary: make "incoming" information sensitive to branch in URL (Bts:issue3830)
 * summary: make "outgoing" information sensitive to branch in URL (Bts:issue3829)
 * summary: show active bookmark even if not at current changeset
 * tags: update tag type only if tag node is updated (Bts:issue3911)
 * templatekw: add default styles for hybrid types (Bts:issue3887)
 * templater: add get() function to access dict element (e.g. extra)
 * unionrepo: read-only operations on a union of two localrepos
 * win32: use explicit path to "python.exe" only if it exists

== Mercurial 2.5.4 (2013-04-04) ==

This fixes an urgent regression in merging with subrepos introduced in 2.5.

 * applyupdates: assign variable before we try to use it (Bts:issue3855)
 * setup.py: properly discard trust warning

== Mercurial 2.5.3 (2013-04-01) ==

 * hgweb: show correct error message for i18n environment
 * localrepo: always write the filtered phasecache when nodes are destroyed (Bts:issue3827)
 * rebase: restore active bookmark after rebase --continue
 * setup.py: add metadata to register package to PyPI
 * setup.py: ignore warnings from obsolete
 * zsh_completion: fix trailing carriage return spoiling tag completion

== Mercurial 2.5.2 (2013-03-01) ==

 * bundle: treat branches created newly on the local correctly (Bts:issue3828)
 * largefiles: avoid rechecking hashes when avoidable
 * largefiles: don't let update leave wrong largefiles in wd if fetch fails
 * largefiles: fix off-by-one error on pull --all-largefiles
 * largefiles: fix download of largefiles from an empty list of changesets
 * largefiles: missing largefiles should not be committed as removed
 * mergetools: vimdiff issue a warning explaining how to abort
 * outgoing: fix possible filtering crash in outgoing (Bts:issue3814)
 * rebase: fix potential infinite loop in complex rename situation (Bts:issue3843)

== Mercurial 2.5.1 (2013-02-08) ==

This is a non-scheduled bugfix release.

 * hgk: support the old way of getting the current Ttk theme (Bts:issue3808)
 * hgweb.cgi: fix internal WSGI emulation (Bts:issue3804)
 * hgweb: make 'summary' work with hidden changesets (Bts:issue3810)
 * incoming: fix incoming when a local head is remotely filtered (Bts:issue3805)
 * largefiles: don't crash when trying to find default dest for url without path
 * rebase: derive node from target rev (Bts:issue3802)

== Mercurial 2.5 (2013-02-01) ==

This is a regularly-scheduled feature release.

=== Core features ===

 * branchmap: improved performances
 * bundle: add revset expression to show bundle contents (Bts:issue3487)
 * dirstate: implement unix statfiles in C
 * hgweb: add (Atom) subscribe links to the repository index
 * hgweb: add "URL breadcrumbs"
 * hgweb: add branches RSS and Atom feeds
 * hgweb: secret changeset are excluded from html view (Bts:3614 )
 * serve: use chunked encoding in hgweb responses
 * pathencode: implement both basic and hashed encoding in C
 * subrepo: append subrepo path to subrepo error messages
 * validate: check for spurious incoming filelog entries
 * hgweb: allow hgweb's archive to recurse into subrepos

=== Changeset Evolution ===

Major progress toward ChangesetEvolution were done.
 
 * hidden changesets are now properly ignored by all commands
 * a global --hidden flag is added to give access to hidden changesets
 * rewriting a changeset but not its descendants is now allowed; this leaves unstable changeset behind
 * we now detect *divergent* changesets. The third and last kind of obsolescence related troubles. `divergent()` revset is added
 * a `troubled()` revset have been added
 * branchmap for of *visible* and *served* changeset are now cached on disk. This is a major performance improvements
 * performance improvements of most evolution related algorithm

=== Extension features ===
 * color: add template label function
 * convert: add config option to use the local time zone
 * convert: add support for converting git submodule (Bts:issue3528)
 * hgk: use Ttk instead of plain Tk
 * inotify: don't fall over just because of a dangling symlink
 * largefiles: fix revert removing a largefile from a merge
 * largefiles: fix update from a merge with removed files
 * largefiles: make log match largefiles in the non-standin location too
 * largefiles: make update with backup files in .hglf slightly less broken
 * largefiles: rename 'admin' to more descriptive 'lfstoredir
 * rebase: performance improvements
 * rebase: rebase set with multiple roots are now handled by the --rev option
 * record: use patch.diffopts to account for user diffopts
 * share: always set default path to work with subrepos (Bts:issue3518)
 * zsh_completion: add completion of branch names

=== Fixes ===
 * commands: 'hg bookmark NAME' should work even with ui.strict=True
 * copies: do not track backward copies, only renames (Bts:issue3739)
 * destroyed: keep the filecache in sync with `__dict__` (Bts:issue3335, Bts:issue3693, Bts:issue3743)
 * grep: don't search past the end of the searched string
 * hgweb: properly returns 404 for unknown revision (instead of 500)
 * histedit: proper phase conservation (Bts:issue3724)
 * histedit: prevents obsolescence cycle (Bts:issue3681)
 * hook: disable demandimport before importing hooks
 * mq: don't fail when removing a patch without patch file from series file
 * mq: fix qpop of working directory parent patch when not at qtip
 * zeroconf: use port from server instead of picking port from config (Bts:issue3746)
 * update: update to current bookmark if it moved out from under us (issue3682)
 * bookmarks: show active bookmark even if not at working dir
 * largefiles: let wirestore._stat return stats as expected by remotestore verify
 * largefiles: adapt verify to batched remote statlfile (issue3780)
 * largefiles: don't allow corruption to propagate after detection
 * largefiles: don't verify largefile hashes on servers when processing statlfile
 * largefiles: allow use of urls with #revision
 * largefiles: fix commit when using relative paths from subdirectory
 * largefiles: fix cat when using relative paths from subdirectory
 * histedit: prevent parent guessed via --outgoing from being a revset (issue3770)
 * rebase: delete divergent bookmarks on destination (issue3685)
 * hgwebdir: use web.prefix when creating url breadcrumbs (issue3790)
 * subrepo: allow skipping courtesy phase sync (issue3781)
 * merge: .hgsubstate is special as merge destination, not as merge source
 * merge: improved handling of symlinks

== Mercurial 2.4.2 (2013-01-01) ==

This is a regularly-scheduled bugfix release.

 * amend: invalidate dirstate in case of failure (Bts:issue3670)
 * amend: prevent loss of bookmark on failed amend
 * bookmarks: fix head selection for merge with two bookmarked heads
 * bundlerepo: don't return the peer without bundlerepo from getremotechanges
 * dirstate: don't rename branch file if writing it failed
 * dirstate: remove obsolete comment from setbranch
 * hgweb: avoid generator exhaustion with branches
 * hgweb: fix iterator reuse in atom feed generation
 * hgwebdir: honor web.templates and web.static for static files (Bts:issue3734)
 * largefiles revert: update lfdirstate with result from first cleanliness check
 * largefiles status: update lfdirstate with result from cleanliness check
 * largefiles: commit directories that only contain largefiles (Bts:issue3548)
 * largefiles: don't walk through all ignored files
 * paper: sanity-check page feed links
 * scmutil: don't try to match modes on filesystems without modes (Bts:issue3740)
 * zeroconf: use port from server instead of picking port from config (Bts:issue3746)

== Mercurial 2.4.1 (2012-12-03) ==

This is a regularly-schedule bugfix release.

 * amend: force editor only if old message is reused (Bts:issue3698)
 * grep: don't search past the end of the searched string
 * hooks: be even more forgiven of non-fd descriptors (Bts:issue3711)
 * hooks: delay I/O redirection until we actually run a hook (Bts:issue3711)
 * phases: fix missing "error" module import (Bts:issue3707)
 * rebase: fix pull --rev options clashing with --rebase (Bts:issue3619)
 * subrepo: add argument to "diff()" to pass "ui" of caller side (Bts:issue3712) (API)
 * update: allow update to existing branches with invalid names (Bts:issue3710)
 * util: make chunkbuffer non-quadratic on Windows


== Mercurial 2.4 (2012-11-1) ==

This is a regularly-scheduled feature release.

=== Core features ===

 * amend: support for ChangesetEvolution if enabled
 * bookmarks: deactivate current bookmark if no name is given
 * bookmarks: teach the -r option to use revsets
 * bookmarks: disallow bookmarks named 'tip', '.', or 'null'
 * clone: substantial speedup to clone on repo with a lots of heads (Bts:issue3378)
 * clone: activate bookmark specified with --updaterev
 * clone: update to @ bookmark if it exists
 * log: substantial speedup for untracked files (Bts:issue1340)
 * revsets: add branchpoint() function
 * resolve: commit the changes after each item resolve (Bts:issue3638)
 * subrepo, hghave: use "svn --version --quiet" to determine version number
 * subrepo: setting LC_MESSAGES only works if LC_ALL is empty or unset
 * templatefilters: add parameterized date method
 * templatefilters: add parameterized fill function
 * templatefilters: avoid traceback caused by bogus date input (Bts:issue3344)
 * templatekw: add p1rev, p1node, p2rev, p2node keywords
 * templatekw: add parent1, parent1node, parent2, parent2node keywords
 * templater: abort when a template filter raises an exception (Bts:issue2987)
 * templater: add if/ifeq conditionals
 * templater: add sub() function
 * templating: make new-style templating features work with command line lists
 * bookmarks: take ChangesetEvolution into account when updating (Bts:issue3561)
 * speedup various operation related to ChangesetEvolution
 * add detection of changeset ''bumped'' by ChangesetEvolution

=== Extension features ===

 * color: add additional changeset.phase label to log.changeset and log.parent
 * color: enabled color support for export command (Bts:issue1507)
 * color: support for all grep fields
 * contrib: add a commit synthesizer for reproducing scaling problems
 * histedit: refuse to edit public changeset
 * histedit: replaces patching logic by merges
 * histedit: support for ChangesetEvolution if enabled
 * largefiles: always create the cache and standin directories when cloning
 * largefiles: distinguish "no remote repo" from "no files to upload" (Bts:issue3651)
 * largefiles: fix a traceback in lfconvert if a largefile is missing (Bts:issue3519)
 * mq: improve qqueue message with patches applied (Bts:issue3036)
 * mq: update bookmarks during qrefresh
 * notify: support revset selection for subscriptions
 * rebase: support for ChangesetEvolution if enabled
 * record: checks for valid username before starting recording process (Bts:issue3456)
 * record: fix display of non-ASCII names in chunk selection

=== Fixes ===

 * amend: fix incompatibity between logfile and message option (Bts:issue3675)
 * amend: wrap all commit operations in a single transaction
 * bookmarks: abort when incompatible options are used (Bts:issue3663)
 * bookmarks: avoid redundant creation/assignment of "validdests" in "validdest()"
 * bookmarks: check bookmark format during rename (Bts:issue3662)
 * bookmarks: when @ bookmark diverges, don't double the @ sign (BC)
 * bookmark: prevent crashing when a successor is unknown locally (Bts:issue3680)
 * clone: activate @ bookmark if updating to it
 * clone: don't %-escape the default destination (Bts:issue3145)
 * clone: make sure to use "@" as bookmark and "default" as branch (Bts:issue3677) (BC)
 * clone: print bookmark name when clone activates a bookmark
 * commands: don't infer repo for commands like update (Bts:issue2748)
 * convert: normalize paths in filemaps (Bts:issue3612)
 * dirstate: handle large dates and times with masking (Bts:issue2608)
 * dirstate: handle dangling junctions on windows (Bts:issue2579)
 * filemerge: use util.shellquote when calling merge (Bts:issue3581)
 * hgweb: make the escape filter remove null characters (Bts:issue2567)
 * http2: make it possible to connect w/o ssl on port 443
 * icasefs: make case-folding collision detection as deletion aware (Bts:issue3648)
 * largefiles: don't copy largefiles from working dir to the store while converting
 * largefiles: respect the rev when reading standins in copytostore() (Bts:issue3630)
 * largefiles: use 'default' instead of 'default-push' when pulling (Bts:issue3584)
 * mq: fix qrefresh case sensitivity (Bts:issue3271)
 * patchbomb: respect --in-reply-to for all mails if no intro message is sent
 * remove: don't return error on directories with tracked files
 * revset: accept @ in unquoted symbols (Bts:issue3686)
 * scmutil: add mustaudit delegation to filtervfs (Bts:issue3673)
 * subrepo: only do clean update when overwrite is set (Bts:issue3276)
 * subrepo: subrepo isolation, pass baseui when cloning a new subrepo (Bts:issue2904)
 * update: check for missing files with --check (Bts:issue3595) (BC)
 * url: use open and not url.open for local files (Bts:issue3624)
 * verify: fix all doubled-slash sites (Bts:issue3665)
 * wireproto: fix pushkey hook failure and output on remote http repo

== Mercurial 2.3.2 (2012-10-01) ==
 * amend: preserve phase of amended revision (Bts:issue3602)
 * archival: add "extended-timestamp" extra block for zip archives (Bts:issue3600)
 * hgweb: avoid bad $$ processing in graph (Bts:issue3601)
 * hgweb: fix incorrect graph padding calculation (Bts:issue3626)
 * largefiles: fix return codes for multiple commands
 * largefiles: don't convert dest=None to dest=hg.defaultdest() in clone command
 * largefiles: download missing subrepo revs when archiving
 * largefiles: enable islfilesrepo() prior to a commit (Bts:issue3541)
 * largefiles: handle commit -A properly, after a --large commit (Bts:issue3542)
 * largefiles: preserve exit code from outgoing command (Bts:issue3611)
 * largefiles: restore caching of largefiles with 'clone -U --all-largefiles'
 * largefiles: restore normal 'clone -u' and 'clone -U' functionality
 * lock: fixed race condition in trylock/testlock (Bts:issue3506)
 * mergetools.hgrc: set vimdiff to check=changed
 * strip: fix revset usage (Bts:issue3604)
 * subrepo: encode unicode path names (Bts:issue3610)

== Mercurial 2.3.1 (2012-09-01) ==

 * clone: don't fail with --update for non-local clones (Bts:issue3578)
 * commit: normalize filenames when checking explicit files (Bts:issue3576)
 * fileset: actually implement 'minusset'
 * fileset: do not traceback on invalid grep pattern
 * fileset: exclude deleted files from matchctx.existing()
 * fileset: fix generator vs list bug in fast path
 * fileset: matchctx.existing() must consider ignored files
 * fileset: matchctx.existing() must consider unknown files
 * largefiles: adjust localstore to handle batch statlfile requests (Bts:issue3583)
 * merge: handle case when heads are all bookmarks
 * obsolete: import modules within mercurial/ without "from mercurial"
 * revlog: don't try to partialmatch strings with length > 40
 * rollback: write dirstate branch with correct encoding
 * store: only one kind of OSError means "nonexistent entry"
 * store: sort the results of fncachestore.datafiles()
 * strip: fix revset usage (Bts:issue3604)
 * templater: handle a missing value correctly
 * verify: do not choke on valid changelog without manifest
 * wix: bump MSI based installers to use Python 2.7


== Mercurial 2.3 (2012-08-01) ==

This is a regularly-scheduled feature release with numerous improvements and
bugfixes.

=== Core features ===

 * help: add --keyword (-k) for searching help
 * hgweb: side-by-side comparison functionality
 * log: support --graph without graphlog extension
 * push: accept revset argument for --rev
 * merge: bookmarks will no longer automatically merge with unnamed heads or other bookmarks. Instead it picks heads with diverging bookmarks.
 * introduce ChangesetsObsolescence concept ''(experimental)''

 * bookmarks: allow existing remote bookmarks to become heads when pushing
 * bookmarks: pull new bookmarks from remote by default '''(backward incompatible change)'''
 * bookmarks: delete divergent bookmarks on merge
 * bisect: set HG_NODE when runing a command
 * graft: allow -r to specify revisions
 * graft: implement --log (Bts:issue3438)
 * graft: remark on empty graft
 * hooks: print out more information when loading a python hook fails
 * identity: show trailing '+' for dirty subrepos (Bts:issue2839)
 * incoming/outgoing: handle --graph in core
 * merge: warn about file deleted in one branch and renamed in other (Bts:issue3074)
 * Mercurial can now identify third-party extensions as sources of tracebacks
 * outgoing: accept revset argument for --rev
 * performance improvement on branchy repo: incrementaly update branchcache
 * performance improvement on huge file tree: add a C function to pack the dirstate
 * performance improvement for huge .hgignore: process regex with re2 bindings if available
 * revset: add "diff" field to "matching" predicate
 * revset: add "converted" predicate to find converted changesets
 * revset: add "origin" and "destination" predicates, to get graft, transplant or rebase origins or destinations.
 * revset: add "extra" predicate to match changesets extra fields (Bts:issue2767)
 * revset: add pattern matching to "bookmarks/branch/extra/tag/user" predicated

=== Extension features ===

 * acl: use of "!" prefix in user or group names
 * children: mark extension as deprecated
 * convert/svn: handle non-local svn destination paths (Bts:issue3142)
 * convert: accept Subversion 'file:///c%3A/svnrepo' syntax on Windows
 * fetch: mark extension as deprecated
 * graphlog: feature is now into core
 * histedit: new extension for interactive history editing
 * hg-ssh: add read-only flag
 * largefiles: add --all-largefiles flag to pull and clone (Bts:issue3188)
 * largefiles: improve performance by batching statlfile requests when pushing a largefiles repo (Bts:issue3386)
 * largefiles: no longer attempt to clone all largefiles to non-local destinations
 * largefiles: optimize performance when updating (Bts:issue3440)
 * largefiles: support revsets for cat, outgoing --large and revert
 * mq: introduce qpush/qpop/qgoto --keep-changes
 * strip: introduce -B option to remove a bookmark
 * rebase: allow collapsing branches in place (Bts:issue3111)
 * rebase: make --dest understand revsets
 * rebase: drop the infamous --detach option: rebase now behave with --source and --rev as expectable. It may no longer add second parent to rebased changeset '''(backward incompatible change)'''
 * transplant: handle non-empty patches doing nothing (Bts:issue2806)
 * transplant: manually transplant pullable changesets with --log

=== Fixes ===

 * bisect: fix O(n**2) behaviour (Bts:issue3382)
 * bookmarks: fix push of moved bookmark when creating new branch heads
 * case insensitive file system can no longer be confused by `-R` on (Bts:issue2167)
 * copies: one fix related to directory rename detection (Bts:issue3511)
 * convert: check for failed svn import in debugsvnlog and abort cleanly
 * convert: ignore svn:executable for subversion targets without exec bit support
 * convert: keep branch switching merges with ancestors (Bts:issue3340)
 * convert: make filemap renames consistently override revision renames
 * debugrevlog: fix a bug with empty repository (Bts:issue3537)
 * graphlog: don't truncate template value at last \n
 * httprepo: ensure Content-Type header exists when pushing data
 * largefiles: fix a traceback when addremove follows a remove (Bts:issue3507)
 * largefiles: fix a traceback when archiving a subrepo in a subrepo
 * largefiles: fix addremove when largefile is missing (Bts:issue3227)
 * largefiles: fix addremove with -R option
 * largefiles: fix exception hack for i18n (Bts:issue3197)
 * largefiles: fix path handling for cp/mv (Bts:issue3516)
 * largefiles: archive -S now store largefiles instead of standins
 * largefiles: fix hg addremove when already removed largefile exists (Bts:issue3364)
 * merge: do not warn about copy and rename in the same transaction (Bts:issue2113)
 * mq: add ".hgsubstate" to patch target list only if it is not listed up yet
 * mq: create patch file after commit to import diff of ".hgsubstate" at qrefresh
 * pager: work around bug in python 2.4's subprocess module (Bts:issue3533):
 * revlog: zlib.error are no longer sent to the user (Bts:issue3424)
 * tag: don't allow tagging the null revision (Bts:issue1915)


== Mercurial 2.2.3 (2012-07-01) ==

This is a regularly-scheduled bugfix release.

 * amend: disable hooks when creating intermediate commit (Bts:issue3501)
 * archive: make progress only show files that are actually archived
 * bookmarks: correctly update current bookmarks on rebase (Bts:issue2277)
 * bugzilla: stop bugs always being marked as fixed in xmlrpc (Bts:issue3484)
 * graft: don't drop the second parent on unsuccessful merge (Bts:issue3498)
 * hgweb: fixes linebreak location in gitweb filediff.tmpl view
 * rebase: improve error message on improper phases
 * record: fix display of non-ASCII names
 * statichttprepo: don't send Range header when requesting entire file
 * strip: update help to state that you can strip public changeset
 * subrepo/svn: make rev number retrieval compatible with svn 1.5 (Bts:issue2968)
 * subrepo: support Git being named "git.cmd" on Windows (Bts:issue3173)
 * subrepo: warn user if Git is not version 1.6.0 or higher
 * update: fix help regarding update to ancestor

== Mercurial 2.2.2 (2012-06-01) ==

This is a regularly-scheduled bugfix release.

 * addremove: document default similarity behavior (Bts:issue3429)
 * alias: inherit command optionalrepo flag (Bts:issue3298)
 * amend: preserve extra dict (Bts:issue3430)
 * bisect: save current state before running a command
 * bugzilla: fix transport initialization on python 2.4
 * build: fix hgrc manpage building with docutils 0.9
 * bundle: make bundles more portable (Bts:issue3441)
 * changelog: ensure that nodecache is valid (Bts:issue3428)
 * hg-ssh: exit with 255 instead of -1 on error
 * hgweb: fix filediff base calculation
 * largefiles: fix "hg status dir" missing regular files (Bts:issue3421)
 * largefiles: fix deletion of multiple missing largefiles (Bts:issue3329)
 * largefiles: follow normal codepath for addremove if non-largefiles repo (Bts:issue3249)
 * largefiles: in putlfile, ensure tempfile's directory exists prior to creation
 * largefiles: use wlock for lfconvert (Bts:issue3444)
 * localrepo: clear _filecache earlier to really force reloading (Bts:issue3462)
 * match: make 'match.files()' return list object always
 * mq: add --no-backup for qpush/qpop/qgoto
 * mq: backup local changes in qpop --force (Bts:issue3433)
 * mq: backup local changes in qpush --force
 * mq: qimport need wlock for --push - do that after releasing lock
 * osutil: handle deletion race with readdir/stat (Bts:issue3463)
 * pager: check if signal.SIGPIPE exists
 * pager: preserve Hg's exit code (and fix Windows support) (Bts:issue3225)
 * pager: remove quiet flag
 * paper, monoblue: link correctly to lines in annotate view
 * parsers: fix refcount bug on corrupt index
 * patch: fix segfault against unified diffs which start line is zero
 * patch: keep patching after missing copy source (Bts:issue3480)
 * posix: workaround lack of TIOCGWINSZ on Irix (Bts:issue3449)
 * revpair: handle odd ranges (Bts:issue3474)
 * revset: explicitely tag alias arguments for expansion
 * revset: fix infinite alias expansion detection
 * revset: fix traceback for bogus revisions in id(rev)
 * revset: make matching() preserve input revision order
 * scmutil: seen.union should be seen.update (Bts:issue3476)
 * subrepo: do not traceback on .hgsubstate parsing errors
 * subrepo: ignore blank lines in .hgsubstate (Bts:issue3424)
 * tag: run commit hook when lock is released (Bts:issue3344)
 * templater: handle !SyntaxError when parsing ui.logtemplate
 * util: fix bad variable use in bytecount introduced by f0f7f3fab315
 * win32: fix encoding handling for registry strings (Bts:issue3467)

== Mercurial 2.2.1 (2012-05-03) ==

This is an unscheduled bugfix release to fix a signficant memory leak in hgweb.

 * bookmarks: catch the proper exception for missing revisions
 * help: add reference to template help (Bts:issue3413)
 * help: added description for the web.collapse setting
 * largefiles: fix commit of both largefiles and non-largefiles (Bts:issue3354)
 * parsers: fix refcount leak, simplify init of index (Bts:issue3417)

== Mercurial 2.2 (2012-05-01) ==

This is a regularly-scheduled feature release. The most notable feature is a new safe '--amend' option for commit using our new [[Phases|phases]] infrastructure. There are also a number of signficant performance improvements for large repositories and improvements for case-folding filesystems. See UpgradeNotes for minor compatibility notes.

=== Core features ===
 * commit: add --amend option
 * fileset: add "subrepo" fileset symbol
 * graft: add --dry-run support (Bts:issue3362)
 * hgweb: add support for branch width and color settings
 * hgweb: add block numbers to diff regions and related links
 * hgweb: support multi-level repository indexes by enabling descend and collapse
 * merge: improve performance with lots of unknown files
 * parsers: incrementally parse the revlog index in C
 * plan9: add support for [[https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs|plan9]]
 * push/pull: improve performance for partial transfers
 * push: decompress in larger chunks for better performance on the server
 * clone: add server config option to prefer uncompressed clone
 * revert: add support for reverting subrepos
 * revset: add "matching" keyword
 * store: speed up read and write of large fncache files
 * ui: optionally quiesce ssl verification warnings on python 2.5

=== Extension features ===

 * bugzilla: add xmlrpcemail submission for Bugzilla 3.6 email interface
 * bugzilla: allow change comment to mark bugs fixed
 * bugzilla: extract optional hours from commit message and update bug time
 * bugzilla: modify access interface to include new bug states
 * graphlog: add all log options to glog command
 * patchbomb: add --body flag to send patches as inline message body text
 * record: allow splitting of hunks by manually editing patches
 * transplant: permit merge changesets via --parent
 
=== Fixes ===
 * alias: fix shell alias documentation (Bts:issue3374)
 * archive: make it work with svn subrepos (Bts:issue3308)
 * branchmap: server should not advertise secret changeset in branchmap (Bts:issue3303)
 * clone: always close source repository (Bts:issue2491)
 * commit: abort on merge with missing files (BC)
 * config: discard UTF-8 BOM if found
 * convert/bzr: convert all branches (Bts:issue3229) (BC)
 * convert/bzr: expect unicode metadata, encode in UTF-8 (Bts:issue3232)
 * convert/bzr: handle empty bzr repositories (Bts:issue3233)
 * convert/bzr: ignore nested repos when listing branches (Bts:issue3254)
 * convert/svn: do not try converting empty head revisions (Bts:issue3347)
 * convert/svn: make svn sink work with svn 1.7
 * convert: support non-annotated tags in git backend
 * dirstate: preserve path components case on renames (Bts:issue3402)
 * export: catch exporting empty revsets (Bts:issue3353)
 * icasefs: make case-folding collision detection rename aware (Bts:issue3370)
 * inotify: catch !SignalInterrupt during shutdown (Bts:issue3351)
 * journal: use tryread helper to backup files (Bts:issue3375)
 * largefiles: fix cat for largefiles (Bts:issue3352)
 * largefiles: fix status -S reporting of subrepos (Bts:issue3231)
 * largefiles: hide .hglf/ prefix for largefiles in hgweb
 * largefiles: notice dirty large files in a subrepo
 * largefiles: only update changed largefiles when transplanting
 * largefiles: optimize update speed by only updating changed largefiles
 * localrepo: add setparents() to adjust dirstate copies (Bts:issue3407)
 * mdiff: fix diff header generation for files with spaces (Bts:issue3357)
 * merge: check for untracked files more precisely (Bts:issue3400)
 * merge: fix unknown file merge detection for case-folding systems
 * patch: be more tolerant with "Parent" header (Bts:issue3356)
 * patch: be more tolerant with EOLs in binary diffs (Bts:issue2870)
 * patch: fix patch hunk/metdata synchronization (Bts:issue3384)
 * phase: when phase cannot be reduced, hint at --force and return 1 (BC)
 * posix: disable cygwin's symlink emulation (BC)
 * posix: ignore execution bit in cygwin (Bts:issue3301)
 * pure/osutil: use Python's msvcrt module (Bts:issue3380)
 * rebase: preserve mq series order, guarded patches (Bts:issue2849)
 * rebase: skip resolved but emptied revisions
 * revset: fix O(n**2) behaviour of bisect() (Bts:issue3381)
 * revset: fix adds/modifies/removes and patterns (Bts:issue3403)
 * revset: fix alias substitution recursion (Bts:issue3240)
 * subrepo/svn: abort on commit with missing file (Bts:issue3029)
 * subrepo/svn: fix checked out rev number retrieval (Bts:issue2968)
 * subrepo: fix default implementation of forget() (Bts:issue3404)
 * subrepo: rewrite handling of subrepo state at commit (Bts:issue2403)
 * templates/filters: extracting the user portion of an email address (BC)
 * transplant: do not rollback on patching error (Bts:issue3379)
 * update: fix case-collision with a clean wd and no --clean
 * update: make --check abort with dirty subrepos
 * update: use normal update path with --check (Bts:issue2450)
 * wireprotocol: use visibleheads as reference while unbundling (Bts:issue 3303)


== Mercurial 2.1.2 (2012-04-01) ==

This is a regularly-scheduled bugfix release.

 * alias: abort on missing positional args (Bts:issue3331)
 * aliases: use empty string for missing position parameters (Bts:issue3331)
 * bookmarks: clone non-divergent bookmarks with @ in them
 * convert/git: abort if git submodules are detected (Bts:issue2150)
 * convert: deal with empty splicemap path (Bts:issue3311)
 * dirstate: avoid normalizing letter case on icasefs for exact match (Bts:issue3340)
 * dirstate: fix some problems for recursive case normalization (Bts:issue3342)
 * dirstate: normalize case of directory components
 * extdiff: escape filenames with vim/DirDiff and make quoting work with Windows
 * filemerge: remove temporary files when using internal:dump as merge-tool
 * filemerge: restore default prompt for binary/symlink lost in 83925d3a4559
 * icasefs: use case preserved root for 'util.fspath()' invocation (Bts:issue3302)
 * largefiles: suppress unexpected warning of 'hg status' for removed files
 * localrepo: fix unpushable repos when using bookmarks (Bts:issue3317)
 * merge: accept missing revisions in symlink flag merge (Bts:issue3316)
 * merge: handle linear update to symlink correctly (Bts:issue3316)
 * mq: fix qpush --move with comments in series file between applied patches
 * qfinish: comply with the phases.new-commit option in secret mode (Bts:issue3335)
 * rebase: move bookmarks as needed with pull --rebase (Bts:issue3285)
 * rebase: properly calculate descendant set when aborting (Bts:issue3332)
 * rename: handle case-changing (Bts:issue1717)
 * setup.py: don't call splitlines twice on the output of xcodebuild (Bts:issue3277)
 * strip: enhance repair.strip to receive a list of nodes (Bts:issue3299)
 * strip: ignore -n (Bts:issue3326) (BC)
 * wix: add phases help text and two more translations (Bts:issue3288)

== Mercurial 2.1.1 (2012-03-01) ==

This is a regularly-scheduled bugfix release.

 * bdiff: fix malloc(0) issue in fixws()
 * bugzilla: stop XMLRPC requests from requesting gzipped responses
 * bundlerepo: bundle repos should be non-publishing (Bts:issue3266)
 * cmdserver: invalidate the dirstate when running commands (Bts:issue3271)
 * context: make workingctx.forget() really warn about untracked files
 * convert: ignore blank lines in mapfiles (Bts:issue3286)
 * convert: tolerate spaces between splicemap parent ids (Bts:issue3203)
 * convert: use splicemap entries when sorting revisions (Bts:issue1748)
 * dirstate: filecacheify _ignore (Bts:issue3278)
 * fetch: use update rather than clean when updating (Bts:issue3246)
 * forget: show warning messages for forgetting in subrepo correctly
 * graft: use proper revisions for copy detection (Bts:issue3265)
 * import: handle git renames and --similarity (Bts:issue3187)
 * largefiles: check whether specified patterns are related to largefiles strictly
 * largefiles: don't break filesets
 * largefiles: only cache largefiles in new heads
 * largefiles: use repo.store.createmode for new files in .hg/largefiles
 * localrepo: clear _filecache on rollback (Bts:issue3261)
 * localrepo: reset _phasesdirty flag after writing
 * localrepo: use 'changectx.dirs()' in 'status()' for directory patterns
 * log: fix --follow FILE ancestry calculation
 * log: remove caching of all visited revisions (Bts:issue3253)
 * log: restore cache used by --copies
 * mdiff: adjust hunk offsets with --ignore-blank-lines (Bts:issue3234)
 * mq: fix qapplied --last and qprev documentation (Bts:issue3282)
 * mq: fix qnext when all remaining patches are guarded
 * mq: make qimport --push push all imported patches (Bts:issue3130)
 * mq: make qprev return the previous applied patch (Bts:issue3245)
 * mq: restore _branchtags() fast path (Bts:issue3223)
 * patch: fix fuzzing of hunks without previous lines (Bts:issue3264)
 * patch: fuzz more aggressively to match patch(1) behaviour
 * pull: backout change to return code
 * scmutil: update cached copy when filecached attribute is assigned (Bts:issue3263)
 * setup: handle output from Apple's Xcode 4.3 better (Bts:issue3277)
 * subrepo: fix for merge inconsistencies
 * update: delete bookmarks.current when explicitly updating to a rev (Bts:issue3276)
 * update: don't move the active bookmark if a rev is specified with -r

== Mercurial 2.1 (2012-02-01) ==

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

=== Major features ===
 * Changesets now have a phase attribute, which tracks what changesets are safe to modify (see [[Phases]])
=== Core changes ===
 * annotate: support diff whitespace filtering flags (Bts:issue3030)
 * bookmarks: automatically advance bookmark on bare update (BC) (Bts:issue2894)
 * bookmarks: shadow divergent bookmarks of foo with foo@n
 * copies: improved copy detection for diff and status
 * hooks: new priority specifier to control ordering
 * id: add command line options for handling ssh and https urls
 * push: propagate --new-branch and --ssh options when pushing subrepos
 * revset: add remote() predicate to lookup remote revisions
 * subrepo: support explicit add and forget of files in subrepos
=== Extension changes ===
 * bugzilla: make XMLRPC interface support http and https access
 * largefiles: add --normal option to hg add (Bts:issue3061)
 * notify: add option for writing to mbox
 * rebase: add a "D" short option for detach
 * rebase: allow --detach when --rev is used
 * win32mbcs: allow win32mbcs extension to be enabled on cygwin platform
 * mq: add secret phase setting
=== Bug fixes ===
 * hgcia: fix diffstat support
 * largefiles: add error checking to tags conversion (Bts:issue3092)
 * largefiles: add tests for uncovered codepaths (Bts:issue3092)
 * largefiles: check if largefile could be found when archiving (Bts:issue3193)
 * largefiles: correctly download new largefiles when merging
 * largefiles: correctly handle dirstate status when rebasing
 * largefiles: correctly handle newly added largefile on other side of merge
 * largefiles: display remote errors from putlfile (Bts:issue3123) (Bts:issue3149)
 * largefiles: don't reference uninitialized variable (Bts:issue3092)
 * largefiles: fix caching largefiles from an aliased repo (Bts:issue3212)
 * largefiles: fix confusion upon removal of added largefile (Bts:issue3176)
 * largefiles: fix inappropriate locking (Bts:issue3182)
 * largefiles: fix output of hg summary (Bts:issue3060)
 * largefiles: cache new largefiles for new heads when pulling
 * largefiles: implement addremove (Bts:issue3064)
 * largefiles: optimize performance of status on largefiles repos (Bts:issue3136)
 * largefiles: optimize status when files are specified (Bts:issue3144)
 * largefiles: remove empty directories upon update (Bts:issue3202)
 * largefiles: fix addremove when no largefiles are specified
 * largefiles: fix revert on missing largefile (Bts:issue3217)
 * largefiles: fix transplant for all cases (Bts:issue3192)
 * mail: use quoted-printable for mime encoding to avoid too long lines (Bts:issue3075)
 * merge: give a special message for internal:merge failure (Bts:issue3105)
 * rebase: reinstate old-style rev spec support for the source and base (Bts:issue3181)
 * ssh: quote remote paths (Bts:issue2983)
 * sslutil: abort properly if no certificate received for https connection
 * sslutil: show fingerprint when cacerts validation fails
 * status: support revsets with --change
 * subrepo: avoid syncing bookmarks twice on clone (Bts:issue3191)
 * tag: invalidate tag cache immediately after adding new tag (Bts:issue3210)
 * util: don't encode ':' in url paths
 * bundlerepo: try to find containing repo on creation (Bts:issue1812)
 * convert: subversion convert abort on revision not found (Bts:issue3205)
 * discovery: fix regression when checking heads for pre 1.4 client (Bts:issue3218)
 * merge: defer symlink flag merging to filemerge (Bts:issue3200)
 * patch: a little bit more robust line counting on diff --stat (Bts:issue3183)
 * push: return 1 if no changes found (Bts:issue3228)
 * qpush: avoid trying to manage existing history (Bts:issue2218)
 * revsets: include the correct first ancestor change for follow(file)
 * revsets: filesets now work correctly inside of revsets


== 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 (Bts: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 (Bts: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 [[Topic: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
Hi there friend. Let me introduce myself. I am Anglea Schisler.<<BR>>
Hiring is my careers. To bungee jump is what will always love doing. My husband and I personally chose to reside about Illinois but I need to move for my children. I'm not optimistic at webdesign but yourself might want to investigation my website: http://envigra.org

Hi there friend. Let me introduce myself. I am Anglea Schisler.
Hiring is my careers. To bungee jump is what will always love doing. My husband and I personally chose to reside about Illinois but I need to move for my children. I'm not optimistic at webdesign but yourself might want to investigation my website: http://envigra.org

WhatsNew (last edited 2024-03-29 20:39:30 by RaphaelGomes)