relnotes/6.4
author Raphaël Gomès <rgomes@octobus.net>
Tue, 02 May 2023 15:40:13 +0200
branchstable
changeset 50363 b4b1791f36e4
parent 50351 de2102390910
child 50367 fc445f8abcf9
permissions -rw-r--r--
repo-upgrade: write new requirement before upgrading the dirstate This will prevent a small race condition where another hg process still believes the repo is dirstate-v1 during the upgrade process. This is good to have, but it is not a proper fix for the underlying problem. There is code that assumes a requirement means a usage, e.g. having the `generaldelta` requirement would imply *all* revlogs to use general delta, but it's not true, it simply means that the repository advertises to the client it needs to understand `generaldelta` in order to read the repo. In the case of the dirstate, having the requirement *technically* should always be the same as using dirstate-v2, since there is only one dirstate and requirements should be as minimal as possible. However, we should not assume this and make the code more robust in a future patch (series).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50351
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     1
= Mercurial 6.4.2 =
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     2
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     3
Exceptional bugfix release due to a corruption bug that happens when using
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     4
clonebundles on repositories with large files.
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     5
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     6
 * revlog-split: make sure the self._indexfile attribute is reset (issue6811)
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     7
de2102390910 relnotes: add 6.4.2
Raphaël Gomès <rgomes@octobus.net>
parents: 50343
diff changeset
     8
50343
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
     9
= Mercurial 6.4.1 =
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    10
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    11
 * rhg: fix a bug in path encoding
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    12
 * rhg: don't crash on empty directory names in path_encode, just in case
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    13
 * commands: correct documentation of hg serve’s --ipv6 options
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    14
 * run-tests: remove obsolete coverage check and packaging import (issue6805)
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    15
 * chg: populate CHGHG if not set
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    16
 * match: sort patterns before compiling them into a regex
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    17
 * match: match explicit file using a set
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    18
 * rebase: do not cleanup the working copy when --dry-run is used (issue6802)
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    19
 * sslutil: set context security level for legacy tls testing (issue6760)
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    20
83ea6ce48b4f relnotes: add 6.4.1
Raphaël Gomès <rgomes@octobus.net>
parents: 50326
diff changeset
    21
50326
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
    22
= Mercurial 6.4 =
50272
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    23
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    24
== New Features ==
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    25
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    26
 * There is a new internal merge tool called `internal:union-other-first`.
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    27
   It works like `internal:union` but add other side on top of local.
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    28
 * Pullbundles are enabled by default
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    29
 * delta-find: add a way to control the number of bases tested at the same time
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    30
 * changelog-v2: add a configuration to disable rank computation
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    31
 * debug: add an option to display statistic about a bundling operation
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    32
 * debug: add an option to display statistic about a unbundling operation
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    33
 * delta-find: add a delta-reuse policy that blindly accepts incoming deltas
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    34
 * debug: add debug-revlog-stats command
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    35
 * dirstate: add narrow support to `verify`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    36
 * verify: also check dirstate
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    37
 * commit: add --draft option to use draft phase
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    38
 * amend: add a --draft option to set phase to draft
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    39
 * debug: add a config to abort update early
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    40
 * rhg: implement checkexec to support weird filesystems
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
 * debugshell: allow commands to be specified as a CLI argument
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
 * rhg-files: add support for narrow when specifying a revision
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
 * rust-narrow: enable narrow support for plain `rhg files`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
