view relnotes/6.7 @ 51546:f376c4d5c4b6

perf-stream-locked-section: advertise the right version key in the help As the v3 format is still experimental, its key is "v3-exp". The help text was not pointing that out. (we also fix `perf::stream-generate` in the process)
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 26 Mar 2024 08:43:20 +0000
parents 803e61387e86
children 028dc3f92dbd
line wrap: on
line source

= Mercurial 6.7.2 =

Exceptional release following a large performance regression when cloning.

We are setting up automated benchmarks to reduce the likelihood of regressions
of the sort from happening in the future.

 * phases: avoid a potentially costly dictionary interation in some case
 * phases: update the phase set as we go during retract boundary
 * bundle2: make the "hgtagsfnodes" part advisory

= Mercurial 6.7.1 =

Exceptional release following a crash found in delta code that can be triggered
with complex repository shapes.

 * delta-search: fix crash caused by unbound variable
 * sshpeer: fix path when handling invalid url exception
 * subrepo: fix normalizing paths with scheme

= Mercurial 6.7 =

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

== New Features ==

 * JSON templates can now use structured diffstat data
 * Support rhg status --rev --rev
 * The index for REVLOGv1 now has a Rust implementation
 * Improved `hg censor`'s output
 * censor: add a command flag to skip the head checks
 * censor: accept multiple revision in a single call
 * usage: add a `usage.repository-role` config
 * branchmap: use mmap for faster revbranchcache loading
 * crecord: enable search hotkeys (issue6834)
 * hg-core: separate timestamp and extra methods
 * annotate: limit output to range of lines
 * unbundle: faster computation of changed heads
 * Large improvements of some of the phases code (23950e39281f)
 * rust-filepatterns: export glob_to_re function

== New Experimental Features ==

 * Introduce `hg admin::chainsaw-update` for automation and *advanced* users

== Bug Fixes ==

 * templatekw: fix inconsistency of diffstat with diff.merge
 * The endless stream of Python 3 cleanups continues
 * Improved setup.py robustness
 * Improved test suite robustness
 * add: don't attempt to add back removed files unless explicitly listed
 * statprof: handle `lineno == None` in more cases
 * rust: fix cargo doc for hg-cpython
 * rust-python-index: don't panic on a corrupted index when calling from Python
 * debugindexstats: handle the lack of Rust support better
 * matchers: use correct method for finding index in vector
 * narrow: strip trailing `/` from manifest dir before matching it
 * cext: fix potential memory leaks of list items appended with PyList_Append
 * doc: document that labels must have a dot in them to have an effect
 * debugformat: fix formatting for compression level
 * obsutil: sort metadata before comparing in geteffectflag()
 * crecord: drop calls to `curses.endwin()`
 * rust-index: don't use mutable borrow for head-diff computation
 * rust-index: don't use mutable borrow to computed filtered heads


== Backwards Compatibility Changes ==

Users of the Rust extensions and/or `rhg` should be aware that the new Rust
index can result in a performance degradation for push/pull on repositories
*not* using `persistent-nodemap` (see `hg help config.format.use-persistent-nodemap`).

If this is something that matters to you, please reach out to us as this is not
an insurmountable obstacle. This is a choice base on the assumption that
there are few people in this situation and our time should be spent on more
pressing matters.

== Internal API Changes ==

 * 62913:498017baa34b "cleanup: remove some code scheduled to be removed after 5.9"
 * 62914:88ef80210d67 "cleanup: drop `dirstate.is_changing_parent` deprecated since 6.5"
 * 62915:591845f89ada "cleanup: drop `path.pushloc` deprecated since 6.5"
 * 62916:d8f65fc72e7b "cleanup: drop deprecated config attribute on the revlog class"
 * 62917:5c9c41273367 "cleanup: turn `pathsuboption` deprecation warning into an error"
 * 62918:7b837fabc990 "cleanup: turn `wrappedfunction` deprecation warning into an error"
 * 62919:eda075d7b2ac "cleanup: turn `wrapfunction` deprecation warning into an error"
 * 62920:c845479fc64d "cleanup: drop the `bytes` compatibility for attribute related function"
 * 63464:dcaa2df1f688 "changelog: never inline changelog"
 * 63465:a93e52f0b6ff "changelog: disallow delayed write on inline changesets"
 * 63825:79cd29d598af "dirstate: make the `transaction` argument of `setbranch` mandatory"

== Miscellaneous ==

 * perf: support --template on perf::phases
 * perf: add a --as-push option to perf::unbundle
 * debug: add a debug::unbundle command that simulate the unbundle from a push
 * Lots of refactorings to prepare for performance improvements and remove tech debt