relnotes/6.1
author Raphaël Gomès <rgomes@octobus.net>
Wed, 04 May 2022 17:45:20 +0200
branchstable
changeset 49160 4420e06c8810
parent 49006 5bd6bcd31dd1
child 49316 ce50d95cfa57
child 49364 e8ea403b1c46
permissions -rw-r--r--
relnotes: add release notes for 6.1.2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48804
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     1
'''This is the last release to support Python 2. Mercurial is Python 3 only starting with 6.2'''
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
     2
49160
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
     3
= Mercurial 6.1.2 =
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
     4
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
     5
 * Improve Windows test suite
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
     6
 * Fix `debuglock` not ignoring a missing lockfile when forcing a lock
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
     7
 * Improve help of `ui.large-file-limit`
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
     8
 * Set the large-file-limit to 10MB (from 10MiB) for clarity
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
     9
 * While rewriting desc hashes, ignore ambiguous prefix "hashes"
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    10
 * Fix a crash in partial amend with copies
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    11
 * Fix a py3 compatiblity bug
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    12
 * Fix incorrect metadata causing dirstate-v2 data loss in edge case
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    13
 * Fix cleanup of old dirstate-v2 data files when using `rhg`
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    14
 * Make reference to `.hg/last_message.txt` relative in commit
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    15
 * Fix an infinite hang when `rhg` is used in the background
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    16
 * Fix Python DLL loading bug in Windows
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    17
 * Add `--docket` flag to `debugstate` to check out dirstate-v2 metadata
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    18
 * Remove `debugdirstateignorepatternhash` in favor of `debugstate --docket`
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    19
 * Fix incorrect metadata causing systematic complete dirstate-v2 rewrite
4420e06c8810 relnotes: add release notes for 6.1.2
Raphaël Gomès <rgomes@octobus.net>
parents: 49006
diff changeset
    20
49006
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    21
= Mercurial 6.1.1 =
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    22
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    23
 * Fix Rust compilation on `aarcch64`
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    24
 * Fix Rust compilation on architectures where `char` is unsigned
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    25
 * When the merge tool uses `$output`, don't leave markers in `$local`
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    26
 * Improve test suite support on big-endian platforms
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    27
 * Cap the number of concurrent threads to 16 in Rust `hg status` to prevent huge speed regression at higher thread counts
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    28
 * Fix `amend` with copies in extras
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    29
 * Abort if commit we're trying to `unamend` was not created by `hg [un]amend`
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    30
 * Fix file name in the pullbundle help text
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    31
 * Fix an issue with data not being correctly reset in the C implementation of dirstate-v2
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    32
 * Fix issue6673 where some tags were missing from cache after a merge
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    33
 * Fix stream-cloning a repo with empty requirements
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    34
 * Fix a false warning about content-divergence creation
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    35
 * Fix silly blackbox entries when hg is interrupted
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    36
 * Fix unsoundness (no known exploits) in Rust extensions (see cfd270d83169 and dd6b67d5c256)
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    37
 * Fix Rust dirstate counters not being updated correctly leading to some potential bugs (none known)
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    38
 * Stop relying on a compiler implementation detail in Rust HgPath
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    39
5bd6bcd31dd1 relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents: 48804
diff changeset
    40
