annotate relnotes/6.1 @ 48875:6000f5b25c9b

py2: remove simple from __future__ statements These were needed for Python 2 support. Now that our linter no longer mandates these, we can start deleting them. Differential Revision: https://phab.mercurial-scm.org/D12254
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 03 Mar 2022 17:34:00 +0100
parents f0081a551f37
children 5bd6bcd31dd1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
3 = Mercurial 6.1rc0 =
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
4
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
5 == New Features ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
6 * 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
7 * 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
8 * Improve detailed error codes
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
9 * Added a hint about mangled whitespace on bad patch
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
10 * Explain which order the commits are presented in `chistedit`
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
11 * 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
12 * 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
13 * 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
14 * 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
15
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
16 == Default Format Change ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
17
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
18 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
19
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
20 * 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
21
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
22
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
23 == New Experimental Features ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
24 * 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
25 * `rhg` supports narrow clones and sparse checkouts.
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
26
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
27 == Bug Fixes ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
28
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
29 * '''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
30 * 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
31 * 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
32 * `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
33 * `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
34 * Fix `rhg` crash on non-generaldelta revlogs
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
35 * 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
36 * 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
37 * 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
38 * Windows compatibility improvements
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
39 * Miscellaneous Python 3 and typing improvements
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
40 * Many other small or internal fixes
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 == Backwards Compatibility Changes ==
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
43
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
44 * 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
45 * 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
46 * 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
47 * 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
48 * 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
49 * 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
50 * `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
51 * 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
52
f0081a551f37 relnotes: add 6.1
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
53 == Internal API Changes ==
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 * The dirstate API received minor modifications.
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 == Miscellaneous ==
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 * Removed exchange-v2. It was a prototype that had never been in a working state and had been left untouched since 2017.