== Bug Fixes ==
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
Aside from the following (unordered) commits which made it through a manual filter, there are a bunch of typing improvements and fixes, removal of deprecated code and general code cleanup.
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
 * lfs: improve an exception message for blob corruption detected on transfer
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
 * revlog: use the user facing filename as the display_id for filelogs
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
 * rust-status: query fs traversal metadata lazily
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    52
 * shelve: add Shelf.changed_files for resolving changed files in a plugin
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    53
 * demandimport: ensure lazyloaderex sets loader attributes (issue6725)
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    54
 * typing: fix a syntax error in mercurial/cext/bdiff.pyi
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    55
 * cffi: fix a bytes vs str issue on macOS when listing directories
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
 * changelog-v2: fix the docket `struct`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
 * schemes: fix a broken check for drive letter conflicts
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
 * worker: avoid reading 1 byte at a time from the OS pipe
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
 * rust-narrow: fix loop that never loops
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
 * setup: Ensure target directory exists with building rust extension
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
 * dirstate: invalidate changes when parent-change fails
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
 * dirstate: warn about non-explicitly rolledback parent-change
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
 * dirstate: write dirstate on successful exit of changing_parents context
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
 * largefile: make sure we hold the lock when updating the second dirstate
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
 * dirstate: enforce holding the lock while doing any changes
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
 * run-tests: stop ignoring venv-installed packages
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
 * transaction: run abort callback in all cases
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
 * transaction: quietly rollback if no other changes than temporary files
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
 * debugrebuilddirstate: double check that no transaction is open
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
 * dirstate: do not write an empty dirstate just for backup
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
 * locking: take the `wlock` for the full `hg add` duration
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
 * locking: take the `wlock` for the full `hg remove` duration
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    73
 * locking: take the `wlock` for the full `hg forget` duration
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
 * locking: take the `wlock` for the full `hg addremove` duration
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
 * locking: grab the wlock before touching the dirstate in `perfdirstatewrite`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
 * locking: hold the wlock for the full duration of the "keyword demo"
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
 * mq: properly take the wlock during the full qfold operation
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
 * dirstate: invalidate the dirstate change on transaction failure
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
 * status: fix post status writing
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    80
 * status: fix post status invalidation
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
 * dirstate: avoid transaction backup/restore if we do not hold the lock
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
 * rollback: explicitly skip dirstate rollback when applicable
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
 * dirstate-guard: remove the feature
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
 * dirstate: make `restorebackup` more robust when it is a noop
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
 * dirstate: generalize the dirstate's invalidation on transaction abort
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
 * dirstate: detect potential fishy transaction patterns while changing
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
 * mq: write the dirstate before stripping
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    88
 * dirstate: explicitly backup the datafile
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    89
 * localrepo: enforce a clean dirstate when the transaction open
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    90
 * localrepo: "blindly" do a dirstate backup at the end of the transaction
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    91
 * dirstate: remove the dedicated backup logic
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    92
 * rhg: fix a bug in path_encode
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    93
 * dirstate: invalidate on all exceptions
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    94
 * large-files: make sure we write newly initialized standin file early
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    95
 * dirstate: warn if dirty when starting an edition
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    96
 * dirstate: track that changes are pending in a transaction
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    97
 * dirstate: distinct transaction callback from largefile
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    98
 * automv: lock the repository before searching for renames
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    99
 * dirstate: only reload the dirstate when it may have changed
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   100
 * dirstate: cleanup the `_map` property cache
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   101
 * status: invalidate dirstate  on LockError
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   102
 * dirstate: check that dirstate is clean at the initial context opening
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   103
 * dirstate: have `running_status` write the dirstate when holding the lock
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   104
 * dirstate: have `running_status` warn when exiting with a dirty dirstate
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   105
 * narrow: widden the lock context in `tracking`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   106
 * narrow: enforce that narrow spec is written within a transaction
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   107
 * transaction: no longer explicitly cache phaseroots
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   108
 * transaction: no longer explicitly cache bookmarks
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   109
 * transaction: use the standard transaction mechanism to backup branch
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   110
 * bundlerepo: handle changegroup induced phase movement in the associated method
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   111
 * bundlerepo: apply phase data stored in the bundle instead of assuming `draft`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   112
 * config-item: declare undeclared path suboption
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   113
 * narrow: read pending file when applicable
