Mercurial > hg
changeset 47977:4a3de491e77b stable
relnotes: add release notes for 5.9
Differential Revision: https://phab.mercurial-scm.org/D11447
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Fri, 17 Sep 2021 14:05:32 +0200 |
parents | 5b9de38a0356 |
children | bad66df931b5 |
files | relnotes/5.9 |
diffstat | 1 files changed, 86 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/relnotes/5.9 Fri Sep 17 14:05:32 2021 +0200 @@ -0,0 +1,86 @@ +== New Features == + + * `hg config` now has a `--source` option to show where each + configuration value comes from. + * Introduced a command (debug-repair-issue6533) to repair repositories affected + by issue6528 where certain files would show up as modified even if they were + clean due to an issue in the copy-tracing code. + +== Default Format Change == + +These changes affect newly created repositories (or new clone) done with +Mercurial 5.9. + + +== New Experimental Features == + + * A `changelogv2` format has been introduced. It is not ready for use yet, but + will be used later to address some of the weaknesses of the current revlog + format. + * Initial experiment and support for `dirstatev2`, a new dirstate format that + addresses some of the weaknesses of the current dirstate format. Python + C + and Rust support are being implemented, but the Rust solution is the one + currently getting the attention for performance. + * Initial support for `rhg status`. `rhg` is the Rust wrapper executable for hg + that shortcuts some commands for faster execution speed. + +== Bug Fixes == + + * Fixed a regression (in 5.9.1) introduced in 5.9 when cloning repos with + deep filenames + * Fixed detection of directories becoming symlinks, but only when using the + Rust extensions. + * Fixed ignore and include not composing in the Rust status + * `hg commit --interactive` now handles deselecting edits of a rename + * Fixed a case where `hg evolve` gives different results when interrupted + * Fixed a memory leak in phases computation + * `histedit` and `shelve` don't swallow errors when updating the working copy + anymore + * Improve error message when detecting content-divergence with a hidden + common predecessor + * No longer re-order parents in filelog, see issue6533 + * Fix revisions affected by issue6533 on the fly during exchange + * Many Windows fixes for stability and py3 compatibility improvements + * Many other miscellaneous fixes + +== Backwards Compatibility Changes == + + +== Internal API Changes == + +The Dirstate API have been updated as the previous function leaked some +internal details and did not distinguish between two important cases: "We are +changing parent and need to adjust the dirstate" and "some command is changing +which file is tracked". To clarify the situation: + +* the following functions have been deprecated, + + - `dirstate.add`, + - `dirstate.normal`, + - `dirstate.normallookup`, + - `dirstate.merge`, + - `dirstate.otherparent`, + - `dirstate.remove`, + - `dirstate.drop`, + - `dirstateitem.__getitem__`, + +* these new functions are added for the "adjusting parents" use-case: + + - `dirstate.update_file`, + - `dirstate.update_file_p1`, + +* these new function are added for the "adjusting wc file" use-case": + + - `dirstate.set_tracked`, + - `dirstate.set_untracked`, + - `dirstate.set_clean`, + - `dirstate.set_possibly_dirty`, + +See inline documentation of the new functions for details. + +* Additionally, the following have been deprecated: + - `urlutil.getpath` function + - `localrepository.updatecaches`' `full` argument + +* The following have been removed: + - `revlog.revlogio` has been removed