relnotes/6.6
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 07 Mar 2024 04:15:23 +0100
changeset 51536 718f28ea3af4
parent 51366 3fd1efb3ad12
permissions -rw-r--r--
branchcache: add a "pure topological head" fast path In a narrow but actually quick common case, all topological heads are all on the same branch and all open. In this case, computing the branch map is very simple. We can quickly detect situation where this situation will not change. So we update the V3 format to be able to express this situation and upgrade the update code to detect we remains in that mode. The branch cache is populated with the actual value when the branch map is accessed, but the update_disk method can do the update without needing to populate it.

= Mercurial 6.6.3 =

 * tests: don't use "status" operand of dd in test-censor.t (issue6858)
 * tests: make sha256line.py available for all tests
 * tests: use sha256line.py instead of /dev/random in test-censor.t (issue6858)
 * tests: fix nondeterministic test failure in test-contrib-perf.t
 * rust-changelog: don't panic on empty file lists
 * grep: restore usage of --include/--exclude options

 = Mercurial 6.6.2 =

 * histedit: remove superfluous echo() and endwin() calls (issue6859)
 * persistent-nodemap: avoid writing nodemap for empty revlog
 * persistent-nodemap: respect the mmap setting when refreshing data
 * bundle: do not detect --base argument that match nothing as lack of argument
 * narrow: prevent removal of ACL-defined excludes
 * pycompat: fix bytestr(bytes) in Python 3.11

= Mercurial 6.6.1 =

The first two patches fix aborted transactions that could happen since 6.6.

 * revlog: avoid exposing delayed index entry too widely in non-inline revlog
 * revlog: avoid wrongly updating the data file location on "divert"
 * tests: do not fail tests in a state with uncommitted .py file removal
 * perf-tags: fix the --clear-fnode-cache-rev code
 * perf-tags: fix clear_cache_fnodes to actually clear that cache
 * censor: fix things around inlining
 * Various Python 3 cleanups
 * Various Windows test suite fixes

= Mercurial 6.6 =

As usual, a *lot* of patches don't make it to this list.

== New Features ==
 * rust-config: add support for default config items
 * rhg: add config defaults to configitems.toml
 * rhg: support "status FILE"
 * rhg: support rhg files [FILE]
 * commands: add admin namespace
 * admin-command: add verify command
 * debug-delta-chain: add options to control what we compute
 * Added some caching for uncompressed revlog chunks that speed up some operations

== New Experimental Features ==

== Bug Fixes ==
 * Improve OpenVMS support
 * byteify-strings: passe sysstr to attr function and wrapper
 * journal: track bookmark deletion
 * transaction: actually delete file created during the transaction on rollback
 * pull: avoid referencing a variable before it is initialized
 * rust-filepatterns: also normalize RelPath
 * narrow: hoist a variable to a higher level to avoid use-before-init warning
 * convert: stabilize subversion date sorter
 * run-tests: detect HGWITHRUSTEXT value
 * censor: accept censored revision during upgrade
 * rust-matchers: fix quadratic complexity in `FileMatcher`
 * unstable: do not consider internal phases when computing unstable
 * Still a whole bunch of Python 2 -> 3 migration leftovers

== Backwards Compatibility Changes ==
 * perf: display all timing by default
 * infinitepush: drop the extension
 * debug-delta-chain: print less data by default

== Internal API Changes ==

 * The revlog interface has been significantly cleaned up.
 * configitems: add `documentation` field
 * configitems: declare items in a TOML file
 * configitems: move blackbox's config items to the new configitems.toml
 * path-suboption: deprecated specifying the attributes as bytes
 * pycompat: deprecate using bytes
 * check-code: drop the `safehasattr` rule
 * safehasattr: drop usage in favor of hasattr
 * rust: add `UncheckedRevision` type
 * rust: implement the `Graph` trait for all revlogs
 * rust: make `Revision` a newtype
 * perf: change the way we approach revlog reading
 * perf: ensure all readlog's reading is done within a `reading` context
 * delta-chain: move the debugdeltachain command in revlogutils

== Miscellaneous ==