50326
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   114
 * rust: fix building on macOS (issue6801)
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   115
 * run-tests: fix a crash when using the coverage options
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   116
 * undo-files: also remove the undo.backupfiles
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   117
 * undo-files: cleanup backup when cleaning undos
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   118
 * undo-files: clean existing files up before writing new one
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   119
 * undo-files: cleanup legacy files when applicable
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   120
 * dirstate-v2: fix an incorrect handling of readdir errors
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   121
 * rust: update zstd dependency
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   122
 * rust: upgrade `rayon` dependency
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   123
 * dirstate: fix the bug in [status] dealing with committed&ignored directories
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   124
 * dirstate: fix a potential traceback when in `copy` and `rename`
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   125
 * histedit: fix diff colors
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   126
 * cext: fix for PyLong refactoring in CPython 3.12
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   127
 * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   128
 * statprof: with Python 3.12, lineno is (more) often None
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   129
 * transaction: properly clean up backup file outside of .hg/store/
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   130
 * transaction: raise on backup restoration error
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   131
 * revlog: improve the robustness of the splitting process
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   132
 * debugdeltachain: stop summing the same chain over and over
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   133
 * url: don't ignore timeout for https connections
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   134
 * py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   135
 * tests: accept a test output change in [tests/test-serve.t]
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   136
 * rust: fix thread cap (for real this time)
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   137
 * dirstate: try refreshing the changelog when parent are unknown
f14864fffdca relnotes: do 6.4
Raphaël Gomès <rgomes@octobus.net>
parents: 50272
diff changeset
   138
 * hooks: invalidate the repo after the hooks
50272
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   139
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   140
== Backwards Compatibility Changes ==
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   141
 * rust: upgrade supported Rust toolchain version
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   142
 * rust: move all crates in the main workspace to edition 2021
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   143
 * hg-core: upgrade `zstd` dependency
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   144
 * hg-core: upgrade `clap` dependency
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   145
 * hg-core: upgrade all remaining dependencies
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   146
 * hg-cpython: upgrade dependencies
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   147
 * rhg: upgrade `clap` dependency
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   148
 * rhg: upgrade the remainder of the dependencies
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   149
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   150
== Internal API Changes ==
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   151
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   152
 * Many APIs around the dirstate have been made much stricter with regards to
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   153
   locking and transaction handling
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   154
 * Some dirstate APIs have been renamed/removed
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   155
 * In both cases, you should get loud complaints in your tests if you do
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   156
   something wrong.
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   157
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   158
== Miscellaneous ==
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   159
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   160
 * pullbundle support no longer requires setting a server-side option,
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   161
   providing a .hg/pullbundles.manifest according to the syntax specified in
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   162
   'hg help -e clonebundles' is enough.
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   163
 * debug-delta-find: add a --source option
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   164
 * delta-find: add debug information about reuse of cached data
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   165
 * delta-find: set the default candidate chunk size to 10
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   166
 * attr: vendor 22.1.0
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   167
 * configitems: add a default value for "merge-tools.xxx.regappend"
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   168
 * debugrevlog: display total stored information
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   169
 * emitrevision: if we need to compute a delta on the fly, try p1 or p2 first
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   170
 * emitrevision: consider ancestors revision to emit as available base
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   171
 * find-delta: pass the cache-delta usage policy alongside the cache-delta
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   172
 * delta-find: use a smarter object for snapshot caching
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   173
 * delta-find: use sets instead of list in the snapshot cache
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   174
 * delta-find: make sure we only use newer full snapshot as candidate
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   175
 * delta-find: use a single snapshot cache when applying a group to an object
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   176
 * bundleoperation: optionnaly record the `remote` that produced the bundle
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   177
 * bundle: when forcing acceptance of incoming delta also accept snapshot
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   178
 * bundle: emit full snapshot as is, without doing a redelta
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   179
 * pathutil: slightly faster path audit in the common case
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   180
 * merge: don't pay for pathconflicts if there are none
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   181
 * merge: short-circuit the _checkfs loop upon getting ENOENT
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   182
 * merge: disable the whole filesystem access loop if [_realfs] is false
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   183
 * merge: cache the fs checks made during [_checkunknownfiles]
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   184
 * rust: use `logging_timer` instead of `micro_timer`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   185
 * rust: run `cargo clippy`
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   186
 * makefile: add `cargo clippy` to tests if cargo is available
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   187
 * heptapod-ci: add `clippy` to the CI
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   188
 * convert: use a priority queue for sorting commits, to make sorting faster
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   189
 * delta-find: adjust the default candidate group chunk size
8a65b43457ab relnotes: add 6.4 and empty next
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
   190
 * delta-find: declare the "paths..*:pulled-delta-reuse-policy option