7411
Comment:
|
8053
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
= Mercurial 6.1.3 = '''security:''' * narrow_widen_acl: enforce narrowacl in narrow_widen (SEC) 6b10151b9621 '''normal notes:''' * censor: fix [hg update] away from a revision with censored files * amend: stop losing copies when amending * rhg: strengthen dirstate v2 writing in broken filesystems * work around some broken DLL imports in Windows * worker: adapt _blockingreader to work around a python3.8.[0-1] bug (issue6444) * rhg: correctly handle the case where diffs are encoded relative to nullrev * fix bugs and race-conditions in the Mercurial test runner * chg: ignore already closed fds when cleaning up |
This is the last release to support Python 2 and Python 3.5. Mercurial is Python 3.6+ only starting with 6.2
Mercurial 6.1.3
security:
- narrow_widen_acl: enforce narrowacl in narrow_widen (SEC) 6b10151b9621
normal notes:'
Fix debuglock not ignoring a missing lockfile when forcing a lock Improve help of ui.large-file-limit Fix cleanup of old dirstate-v2 data files when using rhg Make reference to .hg/last_message.txt relative in commit Fix an infinite hang when rhg is used in the background Add --docket flag to debugstate to check out dirstate-v2 metadata Remove debugdirstateignorepatternhash in favor of debugstate --docket
Fix Rust compilation on aarcch64 Fix Rust compilation on architectures where char is unsigned When the merge tool uses $output, don't leave markers in $local Cap the number of concurrent threads to 16 in Rust hg status to prevent huge speed regression at higher thread counts Fix amend with copies in extras Abort if commit we're trying to unamend was not created by hg [un]amend Stop relying on a compiler implementation detail in Rust HgPath
Added a way of specifying required extensions that prevent Mercurial from starting if they are not found. See hg help config.extensions. 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. 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 and dirstate-tracked-hint. When using the narrow extension, non-conflicting changes to files outside of the narrow specification can now be merged.
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.
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.
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. The --no-check and --no-merge flags now properly overwrite the behavior from commands.update.check 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
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. The fix to stream-clone requirements advertising means some requirements previously (wronly) 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. 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. 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.
Mercurial 6.1.2
Fix incorrect metadata causing dirstate-v2 data loss in edge case (dd2503a63d33) Mercurial 6.1.1
Fix unsoundness (no known exploits) in Rust extensions (see cfd270d83169 and dd6b67d5c256) Mercurial 6.1
New Features
Default Format Change
New Experimental Features
Bug Fixes
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. Backwards Compatibility Changes
Internal API Changes
Miscellaneous