7849
Comment: remove note about draft - 4.0 is released
|
1471
remove draft changelog (not full changelog, also redundant), reference WhatsNew
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#pragma section-numbers 2 |
|
Line 20: | Line 18: |
---- == Raw draft changelog == === commands === * annotate: calculate line count correctly * branchmap: acquires lock before writting the rev branch cache * branchmap: simplify error handlind when writing rev branch cache * commit: return 1 for interactive commit with no changes (Bts:issue5397) * config: add template support * copy: distinguish "file exists" cases and add a hint (BC) * debugextension: change "testedwith" to a list (BC) * debugextensions: hide "ships-with-hg-core" magic string (BC) * debugobsolete: add formatter support (Bts:issue5134) * debugrevspec: deprecate --optimize option * files: change documentation to match its behaviour (Bts:issue5276) * flags: allow specifying --no-boolean-flag on the command line (BC) * graphlog: preserve topo sort even if additional filter options specified * grep: add formatter support * grep: build list of all columns regardless of display options * help: show content for explicitly disabled extension (Bts:issue5228) * import: abort instead of crashing when copy source does not exist (Bts:issue5375) * import: report directory-relative paths in error messages (Bts:issue5224) * log: copy the way of ancestor traversal to --follow matcher (Bts:issue5376) * log: drop hack to fix order of revset (Bts:issue5100) * log: drop outdated optimization to walk revisions in reverse order * log: unroll loop that populates file paths for --patch --follow matcher * merge: add conflict labels to merge command * pull: grab wlock during pull * update: warn if cwd was deleted === core === * auditvfs: forward options property from nested vfs * bundle2: remove 'experimental.bundle2-exp' boolean config (BC) * bundlerepo: add support for treemanifests in cg3 bundles * changelog: disable delta chains * changelog: specify checkambig=True to avoid ambiguity around truncation * copies: make _checkcopies handle copy sequences spanning the TCA (Bts:issue4028) * demandimport: add 'nt' to ignore list (Bts:issue5373) * demandimport: error out early on missing attribute of non package (Bts:issue5373) * demandimport: import sub-module relatively as expected (Bts:issue5208) * demandimport: omit default value of "level" at construction of _demandmod * deprecation: enforce thew 'tr' argument of 'dirstate.write' (API) * dispatch: explicitly pass fancyopts optional arg as a keyword * dispatch: set profiling.enabled when profiling is enabled * exchange: refactor APIs to obtain bundle data (API) * extdiff: isolate path variable of saved command to independent paragraph * formatter: add function to convert list to appropriate format (Bts:issue5217) * formatter: introduce isplain() to replace (the inverse of) __nonzero__() (API) * getchangegroup: take an 'outgoing' object as argument (API) * hg: set default path correctly when doing a clone+share (Bts:issue5378) * localrepo: make invalidate avoid invalidating store inside transaction (API) * lock: show more detail for new-style locks in lock waiting message (Bts:issue4752) * match: remove matchessubrepo method (API) * mpatch: change Py_ssize_t to ssize_t in places that will be later copied * mpatch: change lalloc() to local function * mpatch: provide things that will be exported later with a prefixed name * mpatch: raise MemoryError instead of mpatchError if lalloc() failed * mpatch: remove dependency on Python.h in mpatch.c * mpatch: silence warning about maybe-uninitialized variable * mpatch: write a cffi version of mpatch.patches * profiling: make profiling functions context managers (API) * profiling: move profiling code from dispatch.py (API) * py3: test to check which commands run * revlog: add instance variable controlling delta chain use * revlog: make code in builddelta() slightly easier to read * revlog: specify checkambig at writing to avoid file stat ambiguity * revlog: use an LRU cache for delta chain bases * revset: add option to make matcher takes the ordering of the input set * revset: do not rewrite ':y' to '0:y' (Bts:issue5385) * revset: fix order of nested '_(|int|hex)list' expression (BC) * revset: fix order of nested 'or' expression (BC) * revset: fix order of nested 'range' expression (BC) * revset: make reverse() noop depending on ordering requirement (BC) * revset: make sort() noop depending on ordering requirement (BC) * revset: support "follow(renamed.py, e22f4f3f06c3)" (Bts:issue5334) * ssl: handle a difference in SSLError with pypy (Bts:issue5348) * streamclone: clear caches after writing changes into files for visibility * streamclone: force @filecache properties to be reloaded from file * template: provide a termwidth keyword (Bts:issue5395) * templater: add inheritance support to style maps * templater: add relpath() to convert repo path to relative path (Bts:issue5394) * templater: make pad() evaluate boolean argument (BC) * util: rename checkcase() to fscasesensitive() (API) * version: add formatter support * wireproto: remove gboptslist (API) * wireproto: unescape argument names in batch command (BC) === extensions === * journal: properly check for held lock (Bts:issue5349) * journal: use fm.formatdate() to pass date tuple in appropriate type (BC) * journal: use fm.formatlist() to pass hashes in appropriate type (BC) * journal: use fm.hexfunc() to get full hash in JSON/template output (BC) * largefiles: always use filechunkiter when iterating files * largefiles: fix 'deleted' files sometimes persistently appearing with R status * largefiles: more safe handling of interruptions while updating modifications * largefiles: test coverage of fatal interruption of update * largefiles: use context for file closing * largefiles: when setting/clearing x bit on largefiles, don't change other bits * mq: release lock after transaction in qrefresh * mq: take wlock when 'qqueue' is doing write operations * rebase: make debug logging more consistent * rebase: properly calculate total commits to rebase (Bts:issue5347) * rebase: rebase changesets in topo order (Bts:issue5370) (BC) * strip: report both bundle files in case of exception (Bts:issue5368) === hgweb === * hgweb: avoid line wrap between revision and annotate-info (Bts:issue5398) * hgweb: config option to control zlib compression level |
A full overview is available on WhatsNew. |
Mercurial 4.0 release
Features
The following commands now also have experimental formatter support: 'hg version', 'hg grep' and 'hg config'
New template keywords and functions: termwidth, mod(a, b), relpath(path)
Basic arithmetic operations in template such as termwidth - 10
follow() revset takes new startrev parameter
Bash completion now allows skipping potentially expensive status call for completing 'hg status' arguments, using $HGCOMPLETE_NOSTATUS environment variable
Improvements
- A number of changes were made to move and copy tracking, to make sure move and copy information is not lost during commands like 'hg graft'
- Compound revset expression is now properly ordered
- Performance of client-side application of bundle data for generaldelta repos has been significantly improved. This makes 'hg clone', 'hg pull', and 'hg unbundle' operations faster. Cloning the Firefox repository now consumes 70+s less CPU time and completes over a minute faster (when not network or I/O bound).
- The storage and transfer of changeset data has been optimized to improve read performance
- Python 3 support has received a lot of improvements (but will take a lot of additional work)
- zlib performance in hgweb is improved, and it's possible to control zlib compression level using server.zliblevel option
A full overview is available on WhatsNew.