relnotes/6.7
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 07 Mar 2024 10:55:22 +0100
changeset 51531 f85f23f1479b
parent 51512 2e6fde2ed01e
child 51540 803e61387e86
permissions -rw-r--r--
branchcache: skip entries that are topological heads in the on disk file In the majority of cases, topological heads are also branch heads. We have efficient way to get the topological heads and efficient way to retrieve their branch information. So there is little value in putting them in the branch cache file explicitly. On the contrary, writing them explicitly tend to create very large cache file that are inefficient to read and update. So the branch cache v3 format is no longer including them. This changeset focus on the format aspect and have no focus on the performance aspect. We will cover that later.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51512
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     1
= Mercurial 6.7.1 =
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     2
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     3
Exceptional release following a crash found in delta code that can be triggered
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     4
with complex repository shapes.
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     5
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     6
 * delta-search: fix crash caused by unbound variable
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     7
 * sshpeer: fix path when handling invalid url exception
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     8
 * subrepo: fix normalizing paths with scheme
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
     9
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    10
= Mercurial 6.7 =
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    11
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    12
As usual, a *lot* of patches don't make it to this list.
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    13
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    14
== New Features ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    15
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    16
 * JSON templates can now use structured diffstat data
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    17
 * Support rhg status --rev --rev
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    18
 * The index for REVLOGv1 now has a Rust implementation
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    19
 * Improved `hg censor`'s output
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    20
 * censor: add a command flag to skip the head checks
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    21
 * censor: accept multiple revision in a single call
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    22
 * usage: add a `usage.repository-role` config
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    23
 * branchmap: use mmap for faster revbranchcache loading
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    24
 * crecord: enable search hotkeys (issue6834)
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    25
 * hg-core: separate timestamp and extra methods
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    26
 * annotate: limit output to range of lines
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    27
 * unbundle: faster computation of changed heads
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    28
 * Large improvements of some of the phases code (23950e39281f)
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    29
 * rust-filepatterns: export glob_to_re function
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    30
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    31
== New Experimental Features ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    32
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    33
 * Introduce `hg admin::chainsaw-update` for automation and *advanced* users
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    34
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    35
== Bug Fixes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    36
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    37
 * templatekw: fix inconsistency of diffstat with diff.merge
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    38
 * The endless stream of Python 3 cleanups continues
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
 * Improved setup.py robustness
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    40
 * Improved test suite robustness
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
 * add: don't attempt to add back removed files unless explicitly listed
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
 * statprof: handle `lineno == None` in more cases
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
 * rust: fix cargo doc for hg-cpython
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
 * rust-python-index: don't panic on a corrupted index when calling from Python
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
 * debugindexstats: handle the lack of Rust support better
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
 * matchers: use correct method for finding index in vector
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
 * narrow: strip trailing `/` from manifest dir before matching it
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
 * cext: fix potential memory leaks of list items appended with PyList_Append
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
 * doc: document that labels must have a dot in them to have an effect
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
 * debugformat: fix formatting for compression level
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    51
 * obsutil: sort metadata before comparing in geteffectflag()
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    52
 * crecord: drop calls to `curses.endwin()`
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    53
 * rust-index: don't use mutable borrow for head-diff computation
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    54
 * rust-index: don't use mutable borrow to computed filtered heads
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    55
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
== Backwards Compatibility Changes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
Users of the Rust extensions and/or `rhg` should be aware that the new Rust
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
index can result in a performance degradation for push/pull on repositories
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
*not* using `persistent-nodemap` (see `hg help config.format.use-persistent-nodemap`).
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
If this is something that matters to you, please reach out to us as this is not
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
an insurmountable obstacle. This is a choice base on the assumption that
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
there are few people in this situation and our time should be spent on more
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
pressing matters.
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
== Internal API Changes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
 * 62913:498017baa34b "cleanup: remove some code scheduled to be removed after 5.9"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
 * 62914:88ef80210d67 "cleanup: drop `dirstate.is_changing_parent` deprecated since 6.5"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
 * 62915:591845f89ada "cleanup: drop `path.pushloc` deprecated since 6.5"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    73
 * 62916:d8f65fc72e7b "cleanup: drop deprecated config attribute on the revlog class"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
 * 62917:5c9c41273367 "cleanup: turn `pathsuboption` deprecation warning into an error"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
 * 62918:7b837fabc990 "cleanup: turn `wrappedfunction` deprecation warning into an error"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
 * 62919:eda075d7b2ac "cleanup: turn `wrapfunction` deprecation warning into an error"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
 * 62920:c845479fc64d "cleanup: drop the `bytes` compatibility for attribute related function"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
 * 63464:dcaa2df1f688 "changelog: never inline changelog"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
 * 63465:a93e52f0b6ff "changelog: disallow delayed write on inline changesets"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    80
 * 63825:79cd29d598af "dirstate: make the `transaction` argument of `setbranch` mandatory"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
== Miscellaneous ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
 * perf: support --template on perf::phases
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
 * perf: add a --as-push option to perf::unbundle
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
 * debug: add a debug::unbundle command that simulate the unbundle from a push
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
 * Lots of refactorings to prepare for performance improvements and remove tech debt