relnotes/6.5
author Matt Harbison <matt_harbison@yahoo.com>
Thu, 19 Sep 2024 21:03:10 -0400
changeset 51883 1edac12af730
parent 51115 c083d9776cb2
permissions -rw-r--r--
vfs: modernize the detection of the main thread There weren't a lot of good choices when py27 was supported, but starting with py34, `threading.main_thread()` is available. This gets us away from an undocumented, internal symbol, and drops a pytype suppression statement. It is also apparently no longer reliable after a process fork.[1][2] [1] https://stackoverflow.com/a/23207116 [2] https://github.com/python/cpython/blob/v3.6.3/Lib/threading.py#L1334
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51115
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     1
= Mercurial 6.5.3 =
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     2
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     3
 * "hgweb: pass strings in WSGI environment correctly from wsgicgi"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     4
 * "perf: introduce more cache invalidation option in perf::tags"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     5
 * "perf: add a `--clear-fnode-cache-rev` argument to perf::tags"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     6
 * "perf: add a --update-last flag to perf::tags"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     7
 * "blackbox: add a option to duplicate output to stderr too"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     8
 * "tags: avoid expensive access to repo.changelog in a loop"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
     9
 * "revlog: fix a bug where NULL_NODE failed to be resolved to NULL_REV"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
    10
 * "httppeer: fix static-http: scheme autodetection (issue6833)"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
    11
 * "tests: backed out changeset 8037ddacad47"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
    12
 * "stream-clone: fix a crash when a repo with an empty revlog is cloned"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
    13
 * "censor: accept censored revision during upgrade"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
    14
 * "revlog: avoid opening and closing the file for each cloned revision"
c083d9776cb2 relnotes: add 6.5.3
Raphaël Gomès <rgomes@octobus.net>
parents: 50933
diff changeset
    15
50933
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    16
= Mercurial 6.5.2 =
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    17
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    18
 * hgweb: encode WSGI environment using the ISO-8859-1 codec
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    19
 * rhg: fix the bug where sparse config is interpreted as relglob instead of glob
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    20
 * gpg: fix an UnboundLocalError whenever using --force
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    21
 * transaction: fix __repr__() and make the default name bytes
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    22
 * setup: make the error "Unable to find a working hg binary" more informative
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    23
 * tests: avoid test environment affecting setup.py
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    24
 * run-tests: detect HGWITHRUSTEXT value
5a8b54201039 relnotes: add 6.5.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50816
diff changeset
    25
50816
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    26
= Mercurial 6.5.1 =
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    27
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    28
 * A bunch of improvements to Python 3.12 compatibility
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    29
 * repoview: fix the filter created by `extrafilter`
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    30
 * Improve portability of the test suite
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    31
 * fncache: fix a bug that corrupts the fncache after transaction rollback
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    32
 * revlog: fix the naming scheme use by split temporary file
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    33
 * perf: fix perf::tags
787af4e0e8b7 relnotes: add 6.5.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50748
diff changeset
    34
50748
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
    35
= Mercurial 6.5 =
50720
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    36
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    37
As usual, a lot of patches don't make it to this list since they're more internal.
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    38
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
== New Features ==
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    40
50748
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
    41
 * Improved Python 3.12 compatiblity