= Mercurial 6.1 =
48804
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    41
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    42
== New Features ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    43
  * Added a way of specifying required extensions that prevent Mercurial from starting if they are not found. See `hg help config.extensions`.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    44
  * Merge conflict markers have been made clearer (see backwards compatibility below)
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    45
  * Improve detailed error codes
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    46
  * Added a hint about mangled whitespace on bad patch
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    47
  * Explain which order the commits are presented in `chistedit`
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    48
  * Introduce a `dirstate-tracked-hint` feature to help automation keep track of changes to tracked files. See `hg help config.use-dirstate-tracked-hint`.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    49
  * Shared repositories can be upgraded if the upgrade is specific to the share. For now, this only applies to `dirstate-v2` and `dirstate-tracked-hint`.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    50
  * When using the `narrow` extension, non-conflicting changes to files outside of the narrow specification can now be merged.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    51
  * When cloning a repository using stream-clone, the client can now control the repository format variants to use as long as the stream content does not restrict that variant.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    52
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    53
== Default Format Change ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    54
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    55
These changes affect newly created repositories (or new clones) done with Mercurial 6.1.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    56
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    57
  * The `share-safe` format variant is now enabled by default. It makes configuration and requirements more consistent across repository and their shares. This introduces a behavior change as shares from a repository using the new format will also use their main repository's configuration. See `hg help config.format.use-share-safe` for details about the feature and the available options for auto-upgrading existing shares.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    58
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    59
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    60
== New Experimental Features ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    61
  * The pure Rust version of Mercurial called `rhg` added support for most common invocations of `hg status`. See `hg help rust.rhg` for details on how to try it out.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    62
  * `rhg` supports narrow clones and sparse checkouts.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    63
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    64
== Bug Fixes ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    65
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    66
  * '''Obsolete revisions are skipped while computing heads. In conjunction with the `evolve` extension >= 10.5.0, this leads to massive exchange (push/pull) speedups in repositories with a lot of heads and/or obsolete revisions.'''
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    67
  * Stream-clones now properly advertise all requirements needed. This can result in the stream-clone feature being disabled for some clients using < 6.0.2. A small bugfix patch for these older client is available if necessary.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    68
  * The `--no-check` and `--no-merge` flags now properly overwrite the behavior from `commands.update.check`
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    69
  * `rhg`'s fallback detection is more robust in general in the presence of more advanced configs
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    70
  * `rhg`'s `blackbox` now supports milliseconds by default and uses the same ISO 8601 format as the Python implementation
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    71
  * Fix `rhg` crash on non-generaldelta revlogs
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    72
  * The `lfs`, `largefiles` and `sparse` extensions now correctly take the appropriate lock before writing requirements 
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    73
  * The `notify` extension does not produce errors anymore if a revision is not found
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    74
  * Remove unnecessary and overly strict check for divergence in `hg fix`
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    75
  * Windows compatibility improvements
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    76
  * Miscellaneous Python 3 and typing improvements
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    77
  * Many other small or internal fixes
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    78
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    79
== Backwards Compatibility Changes ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    80
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    81
  * The use of `share-safe`, means shares (of new repositories) will also use their main repository's configuration see the `Default Format Change` section for details.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    82
  * The fix to stream-clone requirements advertising means some requirements previously (wrongly) omitted are now sent. This can confuse client using a Mercurial version < 6.0.2. The client would consider these requirements unsupported even if it actually know them. If you encounter this, either upgrade your client or apply the necessary patch.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    83
  * The labels passed to merge tools have changed slightly. Merge tools can get labels passed to them if you include `$labellocal`, `$labelbase`, and/or `$labelother` in the `merge-tool.<tool name>.args` configuration. These labels used to have some space-padding, and truncation to fit within 72 columns. Both the padding and the truncation has been removed.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    84
  * Some of the text in labels passed to merge tools has changed. For example, in conflicts while running `hg histedit`, the labels used to be "local", "base", and "histedit". They are now "already edited", "parent of current change", and "current change", respectively.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    85
  * The computation of namedbranch heads now ignores obsolete revisions. User of the Changeset Evolution feature may see a change in location and numbers of heads of each named branches (and topic).
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    86
  * The remotefilelog extension now requires an appropriate excludepattern for subrepositories.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    87
  * `debugsparse`'s interface has been reworked to be more flexible. Since it's a debug command it is not actually a breaking change, but it is worth noting here.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    88
  * Temporary files for merges are now all inside a `hgmerge` directory instead of at the root of `TMPDIR`. The corresponding experimental `mergetempdirprefix` config option has been removed.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    89
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    90
== Internal API Changes ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    91
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    92
  * The dirstate API received minor modifications.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    93
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    94
== Miscellaneous ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    95
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
    96
  * Removed exchange-v2. It was a prototype that had never been in a working state and had been left untouched since 2017.