branchcache: rework the `filteredhash` logic to be more generic
We now have a more flexible `key_hashes` tuple. We duplicated various logic in
the V2 and V3 version of the cache as the goal is to start changing the logic
for V3 in the next few changesets.
= 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 ==