50720
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
 * configitems: enable changegroup3 by default (unless using infinitepush)
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
 * extras: expose 'retained_extras' for extensions to extend
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
 * stabletailgraph: implement stable-tail sort
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
 * stabletailgraph: naive version of leap computation
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
 * bundle: introduce a "v3" spec
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
 * clone-bundles: add a basic first version of automatic bundle generation
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
 * clone-bundles: garbage collect older bundle when generating new ones
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
 * clone-bundles: only regenerate the clone bundle when cached ration is low
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
 * clone-bundles: also control automation based on absolute number of revisions
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
 * clone-bundles: add a configuration to control auto-generation on changes
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    52
 * clone-bundles: introduce a command to refresh bundle
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    53
 * clone-bundles: add a command to clear all bundles
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    54
 * clone-bundles: add an option to generate bundles in the background
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    55
 * clonebundles: add support for inline (streaming) clonebundles
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
 * clonebundles: adds a auto-generate.serve-inline option
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
 * match: add `filepath:` pattern to match an exact filepath relative to the root
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
 * hgweb: add "children" into the JSON template for a changeset
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
 * hgweb: add support to explicitly access hidden changesets
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
 * pull: add --remote-hidden option and pass it through peer creation
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
 * hidden: add support for --remote-hidden to HTTP peer
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
 * hidden: support passing --hidden with `serve --stdio`
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
 * hidden: add support to explicitly access hidden changesets with SSH peers
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
 * perf: introduce a `perf::stream-locked-section` command
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
 * perf: add a function to find a stream version generator
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
 * perf: add support for stream-v3 during benchmark
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
 * perf: add a perf::stream-generate command
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
 * perf: add a perf::stream-consume
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
 * cli: make debugnodemap capable of inspecting an arbitrary nodemap
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
 * rust: configure MSRV in Clippy
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
 * rhg: make `rhg files` work if `ui.relative-files=true` is specified
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
 * rhg: support `rhg files` with `ui.relative-paths=false`
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    73
 * rhg: support `status --print0`
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
 * tree-manifest: allow `debugupgraderepo` to run on tree manifest repo
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
 * library: enable runpy invocation on mercurial package
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
 * library: incorporate demandimport into runpy invocation
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
 * exchange: allow passing no includes/excludes to `pull()`
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
== New Experimental Features ==
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    80
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
 * stream-clone: add an experimental v3 version of the protocol
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
 * stream-clone: support streamv3 on the cli [hg bundle]
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
== Bug Fixes ==
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
 * mail: add a missing argument to properly override starttls
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
 * bundle: include required phases when saving a bundle (issue6794)
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    88
 * outgoing: fix common-heads computation from `missingroots` argument
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    89
 * strip: do not include internal changeset in the strip backup
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    90
 * bundle: abort if the user request bundling of internal changesets
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    91
 * bundle: prevent implicit bundling of internal changeset
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    92
 * encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    93
 * sha1dc: Make sure SHA1DC_BIGENDIAN is set on Darwin/PowerPC
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    94
 * zstd: hack include order to ensure that our zstd.h is found
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    95
 * dirstate: better error messages when dirstate is corrupted
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    96
 * stream-clone: avoid opening a revlog in case we do not need it
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    97
 * treemanifest: make `updatecaches` update the nodemaps for all directories
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    98
 * rust-hg-core: move from `ouroboros` to `self_cell`
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    99
 * rust-dependencies: switch from `users` to `whoami`
50748
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
   100
 * dirstate-v2: actually fix the dirstate-v2 upgrade race
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
   101
 * dirstate: avoid leaking disk space in `hg debugrebuilddirstate`
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
   102
 * clonebundles: add warning if auto-generate is enabled without formats
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
   103
 * win32mbcs: unbyteify some strings for py3 support
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
   104
 * rust-revlog: fix incorrect results with NULL_NODE prefixes
3ffc7209bbae relnotes: add 6.5 final
Raphaël Gomès <rgomes@octobus.net>
parents: 50720
diff changeset
   105
 * rust-revlog: fix RevlogEntry.data() for NULL_REVISION
50720
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   106
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   107
== Backwards Compatibility Changes ==
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   108
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   109
 * infinitepush: aggressively deprecated infinite push
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   110
 * narrow: indicated the default of 'Yes' when confirming auto-remove-includes
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   111
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   112
== Internal API Changes ==
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   113
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   114
 * Store walk was reworked to fix small race conditions in stream-clone and
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   115
   greatly improve its API robustness and flexibility.
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   116
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   117
== Miscellaneous ==
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   118
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   119
 * Typechecking support was improved in a lot of places
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   120
 * Removed more useless compat code for now unsupported Python versions
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   121
 * Sped up zstd usage in Rust contexts
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   122
 * revlog: add an exception hint when processing LFS flags without the extension
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   123
 * ui: keep the progress bar around when writing if stdout is not a tty
bb42988c7e15 relnotes: add 6.5rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   124
 * transaction: use a ".bck" extension for all backup file