relnotes/6.7
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Fri, 26 Apr 2024 19:10:35 +0100
changeset 51626 865efc020c33
parent 51620 028dc3f92dbd
permissions -rw-r--r--
dirstate: remove the python-side whitelist of allowed matchers This whitelist is too permissive because it allows matchers that contain disallowed ones deep inside, for example through `intersectionmatcher`. It is also too restrictive because it doesn't pass through some of the matchers we support, such as `patternmatcher`. It's also unnecessary because unsupported matchers raise `FallbackError` and we fall back anyway. Making this change makes more of the tests use rust code path, and therefore subtly change behavior. For example, rust status in largefiles repos seems to have strange behavior.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51620
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     1
= Mercurial 6.7.3 =
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     2
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     3
 * setup: display return code information about failed `hg` call
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     4
 * bundle-spec: properly identify changegroup-less bundle
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     5
 * bundle-spec: properly parse boolean configuration as boolean
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     6
 * matchers: fix the bug in rust PatternMatcher that made it cut off early
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     7
 * match: fix the "visitdir" method on "rootfilesin" matchers
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     8
 * match: fix the rust-side bug in visit_children_set for rootfilesin matchers
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
     9
 * match: strengthen visit_children_set invariant, Recursive means "all files"
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    10
 * wireprotoserver: ensure that output stream gets flushed on exception
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    11
 * re2: make errors quiet
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    12
 * dirstate-v2: add check of parent/child nodes being related when writing
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    13
 * dirstate-v2: check that root nodes are at the root before writing
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    14
 * rust-cpython: don't swallow the dirstate error message
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    15
 * rust: blanket implementation of Graph for Graph references
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    16
 * Various fixes to `admin::verify`
028dc3f92dbd relnotes: add 6.7.3
Raphaël Gomès <rgomes@octobus.net>
parents: 51540
diff changeset
    17
51540
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    18
= Mercurial 6.7.2 =
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    19
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    20
Exceptional release following a large performance regression when cloning.
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    21
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    22
We are setting up automated benchmarks to reduce the likelihood of regressions
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    23
of the sort from happening in the future.
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    24
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    25
 * phases: avoid a potentially costly dictionary interation in some case
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    26
 * phases: update the phase set as we go during retract boundary
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    27
 * bundle2: make the "hgtagsfnodes" part advisory
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
    28
51512
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
    29
= Mercurial 6.7.1 =
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
    30
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
    31
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
    32
with complex repository shapes.
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
    33
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
    34
 * 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
    35
 * 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
    36
 * subrepo: fix normalizing paths with scheme
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
    37
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    38
= Mercurial 6.7 =
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    40
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
    41
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
== New Features ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
 * JSON templates can now use structured diffstat data
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
 * Support rhg status --rev --rev
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
 * The index for REVLOGv1 now has a Rust implementation
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
 * Improved `hg censor`'s output
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
 * 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
    49
 * censor: accept multiple revision in a single call
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
 * usage: add a `usage.repository-role` config
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
 * branchmap: use mmap for faster revbranchcache loading
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    52
 * crecord: enable search hotkeys (issue6834)
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    53
 * hg-core: separate timestamp and extra methods
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    54
 * annotate: limit output to range of lines
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    55
 * unbundle: faster computation of changed heads
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
 * 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
    57
 * rust-filepatterns: export glob_to_re function
51440
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
== New Experimental Features ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
 * 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
    62
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
== Bug Fixes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
 * templatekw: fix inconsistency of diffstat with diff.merge
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
 * The endless stream of Python 3 cleanups continues
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
 * Improved setup.py robustness
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
 * Improved test suite robustness
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
 * 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
    70
 * statprof: handle `lineno == None` in more cases
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
 * rust: fix cargo doc for hg-cpython
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
 * 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
    73
 * debugindexstats: handle the lack of Rust support better
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
 * matchers: use correct method for finding index in vector
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
 * narrow: strip trailing `/` from manifest dir before matching it
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
 * 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
    77
 * 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
    78
 * debugformat: fix formatting for compression level
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    79
 * obsutil: sort metadata before comparing in geteffectflag()
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    80
 * crecord: drop calls to `curses.endwin()`
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
    81
 * 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
    82
 * 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
    83
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
== Backwards Compatibility Changes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
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
    88
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
    89
*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
    90
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    91
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
    92
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
    93
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
    94
pressing matters.
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    95
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    96
== Internal API Changes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    97
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    98
 * 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
    99
 * 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
   100
 * 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
   101
 * 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
   102
 * 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
   103
 * 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
   104
 * 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
   105
 * 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
   106
 * 63464:dcaa2df1f688 "changelog: never inline changelog"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   107
 * 63465:a93e52f0b6ff "changelog: disallow delayed write on inline changesets"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   108
 * 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
   109
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   110
== Miscellaneous ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   111
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   112
 * perf: support --template on perf::phases
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   113
 * perf: add a --as-push option to perf::unbundle
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   114
 * 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
   115
 * Lots of refactorings to prepare for performance improvements and remove tech debt