Differences between revisions 3 and 4
Revision 3 as of 2024-03-21 11:28:58
Size: 4102
Editor: RaphaelGomes
Comment:
Revision 4 as of 2024-03-29 20:40:42
Size: 4521
Editor: RaphaelGomes
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= 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.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

Release6.7 (last edited 2024-03-29 20:40:42 by RaphaelGomes)