17824
Comment:
|
18556
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
{i} Be sure to read the [[UpgradeNotes|upgrade notes]] According to the [[TimeBasedReleasePlan|time-based release plan]], new major releases (labeled X.Y) containing new features are released three times per year, interleaved by (at least) monthly bugfix releases (labeled X.Y.Z). No more bugfix releases for a major release will be made as soon as the next major release has been released. <<TableOfContents>> |
Features and bugfixes in our latest releases. {i} Be sure to read the [[UpgradeNotes|upgrade notes]] when [[UpgradingMercurial|upgrading]]. <<TableOfContents(2)>> |
Line 13: | Line 12: |
== 1.7 (2010-11-01) == === Core === * filelog: improve cmp performances (Bts:issue2273) * patch: don't strip '#' lines from patch descriptions (Bts:issue2417) * patch: when native patching fails (ui.patch is not set), don't retry with an external tool * setup/hg: always load Mercurial from where it was installed. * setup: user-friendly error message if Python headers are missing * store: new unsupported and experimental parentdelta format (see UpgradeNotes) * store: encode first period or space in filenames (Bts:issue1713) * url: expand environment variables in [auth] settings (Bts:issue2328) * url: check validity (notBefore/notAfter) using OpenSSL (Bts:issue2407) === Commands === * addremove: use similarity 100 by default * alias: add support for shell command aliases starting with '!' (see [alias] in hgrc(5)) * backout: add --tool argument for specifying merge tool * backout: backout linearly by default instead of branching and merging (use --merge to get the former behaviour) * dispatch: properly handle relative path aliases used with -R (Bts:issue2376) * init: expand destination url as a configured paths * log: do not --follow file that is deleted and recreated later (Bts:issue732) * merge: don't detect copies as "divergent renames", make error message more helpful * merge: add --tool argument to merge and resolve * merge: handle no file parent in backwards merge (Bts:issue2364) * tags: do not fail if tags.cache is corrupted (Bts:issue2444) * templater: add "hex" filter and "children" keywords (see hg help templating) === Subrepos === * support remapping of subrepository source paths (see [subpaths] in hgrc(5)) * make add, diff, incoming, outgoing and status commands recurse into subrepos with --subrepos/-S * subrepo: add support for 'hg archive' * subrepo: fix status check on SVN subrepos (Bts:issue2445) === Revsets === * add id() and rev() to allow explicit references to changes by hash or rev (see hg help revsets) * add min() function to complement max() * add present() function to avoid lookup errors on possibly missing changesets * rename tagged() to tag() and allow it to take an optional tag name * strip: add revsets support * add revsets support to bisect and update (Bts:issue1993) * bookmarks: add a bookmark([name]) revset for referencing bookmarks * transplant: add a transplanted(set) revset to get transplanted revisions === hgweb === * add a help view for accessing the built-in documentation (see help link in hg serve) * let HTTPS serve use more compatible but less secure encryption * support very simple caching model (Bts:issue1845) === Extensions === * color: better support for branches and mq guards * convert: handle closed branch heads in hg-hg conversion (Bts:issue2185) * convert: support darcs changelogs with bytes 0x7F-0xFF (Bts:issue2411) * convert: deprecate `--authors` in preference for `--authormap` * graphlog: support header and footer templates when using styles (Bts:issue2395) * keyword: do not expand at all during diff * keyword: support copy and rename * mq: extend support for the `--mq` argument to extension commands * mq: save qrefresh message for easy recovery in case it fails (Bts:issue2062) * mq: support `hg qimport --existing --name renametothis thatexistingpatch`, fix `--force` case on Windows * mq/qqueue: support renaming of active queue * mq/qqueue: add `--purge` option to delete a queue and its patches * pager: add global `--pager=<auto/boolean>` option * pager: don't run pager if nothing is written to stdout/stderr * patchbomb: add `--confirm` option to show series details and ask for confirmation * patchbomb: let diffstat prompt only once with complete summary * progress: support rebase and patchbomb * rebase: re-add patches to mq repo after rebase * strip: add `--keep` flag to avoid modifying working directory during strip * strip: rename `--nobackup` option to `--no-backup` (Bts:issue2377) * strip: support stripping multiple revisions === contrib === * mergetools.hgrc: add vimdiff * zsh completion: support bookmarks and patchbomb extensions * zsh completion: add qpush --move option === Windows === * 64-bit Inno Setup installer * handle spaces in path to Python (Bts:issue2074) |
|
Line 176: | Line 265: |
== 1.5.3 - 2010-05-13 == This is an unscheduled bugfix release to fix Issue2181 (commit generates traceback on Nonetype). Also included: |
== 1.5.3 (2010-05-13) == This is an unscheduled bugfix release to fix Bts:issue2181 (commit generates traceback on Nonetype). Also included: |
Line 182: | Line 271: |
== 1.5.2 - 2010-05-01 == | == 1.5.2 (2010-05-01) == |
Line 215: | Line 304: |
== 1.5.1 - 2010-04-01 == | == 1.5.1 (2010-04-01) == |
Line 230: | Line 319: |
== 1.5 - 2010-03-06 == | == 1.5 (2010-03-06) == |
Line 270: | Line 359: |
== 1.4.3 - 2010-02-01 == This is a scheduled bugfix release. * Mercurial license has changed from GPLv2 to GPLv2+ * speed up copy detection in merge, status, and diff * templates: fix relative path expansion on style setting * merge: fix merging of already-merged subrepos * summary: fix i18n issue reporting clean working directories * hgweb: improve IIS PATH_INFO handling * relink: Windows support == 1.4.2 - 2010-01-01 == This is a minor bugfix release. === core === * config: raise ConfigError on non-existing include files * alias: do not crash when aliased command has no usage help text * auth: allow specifying auth sections in .hg/hgrc * patch: fix handling of chunk offsets * subrepo: add default path to new clones * docs: Fix rst2html detection === extensions === * convert/svn: better handling of hg recursive call failure * convert/svn: make sink recover gracefully from empty changeset * keyword: fix interaction with transplant * mq: preserve --git flag when folding and merging patches * mq: qnew -f rejects merge working directories * mq: qpop: remove added files before re-adding removed files * patchbomb: handle repository#rev URLs correctly * share: use defaultdest to compute unspecified destination == 1.4.1 - 2009-12-01 == === regression fixes === * fix to prepush logic when it creates new heads * fix qseries truncation === other === * doc fixes: formatting, missing options * tests fixes (now less dependent on environment variables) * inotify fixes * keyword: allow RCSfile like CVS * share: fix a bad interaction with clone * show non-default branch names with summary -q * new [[SchemesExtension|schemes extension]] * i18n updates == 1.4 - 2009-11-16 == === core === * summary: new command summarizes current working state * tags: new tag cache greatly speeds up tag operations * diff: new `--stat` option to show diffstat * diff: add `--reverse` option to diff * subrepo: fix a bunch of issues with the experimental subrepo extension * status: fixes for behavior when working with clock skew * clone: new `-u/--updaterev` option * templater: new `latesttag` and `latesttagdistance` keywords * push/pull: handle some broken pipe errors during large transfers * config: environment variables and `~user` constructs are expanded in pathnames === hgweb === * fix for showing header lines in raw changeset diffs * try to send better error messages to the client * use config-supplied ordering by default in hgwebdir index pages * add `web.descend` option to disable showing all nested repositories in hgwebdir === documentation and help === * new config help topic * help texts are now written in [[http://docutils.sourceforge.net/rst.html|reStructuredText]] format * many translation updates including a new Swedish translation * many help text updates and improvements === extensions === * mq: add `-1` options to qapplied/qunapplied * patchbomb: add a `--flag` option to set a flag value in the Subject header * patchbomb: correctly handle Unicode domains (using the IDNA encoding scheme) * color: improve colorization of the qseries command * inotify: cleaner code, fixed pattern handling * zeroconf: show repository descriptions * rebase: some performance and correctness fixes * extdiff: add 3-way diff for merge changesets * convert: handle directory renaming in Darcs, fixed file renaming * relink: new extension which helps people re-hardlink their clones === other === * contrib/shrink-revlog.py script that can significantly shrink some internal hg files * work around non-standard locale settings on OS X |
|
Line 360: | Line 361: |
* [[UpgradeNotes|Upgrade notes]] describe possible compatibility issues * Advice on [[UpgradingMercurial|upgrading Mercurial]] * [[WhatsNew/Archive|Archive]] of older release notes |
|
Line 361: | Line 365: |
* [[WhatsNew/Archive|Archive]] of older release notes | |
Line 363: | Line 366: |
Release Notes
Features and bugfixes in our latest releases.
Be sure to read the upgrade notes when upgrading.
Contents
(See archive for older versions.)
1. 1.7 (2010-11-01)
1.1. Core
filelog: improve cmp performances (issue2273)
patch: don't strip '#' lines from patch descriptions (issue2417)
- patch: when native patching fails (ui.patch is not set), don't retry with an external tool
- setup/hg: always load Mercurial from where it was installed.
- setup: user-friendly error message if Python headers are missing
store: new unsupported and experimental parentdelta format (see UpgradeNotes)
store: encode first period or space in filenames (issue1713)
url: expand environment variables in [auth] settings (issue2328)
url: check validity (notBefore/notAfter) using OpenSSL (issue2407)
1.2. Commands
- addremove: use similarity 100 by default
- alias: add support for shell command aliases starting with '!' (see [alias] in hgrc(5))
- backout: add --tool argument for specifying merge tool
- backout: backout linearly by default instead of branching and merging (use --merge to get the former behaviour)
dispatch: properly handle relative path aliases used with -R (issue2376)
- init: expand destination url as a configured paths
log: do not --follow file that is deleted and recreated later (issue732)
- merge: don't detect copies as "divergent renames", make error message more helpful
- merge: add --tool argument to merge and resolve
merge: handle no file parent in backwards merge (issue2364)
tags: do not fail if tags.cache is corrupted (issue2444)
- templater: add "hex" filter and "children" keywords (see hg help templating)
1.3. Subrepos
- support remapping of subrepository source paths (see [subpaths] in hgrc(5))
- make add, diff, incoming, outgoing and status commands recurse into subrepos with --subrepos/-S
- subrepo: add support for 'hg archive'
subrepo: fix status check on SVN subrepos (issue2445)
1.4. Revsets
- add id() and rev() to allow explicit references to changes by hash or rev (see hg help revsets)
- add min() function to complement max()
- add present() function to avoid lookup errors on possibly missing changesets
- rename tagged() to tag() and allow it to take an optional tag name
- strip: add revsets support
add revsets support to bisect and update (issue1993)
- bookmarks: add a bookmark([name]) revset for referencing bookmarks
- transplant: add a transplanted(set) revset to get transplanted revisions
1.5. hgweb
- add a help view for accessing the built-in documentation (see help link in hg serve)
- let HTTPS serve use more compatible but less secure encryption
support very simple caching model (issue1845)
1.6. Extensions
- color: better support for branches and mq guards
convert: handle closed branch heads in hg-hg conversion (issue2185)
convert: support darcs changelogs with bytes 0x7F-0xFF (issue2411)
convert: deprecate --authors in preference for --authormap
graphlog: support header and footer templates when using styles (issue2395)
- keyword: do not expand at all during diff
- keyword: support copy and rename
mq: extend support for the --mq argument to extension commands
mq: save qrefresh message for easy recovery in case it fails (issue2062)
mq: support hg qimport --existing --name renametothis thatexistingpatch, fix --force case on Windows
- mq/qqueue: support renaming of active queue
mq/qqueue: add --purge option to delete a queue and its patches
pager: add global --pager=<auto/boolean> option
- pager: don't run pager if nothing is written to stdout/stderr
patchbomb: add --confirm option to show series details and ask for confirmation
- patchbomb: let diffstat prompt only once with complete summary
- progress: support rebase and patchbomb
- rebase: re-add patches to mq repo after rebase
strip: add --keep flag to avoid modifying working directory during strip
strip: rename --nobackup option to --no-backup (issue2377)
- strip: support stripping multiple revisions
1.7. contrib
- mergetools.hgrc: add vimdiff
- zsh completion: support bookmarks and patchbomb extensions
- zsh completion: add qpush --move option
1.8. Windows
- 64-bit Inno Setup installer
handle spaces in path to Python (issue2074)
2. 1.6.4 (2010-10-01)
This is a monthly bugfix release.
- archive: set date to 1980 for very old zip files
bookmarks: fix _bookmarks/lookup() reentrancy issue (issue2016)
- color: add win32 support for non-black background
context: fix filectx.undelete() (issue2388)
convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354)
- convert/svn: fix broken symlink renames in svn sink
- core: use lexists() instead of exists() where appropriate
- hgweb: Fix memory leak when using hg commands over http repositories
- hgweb: correct Content-Type header values for archive downloads
log: include unmodified-in-merge files in log diff/stat (issue2383)
mq: always require --force when pushing patches (issue2363)
- patch: do not overwrite broken untracked symlinks
patch: fix rename text to binary file (issue2400)
patch: fix target when patching broken symlinks (issue2368)
- patch: upgrade to git patch when removing binary file
- rename: do not overwrite existing broken symlinks
url: verify correctness of https server certificates (issue2407)
util: avoid using hashlib on Python < 2.5 (issue2278)
- verify: fix "missing revlog!" errors for revlog format v0 and add test
- win32: add Emacs scripts to Inno Setup installer
- win32: add hgweb scripts to Inno Setup installer
3. 1.6.3 (2010-08-26)
This is a monthly bugfix release. It includes several significant fixes, including a fix for a long-standing hardlink corruption issue on Windows (issue761).
alias: make shadowing behavior more consistent (issue2054)
- bisect: better message for unrelated starting revisions
- bookmarks: Check if the bookmark to delete exists on the remote
- bookmarks: guard against listing bookmarks on unsupported repos
- chunkbuffer: use += rather than cStringIO to reduce memory footprint
- convert: Using --dest-type svn crashed, if the source repo used tags.
- convert: properly set encoding for gnuarch converter
- convert: use encoding.encoding instead of locale.getpreferredencoding()
- encoding: improve handling of buggy getpreferredencoding() on Mac OS X
- graphlog: mark --branch as incompatible with --graph
http basic auth: reset redirect counter on new requests (issue2255)
- httprepo: decompress stream incrementally to reduce memory usage
- log: fix the bug 'hg log --stat -p == hg log --stat'
- mercurial.spec: gettext is a build requirement for getting proper localization
- merge: drop reference to file contents after write
merge: move reverse-merge logic out of filemerge (issue2342)
- merge: fix detection of conflict markers with checkconflicts enabled
mq: don't inherit default and default-push paths with --mq (issue2333)
- resolve: updated help documentation for improved clarity
- revlog: drop cache after use to save memory footprint
- templatefilters: unnest uescape()
templates: add filenolink to raw style (issue2332)
url: expand vars in all [auth] settings (issue2328)
url: limit expansion to safe auth keys (Issue2328)
util: avoid using hashlib on Python < 2.5 (issue2278)
- verify: initialize rp variable in case we hit out of memory
- verify: reduce memory footprint when unpacking files
- verify: report exceptions that don't have a str() method
win32: correctly break hardlinks on network drives (issue761)
4. 1.6.2 (2010-08-02)
This release addresses a regression in the color extension.
color: pass write/write_err to win32print correctly (issue2312)
- convert/progress: use plural and avoid retrieving
- color: call correct superclass method in write_err
5. 1.6.1 (2010-08-01)
This is a scheduled monthly minor bugfix release.
alias: ensure checksignature() is applied directly to the command (issue2286)
bash/zsh completion: use HGPLAIN when invoking hg (issue2297)
- bookmarks: don't allow name to contain whitespaces only
- bookmarks: ensure current bookmark is updated when specified with -r .
- bundle: lookup revisions after addbranchrevs
color/progress: subclass ui instead of using wrapfunction (issue2096)
- commit: only warn when reopening the workdir's branch
dispatch: give better error message when cwd doesn't exist (issue2293)
- doc: make sure we use our own code for generating man pages
filelog: cmp: don't read data if hashes are identical (issue2273)
- filelog: test behaviour for data starting with "\1\n"
hg.clone: fix branch value when passing a repo object (issue2267)
- hgweb.wsgi: add a URL to the corresponding wiki documentation
- hgwebdir: allow pure relative globs in paths
hgwebdir: use template paths configured in the hgrc (issue2281)
- init: create target directory recursively
inotify: check all components of filenames against hgignore (issue884)
keyword: move collecting of [keyword] patterns to reposetup (issue2303)
- log: fix missing diff output for hg log -p in subdirectory
log: follow filenames through renames (issue647)
- mail: ensure that Python2.4 to 2.7 use the same header format
mercurial.spec: rename docutils to python-docutils in BuildRequires
- mq: clarify the fact that qimport is trying to read a file
mq: cleanup status if applied mq is stripped (issue1881)
- mq: fixed ENOENT when qrename to new/directory.patch
- mq: reset self.added after the mq transaction instead of inside qimport
- qpush --move: move the right patch even with comment lines
- rebase: re-add patches to mq repo after rebase
revert: rename original to .orig instead of copying (issue2282)
revset: fix ancestor subset handling (issue2298)
- runrst: try to be more helpful if docutils is not installed
tag: do not allow tag names to consist solely of whitespace (issue2307)
- transplant: crash if repo.commit() finds nothing to commit
6. 1.6 (2010-07-01)
(This release makes a couple small behavior changes, be sure to read UpgradeNotes!)
6.1. Core
addremove: optimize addremove -s100 by matching files by their SHA1 hashes
archive: auto-detect archive type by extension (issue2058)
- commit: more friendly handling of new and closed named branches
- hooks: provide pre- and post- hooks with parsed command line arguments
log: add --branch for filtering on named branch
log: add --stat for diffstat output
push: add --new-branch option to allow initial push of new branches
push: break infinite http recursion bug with Python 2.6.5 (issue2179)
rollback: add -n/--dry-run flag, report what's being rolled back
- subrepo: various fixes
- summary: report copies and renames and add subrepo status
tag: add -e/--edit option for modifying the commit message
revsets: introduce a powerful query language for specifying revisions, see the manpage or hg help revsets
6.2. Hgweb
unify and simplify hgweb.cgi and hgwebdir.cgi scripts
fix race in refreshing repo list (issue2188)
simplify hgweb.cgi, add help pointer
- deliver shell hook output to client
allow --port=0 to specify "choose free port number automatically"
- improved templater performance
6.3. Help
- add new hgweb, glossary, and revsets topics
- numerous improvements to help text
6.4. Extensions
- acl: support for access control base on branches and user-defined or OS-level groups
acl: added support for pretxncommit, so that one can call the ACL hook at (?)
- bookmarks: add support for pushing and pulling bookmarks
- churn: add possibility to include/exclude paths
- color: add support for Windows consoles
- color: colorize based on output labels instead of parsing output
extdiff: add labels, read diff arguments from [merge-tools]
- keyword: offer svn-like default keywordmaps
- keyword: support (q)record
- mq: add a line to hg summary
mq: qpush --move, reorder patch series and apply only the patch
- progress: progress support for many more commands
- rebase: add option to not commit after a collapsing
7. 1.5.4 (2010-06-01)
This is a scheduled monthly minor bugfix release.
- dispatch: include Python version in traceback
- push: update help
- status: avoid performance regression when no .hgsub is present
- clone: fix performance issue with hardlinks and Windows shares
hgweb: fix race in refreshing repo list (issue2188)
- hgrc: clarify that hgrc keys can be overridden and sections can be split
eol: new extension for managing file newlines based on a version controlled configuration file
- pager: fork and exec pager as parent process with /bin/sh -c
- rebase: stress that only local changesets should be rebased
convert/svn: close gettags() log stream (issue2196)
- record: check that we are not committing a merge before patch selection
8. 1.5.3 (2010-05-13)
This is an unscheduled bugfix release to fix issue2181 (commit generates traceback on Nonetype). Also included:
- various improvements to SVN conversion support
- minor doc improvements
9. 1.5.2 (2010-05-01)
This is a monthly bugfix release with numerous minor fixes including:
9.1. Core
- clone: fix URL too long problem with many heads
- commands: revised documentation of 'default' and 'default-push'
- copies: properly visit file context ancestors on working file contexts
- diffstat: use ui.plain() instead of ui.interactive()
- dirstate: fix in memory dirstate entries for 1-second race
dispatch: don't mangle ImportError abort messages
- filemerge: use working dir parent as ancestor for backward wdir merge
- hgrc.5: describe form of config values and mention lists as well
hgweb: fix attribute error in error response (issue2060)
- log: document the new xml style
- merge: correctly compute the flag for noexec filesystems
- patch: don't look for headers in diff lines
- push: fix bug in warning message selection
revlog: fix lazyparser.iter() to return all revisions (issue2137)
static-http: allow clone -r (issue2164)
- subrepo: fix repo root path handling in svn subrepo
- subrepo: propagate and catch push failures
- templates: document missing template variables
- util: fix default termwidth() under Windows
- util: use an explicit prefix for checkexec/checklink temporary files
9.2. Extensions
- convert/cvs: skip bad tags
- convert/git: check status when reading output stream
- convert/subversion: fix default URL checker prototype
- mq: rewrite strip docstrings
- mq: use util.unlink instead of os.unlink and os.removedirs
schemes: fix // breakage with Python 2.6.5 (issue2111)
10. 1.5.1 (2010-04-01)
10.1. Core
- improve warning on adding large files
- expand ~ in auth filenames and aliases
- several improvements to patch parsing
- warn about attempts to use hg branch to switch branches
- push: fix bug in prepush logic and its tests
- hgweb: fix broken URLs of RSS/Atom feeds
- subrepo: several bug fixes
10.2. Extensions
- acl: added support for '*' (everyone) in user list
- progress: use stderr instead of stdout
- schemes: add Kiln On Demand to default schemes
11. 1.5 (2010-03-06)
(This release makes a number of small behavior changes, be sure to read UpgradeNotes!)
11.1. Core
improved behavior for named branches with heads command
- new XML output template for logs
import extract multiple patches from emails, mboxes, files, and URLs
new patch.eol=auto option to ignore patch line-endings while preserving target file endings.
new -b/--branch option for clone, bundle, incoming, outgoing, pull, and push
new server.validate option to validate completeness of pushed changesets
- subrepos now has basic Subversion support
- support for SSL server certificates and improved IPv6 support
the HGPLAIN environment variable makes output more stable for scripts
11.2. Extensions
mq: new --mq option to make regular commands operate on queue repository
- mq: automatically upgrade conventional patches to git format where needed
color: add support for bookmarks, resolve -l, and churn --diffstat
- convert: two CVS history editing hooks
- win32mbcs: add configuration to specify path encoding
- zeroconf: many bug fixes
rebase: new --detach option for rebase
11.3. Web Interface
- improve navigation on log and graph pages
- support for pluggable authorization
- raw templates for tags/branches pages
- add wsgi script for Microsoft IIS with isapi-wsgi
11.4. Windows
- add WiX installer scripts to contrib/wix
handle configuration files in <install-dir>\hgrc.d
- expand environment variables specified in merge tools paths
11.5. Help and Documentation
- greatly improve error messages and command documentation
- support extended documentation with --verbose
- provide help for disabled extensions and commands
12. See also
Upgrade notes describe possible compatibility issues
Advice on upgrading Mercurial
Archive of older release notes
API Changes for developers of third-party extensions