= Mercurial 6.2.2 = * fsmonitor: restore functionality by moving to new dirstate APIs * dirstate-v2: fix data file transaction handling (issue6730) * rust: fix behavior when matching files with multiple includes * rust: widen range of compatible crates to help with packaging * rust-status: ignored directories are now correctly only listed if opted into * automation: improve Windows packaging tooling * contrib: update Mercurial install in bootstrap environment * Remove flakiness in some tests * Improve portability of certain `tar` uses in tests = Mercurial 6.2.1 = * Fix SSL support in Python 3.6 * git: make sure to fsdecode bookmark names everywhere (issue6723) * git: add a missing reset_copy keyword argument to dirstate.set_tracked() * git: copy findmissingrevs() from revlog.py to gitlog.py (issue6472) * packaging: update keyring on Windows to avoid spurious stacktraces * packaging: bump dulwich to 0.20.45 * Fix typos in documentation for debugdiscovery * Miscellaneous improvements of debugdiscovery = Mercurial 6.2rc0 = '''This is the first release to support Python 3.6+ ''only''''' == New Features == * Introduce a way to auto-upgrade a repo for certain requirements (see `hg help config.format`) * filemerge: add support for partial conflict resolution by external tool * contrib: add a partial-merge tool for sorted lists (such as Python imports) * revlog: reorder p1 and p2 when p1 is null and p2 is not while respecting issue6528 * rhg: add support for ignoring all extensions * completion: install completers to conventional locations * revert: ask user to confirm before tracking new file when interactive * Rust implementation now uses the new dirstate API * sslutil: be less strict about which ciphers are allowed when using --insecure * sslutil: support TLSV1_ALERT_PROTOCOL_VERSION reason code * absorb: make `--edit-lines` imply `--apply-changes` * diff: add help text to highlight the ability to do merge diffs * censor: make rhg fall back to python when encountering a censored node * clone: use better names for temp files * debuglock: make the command more useful in non-interactive mode * debugdeltachain: distinct between snapshot and other diffs * debugindex: rename to debugindex debug-revlog-index * Make debug-revlog-index give out more information * sparse: use the rust code even when sparse is present == Bug Fixes == * Python 3 bugfixes * Windows bugfixes * templates: make `firstline` filter not keep '\v', '\f' and similar * rhg: sort unsupported extensions in error message * Improve performance of all functions that extract the first line of a text * crecord: avoid duplicating lines when reverting noeol->eol change * Some config.path options are now discoverable via config * mail: don't complain about a multi-word email.method * bundlespec: do not overwrite bundlespec value with the config one * bundlespec: do not check for `-` in the params portion of the bundlespec * bundlespec: handle the presence of obsmarker part * sparse: start moving away from the global variable for detection of usage * rust-changelog: don't skip empty lines when iterating over changeset lines * narrow: support debugupgraderepo * bundle: quick fix to ludicrous performance penalty * followlines: don't put Unicode directly into the .js file (issue6559) * manifest: improve error message in case for tree manifest * revlog: use %d to format int instead of %lu (issue6565) * revlog: use appropriate format char for int ("i" instead of I") * worker: stop relying on garbage collection to release memoryview * worker: implement _blockingreader.readinto() (issue6444) * worker: avoid potential partial write of pickled data == Backwards Compatibility Changes == * '''Removed Python 2 support''': this includes a lot of cleanup in our codebase, automation, testing, etc. * debugindex: rename to debugindex debug-revlog-index == Miscellaneous == * Fix typos and add missing items from documentation * dirstate-tree: optimize HashMap lookups with raw_entry_mut * Rust dependencies have been upgraded * revlog: rank computation is done by Rust when available * Improve discovery test tooling * Audit the number of queries done in discovery * Improved .hgignore of the mercurial-devel repository itself * Improve test coverage of dirstate-v2 * rust-requirements: allow loading repos with `bookmarksinstore` requirement * Various Rust refactorings to help with revlog management * Improve debugability of Rust structs * Improve unit testing of the Rust dirstatemap * Improve robustness of the Rust dirstatemap to corruption * Improve changelog-v2 upgrade system