Differences between revisions 1 and 2
Revision 1 as of 2022-02-18 15:11:53
Size: 4111
Editor: RaphaelGomes
Comment: Still writing, save point
Revision 2 as of 2022-02-18 15:24:33
Size: 4113
Editor: RaphaelGomes
Comment:
Deletions are marked like this. Additions are marked like this.
Line 58: Line 58:

This is the last release to support Python 2. Mercurial is Python 3 only starting with 6.2

Release candidate

These are the release notes for an upcoming version of Mercurial. It should be released around March 1st 2022.

Mercurial 6.1rc0

New Features

  • Added a way of specifying required extensions that prevent Mercurial from starting if they are not found. See hg help config.extensions.

  • Merge conflict markers have been made clearer (see backwards compatibility below)
  • Improve detailed error codes
  • Added a hint about mangled whitespace on bad patch
  • Explain which order the commits are presented in chistedit

  • Introduce a dirstate-tracked-hint feature to help automation keep track of changes to tracked files when using dirstate-v2. See hg help config.use-dirstate-tracked-hint.

  • Shared repositories can be upgraded if the upgrade is specific to the share. For now, this only applies to dirstate-v2.

Default Format Change

These changes affect newly created repositories (or new clones) done with Mercurial 6.1.

  • 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.

New Experimental Features

  • 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.

  • rhg supports narrow clones and sparse checkouts

Bug Fixes

  • The --no-check and --no-merge now properly overwrite the behavior from commands.update.check

  • Miscellaneous Python 3 and typing improvements
  • rhg's fallback detection is more robust in general in the presence of more advanced configs

  • rhg's blackbox now supports milliseconds by default and uses the same ISO 8601 format as the Python implementation

  • Fix rhg crash on non-generaldelta revlogs

  • The lfs, largefiles and sparse extensions now correctly take the appropriate lock before writing requirements

  • The notify extension does not produce errors anymore if a revision is not found

  • Remove unnecessary and overly strict check for divergence in hg fix

  • Windows compatibility improvements
  • Many other small or internal fixes

Backwards Compatibility Changes

  • The remotefilelog extension now requires an appropriate excludepattern for subrepositories.
  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

Internal API Changes

== Miscellaneous ==

  • Removed exchange-v2. It was a prototype that had never been in a working state and had been left untouched since 2017.

Release6.1 (last edited 2022-06-16 13:33:07 by RaphaelGomes)